系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例)
本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544
开发环境搭建
1、安装交叉编译工具链
安装步骤:
1. 在ubuntu的家目录(~)下,创建toolchain
mkdir toolchain
2. 拷贝gcc-4.9.4.tar.xz到toolchain目录下
(gcc-4.9.4.tar.xz文件在文章开头的链接获取)
3. 解压缩交叉编译工具链
tar -vxf gcc-4.9.4.tar.xz
4. 配置环境变量
sudo vi /etc/bash.bashrc
在最后一行添加以下内容:
export PATH=$PATH:/home/hq/toolchain/gcc-4.9.4/bin/
注意:红色加粗部分改为你自己的用户名
5. 使环境变量立即生效
source /etc/bash.bashrc
2、配置tftp服务
(1)检查Ubuntu是否安装tftp服务
sudo dpkg -s tftpd-hpa
打印以下内容表示安装了tftp服务,此时跳过第二步直接看第三步配置tftp:
Architecture: i386
Source: tftp-hpa
Version: 5.2-7ubuntu3.1
(2)安装tftp服务
sudo apt-get update 更新源
sudo apt-get install -f 更新依赖
sudo apt-get install tftpd-hpa tftp-hpa 下载安装指令
(3)配置tftp服务
1. 在家目录下创建一个tftpboot文件夹
mkdir tftpboot
目的:tftpboot目录下存放的是你要下载到开发板上的可执行文件
2. 修改tftpboot的权限
sudo chmod 777 tftpboot
3. 配置tftp服务的环境变量
sudo vi /etc/default/tftpd-hpa
修改以下内容:
1 # /etc/default/tftpd-hpa
2
3 TFTP_USERNAME="tftp" tftp用户名,不需要修改
4 TFTP_DIRECTORY="/home/hq/tftpboot"tftp服务下载文件的存放的路径,需要修改改成自己的对应的tftpboot的路径(将hq改为自己的用户名即可)
5 TFTP_ADDRESS="0.0.0.0:69"tftp服务默认使用的69端口号
6 TFTP_OPTIONS="-c -s -l" tftp服务的参数,这个需要修改
4. 重启tftp服务
sudo service tftpd-hpa start 启动TFTP服务
sudo service tftpd-hpa restart 重启TFTP服务
3、配置nfs服务
(1)检查nfs服务是否安装
如果已安装,跳过第二步看第三步
dpkg -s nfs-kernel-server
(2)安装nfs服务
sudo apt-get install nfs-kernel-server
(3)配置nfs服务
1. 在家目录下创建nfs文件夹
mkdir nfs
2. 修改文件权限
chmod 777 nfs
3. 拷贝根文件系统镜像到nfs目录下
根文件系统文件:rootfs-A53-ok.tar.xz(文件在文章开头的链接获取)
4. 对根文件系统的压缩包进行解压缩
cd ~/nfs
tar -vxf rootfs-A53-ok.tar.xz
5. 配置 nfs服务的环境变量
sudo vi /etc/exports
在文件的最后一行添加以下内容:
/home/hq/nfs/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)
// 还是将hq改成自己的用户名即可
6. 重启nfs服务
sudo service nfs-kernel-server start 启动nfs服务
sudo service nfs-kernel-server restart 重启nfs服务
4、配置Windows、linux、开发板处于同一局域网
注意配置时关闭Windows防火墙,退出杀毒软件

(1)配置Windows的网络及ip地址




设置固定IP

(2)配置linux的网络ip


左上角 虚拟机->设置

设置固定IP:

