系统移植开发阶段部署

开发阶段部署阶段
uboot镜像(ubootpak.bin) : flash/SD
linux内核镜像(uImage) : tftp下载
根文件系统(rootfs) : nfs挂载

本文操作需要用到uboot命令进行镜像搬移和根文件系统挂载
uboot中常用到的命令可以看这个链接

1、启动uboot,进入uboot的交互界面

2、使用tftp命令下载uImage内核镜像到内存中。

下载之前需要将uImage的镜像拷贝到tftpboot目录下。
tftp 0x48000000 uImage

3、设置uboot的自启动参数:bootargs

bootargs:自启动的环境变量
linux内核启动之后,会从uboot的环境变量的分区,
读取bootargs环境变量的参数。
<特比特别重要, 面试中会经常问到>

setenv bootargs root=/dev/nfs nfsroot=192.168.1.222:/home/hqyj/nfs/rootfs rw console=/dev/ttySAC0,115200 init=/linuxrc ip=192.168.1.250

saveenv

解析:
root=/dev/nfs : 使用NFS网络文件系统
nfsroot=192.168.1.222:/home/hqyj/nfs/rootfs
: 根文件系统所在的路径(修改为自己)
rw:读写权限
console=/dev/ttySAC0,115200:串口,和串口的波特率
init=/linuxrc:内核启动之后运行的1号进程
ip=192.168.1.250:开发板的IP地址(修改为自己)

<只需要设置一次>

ubuntu系统是16.04 64位:
setenv bootargs root=/dev/nfs nfsroot=192.168.1.250:/home/hqyj/nfs/rootfs v4,tcp rw console=/dev/ttySAC0,115200 init=/linuxrc ip=192.168.1.222

ubuntu系统是18.04以上 64位:
setenv bootargs root=/dev/nfs nfsroot=192.168.1.250:/home/hqyj/nfs/rootfs v4,tcp rw console=/dev/ttySAC0,115200 init=/linuxrc ip=192.168.1.222

ubuntu系统是18.04以上版本需要修改ubuntu中的配置文件:
参考文档:
https://www.jianshu.com/p/10e3245f15f3?tdsourcetag=s_pctim_aiomsg

4、启动内核

bootm 0x48000000 : 启动内核的命令

切记:不可以使用go命令启动内核

5> 观察现象

内核是否启动成功,根文件系统是否挂载成功。

6、配置开发板的系统为自启动的模式

借助uboot中的环境变量:bootcmd—》自启动的命令
uboot启动之后,在倒计时减到0之前按任意键,会进入uboot的交互模式。

在倒计时减到0之前,不按任意键,会进入自启动模式,
模式会依次执行bootcmd环境变量后边的命令。

setenv bootcmd uboot命令1 \; uboot命令2\; …

setenv bootcmd tftp 48000000 uImage\;bootm 48000000
saveenv

在uboot的交互界面执行boot命令也会自动执行bootcmd环境变量后边的命令。

7、总结:根文件系统挂载不成功的原因

1)、检查nfs安装和配置是否正确
2)、重启nfs服务
sudo service nfs-kernel-server restart
3)、检查bootargs参数设置是否正确

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值