Перейти к содержанию
    

zImage и uImage

Сконвертировал ядро 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 тоже. Вопрос спортивного интереса :) Интересны советы как диагностировать ошибку.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"uncompressing done" говорит что uncompressed crc совпала, дальше нужно разбираться с ядром - можно gdb'ой его, можно каким-то jtag отладчиком. это все конечно при условии, что железо ведет себя адекватно. обычно, в случае custom SBC, путают с ld скриптами и/или memory regions

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сконвертировал ядро 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 тоже. Вопрос спортивного интереса :) Интересны советы как диагностировать ошибку.

 

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

Укажите в параметрах коммандной строки установку консоли аля console=ttyS0,115200

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

разве у него есть uncompressed crc - вроде есть crc заголовка и crc данных, он просто проверяет образ нормальный в источнике а потом разворачивает его.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

раворачивает сам и по результату возвращенному собственным inflate() запускает ядро или пишет "GUNZIP ERROR". Контрольная сумма - adler32, проверяется при распаковке всех полученных данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

параметры консоли были конечно выставлены. Забавно но вопрос так и не решился-) Повторю вопрос чистого интереса как это можно отладить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Повторю вопрос чистого интереса как это можно отладить

 

Собираете ядро с включенными опциями отладки и дебаг инфо.

Запускаете 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)

Уже намного понятнее, чем просто молчание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может параметры неправильные у mkimage?

Если указать в PATH путь до каталога с mkimage, то можно собирать ядро Linux коммандой make uImage и оно создаст этот образ, и параметры правильные запишет самостоятельно, исключая возможность ошибки... Таким методом - проблем еще не встречал. Может поможет... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня была такая же фигня недавно с ядром 2.6.34, мудохался долго - так и не выяснил в чем дело. Но при переходе на ядро 2.6.27 ядро начало загружаться. Новое ядро пока было отложено в сторонку, где будет дожидаться судного дня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня такое было при неправильном конфигурировании ядра : патчи были наложены, а .config был старый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...