更新嵌入式内核

时间:2014-12-18 10:51:57

标签: kernel u-boot

我有一个使用u-boot(1.1.5)启动Linux内核(3.9)的系统。 当内核uImage使用u-boot和tftp闪存时,一切运行良好。我尝试使用以下命令在内核提示符中更新内核:

flash_eraseall /dev/mtd2
nandwrite -p /dev/mtd2 /uImage
reboot

选定的分区是可以的。重新启动u-boot时会显示消息:

Loading from NAND 512MiB 3,3V 8-bit, offset 0x200000
   Image Name:   Linux-3.9.0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1897760 Bytes =  1.8 MB
   Load Address: 20008000
   Entry Point:  20008000
NAND read from offset 3c0000 failed 0
** Read error
Wrong Image Format for bootm command
ERROR: can't get kernel image!

mtd2从0x200000开始。我怎么能解决这个问题。

1 个答案:

答案 0 :(得分:1)

取消从内核启动,以便最终进入U-boot。进入后,尝试:

# setenv bootargs root=/dev/mtd2 (or root=/dev/mtdblock2);
# setenv bootcmd 'bootm 0x200000 (or 0xc0200000)'

*请注意,除了根据您的要求设置的其他环境变量外,还设置了上述两个环境变量。