bootcmd和bootargs
作者:互联网
1. bootcmd
uboot上电启动后会自动倒数bootdelay秒,如果没有人按下回车打断启动,则uboot会自动执行bootcmd启动命令来启动内核。
这个参数包含了一些命令,这些命令将在u-boot进入主循环后执行。
示例:
bootcmd=boot_logo;nand read 1000000 3c0000 300000;bootm 1000000
意思是启动u-boot后,执行boot_logo显示logo信息,然后从nand flash中读内核映像到内存,然后启动内核。
2. bootargs
linux内核启动时可以接收uboot给他传递的启动参数,这些启动参数是uboot和内核约定好的形式、内容,linux内核在这些启动参数的指导下完成启动过程。这样的设计是为了灵活,为了内核在不重新编译的情况下可以用不同的方式启动。而我们要做的事情就是:在uboot的环境变量中设置bootargs,然后bootm命令启动内核时会自动将bootargs传给内核。
举个例子:bootargs="console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3"
意义解释:
console=ttySAC2,115200 控制台使用串口2,波特率115200.
root=/dev/mmcblk0p2 rw 根文件系统在SD卡端口0设备(比如 iNand)第2分区,根文件系统是可读可写的
init=/linuxrc linux的进程1(init进程)的路径
rootfstype=ext3 根文件系统的类型是ext3
Note,
1. 如果uboot的bootargs设置了,kernel的Boot options中的Default kernel command string设置与否,都不启作用。
2. 如果uboot的bootargs未设置的话,kernel就以Boot options中的Default kernel command string的设置进行启动。
标签:kernel,uboot,启动,内核,bootcmd,bootargs 来源: https://blog.csdn.net/u012247418/article/details/110839807