(3)配置开发板ip
配置开发板网络:uboot指令设置环境变量的值
setenv ipaddr 192.168.1.99 //设置开发板ip
setenv netmask 255.255.255.0 //掩码
setenv gatewayip 192.168.1.1 //网关
setenv serverip 192.168.1.66 //服务器地址,填linux的ip
saveenv //保存
系统移植
思路
uboot镜像---------->Flashlinux内核镜像------>Flash
根文件系统镜像----->Flash
先将镜像使用tftp下载到内存,
再从内存中搬移到flash中,
启动时,再从flash中搬移到内存,
再从内存中启动
移植步骤
0、通过SD卡的方式启动uboot,进入FS6818界面
1、将三段镜像代码放到tftpboot文件中
cp /mnt/hgfs/share/ubootpak.bin /home/hq/tftpboot
cp /mnt/hgfs/share/uImage /home/hq/tftpboot
cp /mnt/hgfs/share/ramdisk.img /home/hq/tftpboot
修改文件权限为最大:
chmod 777 ubootpak.bin
chmod 777 uImage
chmod 777 ramdisk.img
2、移植uboot
tftp 0x48000000 ubootpak.binupdate_mmc 2 2ndboot 0x48000000 0x200 0x78000
3、移植内核镜像ulmage和radisk.img
tftp 0x48000000 uImage
mmc write 0x48000000 0x800 0x4000
tftp 0x48000000 ramdisk.img
mmc write 0x48000000 0x20800 0x20800
4、设置 bootcmd命令,从flash中启动系统
setenv bootcmd mmc read 0x48000000 0x800 0x4000\;mmc read 0x49000000 0x20800 0x20800\;bootm 0x48000000 0x49000000saveenv
5、设置 自启动的参数 bootargs
setenv bootargs root=/dev/ram rw initrd=0x49000040,0x1000000 rootfstype=ext4 init=/linuxrc console=ttySAC0,115200saveenv
设置好了上电重启,完成启动。
相关文章:
系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例) 本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544 开发环境搭建 1、安装交叉编译工具链 安装步骤: 1. 在ubuntu的家目录(~)下,创建t…...
超长正整数的加法
一、引言 在计算机科学中,整数加法是一个基础且重要的操作。然而,当面对超长正整数(即超出计算机内置整数类型表示范围的整数)时,传统的整数加法方法便不再适用。超长正整数通常使用字符串或数组来表示,每…...
C++ - 查找算法 和 其他 算法
目录 一. 查找算法: 1.顺序查找: 2.二分查找: 二. 其他算法: 1.遍历算法: 2.求和、求平均值等聚合算法。 a.求和算法: b.求平均值算法: 一. 查找算法: 1.顺序查找࿱…...
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式在 Qt 4 及早期版本中广泛使用,但这种方法确实存在一些缺点,主要包括以下几点: 类型安全性缺失:由于 SIGNAL 和 SLOT 宏接受的是字符串参…...
Kali linux学习入门
Kali linux学习入门 文章目录 Kali linux学习入门Kali Linux简介Kali Linux工具篇Kali Docker安装Docker 更换国内镜像源Kali 安装 docker compose Kali Linux文档篇Kali Linux 社区篇 Kali Linux简介 Kali Linux是专门用于渗透测试linux操作系统,它由BackTrack发展…...
selenium中,怎么判断是否已选多选框
html文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><p>测试勾选</p><div><input type"checkbox" name"b…...
WindowManager相关容器类
窗口中容器类介绍: 本节内容较多,建议结合前面的内容一起阅读: 1、addWindow的宏观概念 2、WindowManager#addView_1 3、WindowManager#addView_2 1)、WindowContainer: class WindowContainer<E extends WindowC…...
零售行业运营有哪些业务场景?详解各业务场景的分析指标和维度
在当今这个数字化迅速发展的时代,零售行业正经历着前所未有的变革。传统的零售模式正在被新兴的技术和创新的业务场景所颠覆,消费者的需求和购物习惯也在不断地演变。零售行业的运营,作为连接消费者、产品和市场的关键环节,对于零…...
无锡哲讯携手SAP,赋能装备制造业数字化转型
在当今快速发展的工业4.0时代,装备制造业作为国民经济的重要支柱,正面临着前所未有的机遇与挑战。无锡哲讯智能科技有限公司凭借其深厚的行业经验和专业的SAP实施能力,为装备制造业提供全面的数字化解决方案,助力企业实现智能化、…...
TPM仿真环境搭建
文章目录 背景及注意事项一、CMake二、m4三、GNU MP Library四、TPM_Emulator五、TSS协议栈(trousers-0.3.14.tar.gz)六、 tpm-tools七、查看是否安装成功八、测试 TPM环境(需要开三个终端分别运行)8.1 启动TPM (第一个…...
提高篇(五):使用Processing创作互动艺术:从灵感到实现
提高篇(五):使用Processing创作互动艺术:从灵感到实现 引言 互动艺术将观众从被动的观察者转变为主动参与者,通过创意编程和技术手段,让艺术品具备感知和回应的能力。Processing作为一种强大的创意编程工具,提供了丰富的功能和灵活的编程环境,帮助艺术家和设计师实现他…...
华为od-C卷100分题目-3用连续自然数之和来表达整数
华为od-C卷100分题目-3用连续自然数之和来表达整数 题目描述 一个整数可以由连续的自然数之和来表示给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式 输入描述 一个目标整数T(1<T<1000) 输出描述 该整数的所有表达…...
Chrome 自动执行 JS 脚本 | Tampermonkey 插件
文章目录 第 1 步:安装插件 Tampermonkey第 2 步:固定到工具栏第 3 步:在网站上启用 Tampermonkey第 4 步:查看效果第 5 步:调试 JS 代码😂 背景:有个网站,每次进去都要点 3 次才能把相关页面展开。而且,页面经常会自己刷新,导致展开的页面又收回去了。【这一天天的…...
ffmplay 源码解读
stream_open 讲解 // 定义一个静态函数用于初始化并返回VideoState结构体指针,用于管理播放状态 static VideoState* stream_open(const char* filename, AVInputFormat* iformat) {VideoState* is; // 创建VideoState结构体指针// 分配内存并初始化VideoState结构…...
java web如何调用py脚本文件
Controller public class IndexController {RequestMapping("/pythonTest")ResponseBodypublic String pythonTest(){// 假设你的Python脚本名为script.pyString pythonScriptPath "D:\\project\\c1\\hello.py";ProcessBuilder processBuilder new Proce…...
K8s:无状态
无状态服务 无状态服务是指服务的实例之间没有持久化状态,每个实例都是相同的,可以互换使用。 调度器 ReplicationController 简称 RC是 Kubernetes 早期版本中用来确保 Pod 副本始终运行的 API 对象。它通过监控 Pod 副本的数量,确保任何…...
Docker 入门篇(九)-- 使用 Maven 插件 构建 Docker 镜像
在这篇教程中,我们将学习如何使用 Maven 插件为 Spring Boot 应用构建 Docker 镜像。我们将使用 spring-boot-maven-plugin 和 dockerfile-maven-plugin 这两个插件。 一、前提条件 已安装 Docker。已安装 JDK 8 或以上版本。已安装 Maven。 二 创建一个 Spring …...
网络协议三
数据中心 一、DNS 现在网站的数目非常多,常用的网站就有二三十个,如果全部用 IP 地址进行访问,恐怕很难记住 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址 …...
LeetCode LRU缓存
题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,…...
Parallels Desktop for Mac 19.4.0更新了哪些内容?有什么改进?
带来了重新设计的共享 Mac 文件夹版本,这些文件夹现在是符号链接,像指针一样指向您的 Mac 文件夹中的文件,同时仍然显示在 Windows 的本地磁盘上。 修复了由于共享文件夹问题导致 NinjaTrader 无法正常启动的问题。 修复了由于共享文件夹问…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
