Добрый день. Я в данный момент бьюсь над задачей собрать андройд под плату IMX6D-SODIMM. Сейчас я столкнулся со следующей проблемой: во время прошивки платы через MFGTool ядро не загружается и выдает мне следующую ошибку:
U-Boot 2013.10 (Aug 06 2014 - 15:39:57)
CPU: Freescale i.MX6Q rev1.5 at 792 MHz
Reset cause: WDOG
Board: Starterkit
DRAM: 1 GiB
Setup enet clock OK
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Using default environment
In: serial
Out: serial
Err: serial
Net: FEC
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 10800000 ...
Image Name: Linux-4.1.15-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8537992 Bytes = 8.1 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x00000eb9).
Available machine support:
ID (hex) NAME
ffffffff Generic DT based system
Please check your kernel config and/or bootloader.
Насколько я понимаю, проблема в том, что загрузчик не может найти соответствующий dtb-файл.
Можете меня проконсультировать по этому вопросу? U-Boot ищет dtb-файл по имени или по определенному адресу в памяти? Где в его исходниках я должен прописать правильные значения? Или я копаю не в ту сторону и все проблемы кроются в ядре? Заранее спасибо.
Откройте ucl2.xml у MFGTools и редактируйте сценарий действий как требуется, ну а еще проще - прочтите мануал на виртуалку 3.10.17, там описано как прошивать emmc "новыми" версиями ядер.
MFGTools я в целом освоил, осталось только понять "как требуется".
Тот который Manual_imx6_VBM.pdf ? Я по простоте душевной до этого скачал тот мануал и ту виртуалку, в названии которых была строчка SODIMM. Спасибо за совет попробую.
Андройд я собираю по мануалам от NXP. а вот загрузчик для MFGTools (поскольку даже самый близкий NXPшный IMX6Q-sabre на стартерките заводиться отказывался) я собрал из исходников на виртуалке. Я понимаю, что вопрос супер-дурацкий, но насколько критично расхождение версий загрузчика и ядра?
Поясните - какую версию портируете и почему у вас не соотвтетсвуют версии загрузчика и ядра - читать мануалы и шить можно чем угодно но работать ничего не будет
если вы используете старый убут то он вообще о DTB ничего не знает.
ничего критичного - просто работать не будет. Для 4.1.15 загрузчик есть тут
1 Загрузчик править не надо но надо взять тот который работает с версией 4.1.15 из буилдрута
2 Сделать diff ядра 4.1.15 и перенсти его на андроидное ядро которое можно найти тут