兩者都是uboot的環境變量,
一,bootcmd
作用:在啓動uboot後,uboot會執行bootcmd命令。
舉例:setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
sf probe 0;片選命令,這裏選中第0片flash。
sf read 0x82000000 0x100000 0x400000;從flash地址0x100000處讀取長度爲0x400000的內容,拷貝至內存的0x82000000地址。
bootm 0x82000000;從0x82000000啓動,這裏存放的是kernel鏡像,意思是啓動kernel。
二,bootargs
作用:傳給kernel的環境變量。
舉例:setenv bootargs 'mem=511M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs);hinand:436M(nand_ro),40M(nand_rw1),20M(nand_rw2) '
mem=511M 系統內存分配511MB。
console=ttyAMA0,115200 ttyAMA0指定硬件串口名稱,115200,波特率。
root=/dev/mtdblock2 root所在分區,對應下面的11M(rootfs)。
rootfstype=jffs2 rootfs的文件系統類型
hi_sfc:1M(boot),4M(kernel),11M(rootfs);nor flash分成3個區。
hinand:436M(nand_ro),40M(nand_rw1),20M(nand_rw2) ;nand flash分成3個區。
這裏我們把boot,kernel,rootfs鏡像文件存儲在nor flash的3個分區裏。
kernel啓動後,會從bootargs裏得知分區,文件系統類型,串口等信息。