bootargs 的参数有很多,而且随着 kernel 的发展会出现一些新的参数,使得设置会更加灵活多样1。除了我之前介绍的 root、console、earlyprintk 和 loglevel 之外,还有以下一些常用的参数:
init: 用来指定内核启动后执行的第一个程序,比如 init=/linuxrc 表示执行 /linuxrc 程序1。
mem: 用来指定内核使用的内存大小,比如 mem=64M 表示使用 64M 的内存1。
ip: 用来指定网络相关的参数,比如 ip=192.168.0.2::192.168.0.1:255.255.255.0::eth0:on 表示设置 IP 地址、网关、子网掩码和网络设备1。
video: 用来指定显示相关的参数,比如 video=omapfb:vram:2M,vram:4M 表示设置显存大小2。
bootargs 的参数还有以下一些1:
mtdparts: 用来指定 flash 的分区情况,比如 mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) 表示使用 hi_sfc 和 hinand 两个设备,并且分别指定了各自的分区大小和名称2。
mmz: 用来指定内存管理区域,比如 mmz=ddr,0,0,300M 表示使用 ddr 设备,并且从地址 0 开始,分配 300M 的内存空间2。
panic: 用来指定内核发生崩溃时的行为,比如 panic=10 表示在内核崩溃后等待 10 秒后重启3。
quiet: 用来减少内核启动时的打印信息,只显示重要的错误信息3。
bootargs 的参数还有以下一些1:
console: 用来指定使用的串口设备和波特率,比如 console=ttyPS0,115200 表示使用 ttyPS0 设备,并且设置波特率为 11520023。
earlyprintk: 用来打印早期启动信息,比如 earlyprintk 表示打印内核解压缩和设备树加载等信息2。
rootfstype: 用来指定 rootfs 的文件系统类型,比如 rootfstype=yaffs2 表示使用 yaffs2 文件系统2。
initrd: 用来指定使用 ramdisk 启动系统时的 ramdisk 镜像文件,比如 initrd=0x80000000,8M 表示从地址 0x80000000 开始,加载大小为 8M 的 ramdisk 镜像文件2。