本文主要是介绍Rockchip Uboot CmdLine 作用 来源 常用参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Rockchip Uboot CmdLine
- cmdline 是 U-Boot 向 kernel 传递参数的一个重要手段,诸如传递启动存储,设备状态等。
- cmdline 参数有多个来源,由 U-Boot 进行拼接、过滤重复数据之后再传给 kernel。
- U-Boot 阶段的 cmdline 被保存在 bootargs 环境变量中。
- U-Boot 最终是通过修改 kernel DTB 里的 /chosen/bootargs 实现 cmdline 传递。
CmdLine 数据来源
-
kernel dts 的 /chosen/bootargs,例如:
chosen {bootargs = "earlyprintk=uart8250,mmio32,0xff30000 swiotlb=1" };
-
U-Boot:根据当前运行的状态,U-Boot 会动态追加一些内容到 cmdline。
CmdLine 参数说明
- console:指定控制台设备,通常为串口设备,比如 console=ttyFIQ0,1500000n8;
- earlycon:在串口节点未建立之前,指定串口及其配置,比如 earlycon=uart8250,mmio32,0xff570000,115200n8;
- root:指定根文件系统所在的设备,可以是 SD 卡、NFS、USB、分区UUID 等,比如 root=/dev/mmcblk0p1,root=PARTUUID=614e0000;
- ro/rw:以 只读/读写 的方式挂载文件系统;
- rootwait:用于文件系统不能立即可用的情况,例如 emmc 初始化未完成并且无该参数,则会导致挂在失败,有该参数,则可以等待 driver 加载完成后,再从存储设备中挂载文件系统;
- init:指定init程序的路径,通常为/sbin/init;
- quiet/silent:禁止内核输出冗长的启动信息,减少启动时的日志输出;
- loglevel:指定内核消息的日志级别,可选值为0-7,数值越大,输出的日志信息越详细;
- debug:开启内核的调试模式,输出更多的调试信息;
- mem:指定系统可用的物理内存大小,可以限制内核使用的内存量;
- maxcpus:指定系统中最大的CPU数量,可以限制内核使用的CPU数量;
- sdfwupdate:sd 升级卡标志;
- skip_initramfs:kernel 不使用 uboot 加载的 ramdisk,而使用 rootfs(system) 里的ramdisk;
- storagemedia:存储启动类型;
- 更多参数可以参考内核文档
Documentation/admin-guide/kernel-parameters.txt
。
这篇关于Rockchip Uboot CmdLine 作用 来源 常用参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!