Cmdline常用参数
格式简介
就是console=ttySAC2,115200 root=/dev/mmcblock0p2 rw init=/linuxrc rootstypes=ext3
就是这样的由很多个项目用空格隔开依次排列,每个项目中都是项目名等于 项目值
整个cmdline会被我们内核启动时解析,解析成一个一个的项目名 项目值的字符串
这些字符串又会被再次解析从而影响我们的启动过程
root= 这是用来指定跟文件系统的位置
一般的格式是root=/dev/xxx
rootfstype= 这个是用来指定跟文件系统的类型的 一般是jffs2 yaffs2 ext3 ubi
console= 这个是我们的控制台的信息的声明,譬如我们console=/dev/ttySAC0,115200
这个表示我们控制台使用串口0,而且波特率是115200。正常的情况下我们在内核的启动的时候会根据console这个项目来初始化硬件,并且重定位console到具体的一个串口上,所以这里的传参会影响后续是否能从串口终端上接受到内核的信息
mm= 用来告诉我们内核当前系统的内存有多少。
Init= 用来指定我们的进程1的程序名称和路径,这个一般都是init=/linuxrc
常用的cmdline有两种
一种就是console=ttySAC2,115200 root=/dev/mmcblock0p2 rw init=/linuxrc rootstypes=ext3
这一种对应我们的rootfs在存储介质中启动
第二种就是root=/dev/nfs rw nfsroot=192.168.0.1:/home/zht/rfsys nfsaddrs=192.168.0.48: 192.168.0.1:192.168.0.1:255.255.255.0 console=ttyS0,115200 mem=32M
其中root=/dev/nfs,并非真的设备,而是一个告诉内核经由网络取得根文件系统的旗标。
参数nfsroot这个参数告诉内核以那一台机器,那个目录以及那个网络文件系统选项作为根文件系统使用。参数的格式如下:
192.168.0.48表示自己的ip地址 192.168.0.1这个表示服务器的IP地址,192.168.0.1这个表示网关 255.255.255.0这个表示子网掩码。这种对于我们调试的时候用这种