bootargs=root=/dev/ram rw initrd="0x308000",6000000 console="ttyS0",115200 mem="64M"
而内核启动显示如下:
Kernel command line: root="/dev/hda1" ro init="/bin/bash" console="ttySAC0"
说明U-BOOT并没有设置bootargs到参数里去。
再查看U-BOOT的include/configs/yangchu2410.h文件,发现没有定义如下:
#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1
而#define CONFIG_CMDLINE_TAG 1是在传递cmdline时候必须设置的,所以在include/configs/yangchu2410.h文件中添加如上定义。
定义之后,重新编译U-BOOT,烧写到NAND FLASH中,启动板子。
再跑上面编译的2.6.20.3linux,内核启动信息中显示的参数信息和U-BOOT中设置的一致了。
设置U-BOOT的bootargs:noinitrd root="/dev/mtdblock/2" console="ttyS0" mac="00:01:5d:68:7a:0f",再跑阳初光盘带的linxu内核,往下看到兴奋的字眼了:
YANGCHU2410 # bootm 30008000

