内核启动参数cmdline详解

1、cmdline介绍

cmdline是uboot引导内核启动时传递给内核的,作用是指导内核启动。内核启动阶段会去解析cmdline,并根据cmdline去指导内核启动。

2、cmdline格式简介

(1)格式就是由很多个项目用空格隔开依次排列,每个项目中都是项目名=项目值; (2)整个cmdline会被内核启动时解析,解析成一个一个的项目名=项目值的字符串。这些字符串又会被再次解析从而影响启动过程。

3、mdline常用参数

例如:mem=1408M console=ttyS0,115200 root=/dev/mmcblk0p7 rootfstype=squashfs mtdparts=xxx (1)mem= 用来告诉内核当前系统的内存有多少; (2)console= 指定控制台使用的串口已经波特率; (3)root= 根文件系统的位置,比如上面就是指定根文件系统在mmcblk0p7分区,内核挂载根文件系统时会用到; 根文件系统也可以通过nfs远程挂载: root=/dev/nfs nfsroot=192.168.1.141:/root/s3c2440/build_rootfs/aston_rootfs ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off (4)rootfstype= 指明文件系统的格式和权限; (5)mtdparts= 指明存储设备的分区情况; 如:mtdparts=nand0:0x140000@0x000000(param),4m(uboot),2m(env),49408k(romfs),2m(custom),25m(web),2m(logo),512k(dgs),31m(ext_usr),2m(config_fw),-(config)

4、uboot向内核传递cmdline

uboot是通过在启动内核时,向内核传递tag参数,其中就包括cmdline。具体见博客:。

5、内核解析cmdline

5.1、内核解析tag参数

参考博客:。

5.2、内核解析cmdline参数

参考博客:。
经验分享 程序员 微信小程序 职场和发展