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的設置進行啟動。
?
?
總結
以上是生活随笔為你收集整理的bootcmd和bootargs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux kernel defconf
- 下一篇: 早报:三星S23系列最全爆料 2023春