Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: zImage и uImage
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
pernatui
Сконвертировал ядро zImage в uImage c помощью mkimage
./mkimage -C none -A arm -O linux -T kernel -a 80008000 -e 80008000 -n imageName -d zImage uImage
В результате в u-boot загрузка дальше Uncompressing Linux...........................................................................
......................................... done, booting the ke.

не проходит. В чем может быть проблема? Пересобрать полностью ядро под uImage могу, и поставить redboot тоже. Вопрос спортивного интереса smile.gif Интересны советы как диагностировать ошибку.

Заранее спасибо
Harbour
"uncompressing done" говорит что uncompressed crc совпала, дальше нужно разбираться с ядром - можно gdb'ой его, можно каким-то jtag отладчиком. это все конечно при условии, что железо ведет себя адекватно. обычно, в случае custom SBC, путают с ld скриптами и/или memory regions
S_agent
Цитата(pernatui @ Oct 26 2008, 16:45) *
Сконвертировал ядро zImage в uImage c помощью mkimage
./mkimage -C none -A arm -O linux -T kernel -a 80008000 -e 80008000 -n imageName -d zImage uImage
В результате в u-boot загрузка дальше Uncompressing Linux...........................................................................
......................................... done, booting the ke.

не проходит. В чем может быть проблема? Пересобрать полностью ядро под uImage могу, и поставить redboot тоже. Вопрос спортивного интереса smile.gif Интересны советы как диагностировать ошибку.

Заранее спасибо

Укажите в параметрах коммандной строки установку консоли аля console=ttyS0,115200
dch
разве у него есть uncompressed crc - вроде есть crc заголовка и crc данных, он просто проверяет образ нормальный в источнике а потом разворачивает его.
Harbour
раворачивает сам и по результату возвращенному собственным inflate() запускает ядро или пишет "GUNZIP ERROR". Контрольная сумма - adler32, проверяется при распаковке всех полученных данных.
pernatui
параметры консоли были конечно выставлены. Забавно но вопрос так и не решился-) Повторю вопрос чистого интереса как это можно отладить
yaghtn
Цитата(pernatui @ Nov 6 2008, 15:20) *
Повторю вопрос чистого интереса как это можно отладить


Собираете ядро с включенными опциями отладки и дебаг инфо.
Запускаете gdb, собранный для используемой платформы,
коннект к таргету, запуск бутлоадера и ядра.
Таргет молчит, в gdb шлёте Ctrl+c, указываете "file vmlinux" - ELF-файл ядра

У меня, например, было так:
Код
Reading symbols from /home/user/src/linux-2.6.25/vmlinux...done.
Current language:  auto; currently asm
(gdb) f
#0  __delay () at arch/arm/lib/delay.S:61
(gdb) disas
Dump of assembler code for function __delay:
0xc010ea7c <__delay+0>: subs    r0, r0, #1    ; 0x1
0xc010ea80 <__delay+4>: bhi     0xc010ea7c <__delay>
0xc010ea84 <__delay+8>: mov     pc, lr
End of assembler dump.
(gdb) set $pc=0xc010ea84
(gdb) s
panic (fmt=0xc024c3ac "VFS: Unable to mount root fs on %s") at kernel/panic.c:138
Current language:  auto; currently c
(gdb)

Уже намного понятнее, чем просто молчание.
AVR
Может параметры неправильные у mkimage?
Если указать в PATH путь до каталога с mkimage, то можно собирать ядро Linux коммандой make uImage и оно создаст этот образ, и параметры правильные запишет самостоятельно, исключая возможность ошибки... Таким методом - проблем еще не встречал. Может поможет... smile.gif
cyberr_bob
У меня была такая же фигня недавно с ядром 2.6.34, мудохался долго - так и не выяснил в чем дело. Но при переходе на ядро 2.6.27 ядро начало загружаться. Новое ядро пока было отложено в сторонку, где будет дожидаться судного дня.
Arischenko Ivan
У меня такое было при неправильном конфигурировании ядра : патчи были наложены, а .config был старый.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.