2014-12-18 6 views
0

У меня есть система, которая запускает Linux-ядро (3.9) с помощью u-boot (1.1.5). Все работает хорошо, когда ядра 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

Отмена загрузки с ядра, чтобы вы попали в U-boot. Однажды, попробуйте:

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

* Обратите внимание выше двух переменных среды в дополнение к другим, которые будут установлены в соответствии с вашими требованиями.

+0

Ниже приведена часть моей конфигурации: bootcmd = nboot 0x21400000 0 0x200000; bootm bootargs = mem = 64M noinitrd root = dev/mtdblock3 rw rootfstype = jffs2 rootfilesystem сохраняется на mtd3. Проблема возникает в nandwrite. Я проверил изображения писателя, если я обновляю u-boot sere, некоторые биты отличаются от оригинального uImage. (Это начинается правильно) Если я использую nandwrite, изображение будет сбрасываться в память без этих битов. (сбой запуска). –

Смежные вопросы