uboot启动Linux配置及方式
一、从 EMMC 启动 Linux 系统1、将zImage 文件和设备树文件烧录到EMMC中2、使用以下检查一下 EMMC 的分区 1 中有没有zImage 文件和设备树文件。ls mmc 1:13、设置环境变量环境变量bootcmd:1、bootcmd 保存着 uboot 默认命令,uboot 倒计时结束以后就会执行 bootcmd 中的命令。2、板子第一...
·
一、从 EMMC 启动 Linux 系统
1、将zImage 文件和设备树文件烧录到EMMC中
2、使用以下检查一下 EMMC 的分区 1 中有没有 zImage 文件和设备树文件。
ls mmc 1:1
3、设置环境变量
环境变量bootcmd:1、bootcmd 保存着 uboot 默认命令, uboot 倒计时结束以后就会执行 bootcmd 中的命令。2、板子第一次运行 uboot 的时候都会使用默认值来设置 bootcmd 环境变量。环境变量默认值在文件 include/env_default.h 中。比如 bootcmd 的 默 认 值 就 是 CONFIG_BOOTCOMMAND , bootargs 的 默 认 值 就 是 CONFIG_BOOTARGS 。我们可以在 mx6ull_alientek_emmc.h 文件中通过设置宏 CONFIG_BOOTCOMMAND 来 设 置 bootcmd 的默认值。环境变量 bootargs :1、 bootargs 保存着 uboot 传递给 Linux 内核的参数。
- 设置环境变量bootargs
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
- console=ttymxc0,115200:设置ttymxc0(串口1)作为Linux的终端,串口波特率为115200
- root=/dev/mmcblk1p2 :用于指明根文件系统存放在mmcblk1 设备的分区 2 中
- rootwait :表示等待 mmc 设备初始化完成以后再挂载文件系统
- rw :表示根文件系统是可以读写的
- 设置环境变量bootcmd
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 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
- 保存环境变量
saveenv
4、启动 Linux 内核
设置好以后直接输入 boot,或者 run bootcmd 即可启动 Linux 内核。
二、从 网络 启动 Linux 系统
1、在tftp文件夹里面放入 zImage 文件和设备树文件
2、使用 chmod 命令给文件权限
3、使用以下命令设置环境变量
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz
80800000 - 83000000'
saveenv
上面是使用了已经烧录到EMMC的跟文件系统。如果要使用NFS挂载根文件系统就需要修改 环境变量bootargs 的值。
root=/dev/nfs rw nfsroot=192.168.1.41:/home/pjw/linux/nfs/rootfs ip=192.168.1.42:
192.168.1.41:192.168.1.1:255.255.255.0::eth0:off
- 192.168.1.41:/home/pjw/linux/nfs/rootfs:服务器IP地址 及 根文件系统存放路径。
- ip=192.168.1.42:客户端(设备)IP地址
- 192.168.1.41:服务器IP地址
- 192.168.1.1:网关地址
- 255.255.255.0:子网掩码
- eth0:网卡名
- off:关闭自动配置
4、启动 Linux 内核
设置好以后直接输入 boot,或者 run bootcmd 即可启动 Linux 内核。
更多推荐
已为社区贡献7条内容
所有评论(0)