bootcmd和bootargs參數

u-boot的環境參數中有兩個和內核啓動相關的,它們是bootcmd和bootargs

1.u-boot中和環境參數有關的命令

       printenv:打印當前環境參數

       setenv param_name "value":設置環境參數

       saveenv:保存環境參數到FLASH

2.bootcmd:

這個參數包含了一些命令,這些命令將在u-boot進入主循環後執行

示例:

       bootcmd=boot_logo;nand read 10000003c0000 300000;bootm 1000000

       意思是啓動u-boot後,執行boot_logo顯示logo信息,然後從nand flash中讀內核映像到內存,然後啓動內核。

3.bootargs

這個參數設置要傳遞給內核的信息,主要用來告訴內核分區信息和根文件系統所在的分區。

示例:

       root=/dev/mtdblock5 rootfstype=jffs2console=ttyS0,115200 mem=35M mtdparts=nand.0:3840k(u-boot),4096k(kernel),123136k(filesystem)

       其中:

       root=/dev/mtdblock5 表示根文件系統在第五分區

       rootfstype=jffs2 表示根文件系統的類型是jffs2

       console=ttyS0,115200 表示終端爲ttyS0,串口波特率爲115200

       mem=35M 表示內存大小爲35M

       mtdparts告訴內核MTD分區情況,它在內核目錄/drivers/mtd/cmdlinepart.c文件中有介紹:

* The format for the command line is as follows:

 *

 * mtdparts=<mtddef>[;<mtddef]

 * <mtddef>  := <mtd-id>:<partdef>[,<partdef>]

 *              where <mtd-id> is the name from the "cat /proc/mtd" command

 * <partdef> := <size>[@offset][<name>][ro][lk]

 * <mtd-id>  := unique name used in mapping driver/device (mtd->name)

 * <size>    := standard linux memsize OR "-" to denote all remaining space

 * <name>    := '(' NAME ')'

 *

 * Examples:

 *

 * 1 NOR Flash, with 1 single writable partition:

 * edb7312-nor:-

 *

 * 1 NOR Flash with 2 partitions, 1 NAND with one

 * edb7312-nor:256k(ARMboot)ro,-(root);edb7312-nand:-(home)

 */

關於mtd-id,每個FLASH都不一樣,實際上我覺得和當前FLASH的驅動有關係,在內核啓動後會打印相關的分區信息,裏面會有相關FLASH的mtd-id。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章