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,linux,c语言)