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的设置进行启动。

 

 

上一篇:python-Stomp.py如何从侦听器返回消息


下一篇:javascript-使用rabbitmq stomp发送protobuf(二进制)数据