本文主要是介绍uboot移植之环境变量bootargs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一. 简介
uboot 中有两个非常重要的环境变量 bootcmd 和 bootargs。本文来学习 uboot的环境变量 bootargs。
bootargs 环境变量也叫命令行参数。bootargs 保存着 uboot 传递给 Linux 内核的参数。
二. uboot移植之环境变量bootargs
环境变量 bootargs 的设置是在 mx6ull_alientek_nand.h文件中。
mx6ull_alientek_nand.h文件所在目录:Uboot源码的根目录下 include/configs
如果是 NAND-Flash版的开发板,则 bootargs参数值如下设置:
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \"panel=TFT43AB\0" \"fdt_addr=0x83000000\0" \"fdt_high=0xffffffff\0" \"console=ttymxc0\0" \"bootargs=console=ttymxc0,115200 ubi.mtd=4 " \"root=ubi0:rootfs rootfstype=ubifs " \CONFIG_BOOTARGS_CMA_SIZE \"mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\"bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\"nand read ${fdt_addr} 0x5000000 0x100000;"\"bootz ${loadaddr} - ${fdt_addr}\0"
下面对上面的 bootargs环境变量值进行分析。
环境变量 bootargs值如下:
"bootargs=console=ttymxc0,115200 ubi.mtd=4 " \"root=ubi0:rootfs rootfstype=ubifs " \CONFIG_BOOTARGS_CMA_SIZE \"mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\
CONFIG_BOOTARGS_CMA_SIZE 宏为空,如下:
#define CONFIG_BOOTARGS_CMA_SIZE ""
环境变量 bootargs最终展开为:
"bootargs=console=ttymxc0,115200 ubi.mtd=4 " \
"root=ubi0:rootfs rootfstype=ubifs " \
"mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\
mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)
bootargs 环境变量主要设置两个参数: console,root与 rootfstype。
(1) console
(2) root
Linux系统启动以后,会有一个根文件系统的概念。这个根文件系统也就是 root。
这里根文件系统的位置是 "ubi0:rootfs "。
(3) rootfstype
这篇关于uboot移植之环境变量bootargs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!