Linux启动方式设置(bootargs 和 bootcmd 环境变量)

bootargs

bootargs 保存着 uboot 传递给 Linux 内核的参数。
bootargs 环境变量设置:
EMMC 启动:setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

参数含义
console=ttymxc0设置 linux 终端,串口 1 的设备文件是/dev/ttymxc0
115200设置串口的波特率
root=/dev/mmcblk1p2根文件系统存放在 mmcblk1 设备的分区 2 ,即EMMC 的分区 2 。/dev/mmcblkx(x=0~n)表示 mmc 设备,而/dev/mmcblkxpy(x=0~n,y=1~n)表示 mmc 设备 x 的分区 y
rootwait表示等待 mmc 设备初始化完成以后再挂载,否则的话 mmc 设备还没初始化完成就挂载根文件系统会出错的。
rw表示根文件系统是可以读写的,不加 rw 的话可能无法在根文件系统中进行写操作,只能进行读操作。

网络启动:setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.137.18:/home/pjw/linux/nfs/rootfs,proto=tcp rw ip=192.168.137.20:192.168.137.18:192.168.1.1:255.255.255.0::eth0:off'

参数含义
console=ttymxc0设置 linux 终端,串口 1 的设备文件是/dev/ttymxc0
115200设置串口的波特率
root=/dev/nfs根文件系统存放在 nfs 挂载目录
nfsroot=192.168.137.18:/home/pjw/linux/nfs/rootfs服务器 IP 地址:根文件系统存放路径
proto=tcp rw使用 TCP 协议
rw表示挂载的根文件系统是可以读写的
ip=192.168.137.20客户端 IP 地址
192.168.137.18:192.168.1.1:255.255.255.0服务器 IP 地址,网关地址,子网掩码
eth0设备名
off自动配置,一般不使用,所以设置为 off。

bootcmd

bootcmd 保存着 uboot 默认命令。
bootcmd 环境变量设置:
EMMC 启动:setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;'
网络启动:setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;'

参数含义
mmc dev 1切换到 EMMC
fatload mmc 1:1 0x80800000 zImage读取 zImage 到 0x80800000 处
fatload mmc 1:1 0x83000000 imx6ull-14x14-evk.dtb读取设备树到 0x83000000 处
bootz 0x80800000 - 0x83000000启动 Linux

TFTP服务开启与使用
uboot 中网络环境变量设置

从 EMMC 启动根文件系统:

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
saveenv

从网络启动根文件系统:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.137.18:/home/pjw/linux/nfs/rootfs,proto=tcp rw ip=192.168.137.20:192.168.137.18:192.168.1.1:255.255.255.0::eth0:off'
saveenv

从 EMMC 启动 Linux 系统:

ls mmc 1:1 //检查一下 EMMC 的分区 1 中有没有 zImage 文件和设备树文件

setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;'
saveenv

从网络启动 Linux 系统(使用TFTP文件夹中的镜像文件 zImage 和设备树):

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'
saveenv
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值