там только маленькая корневая с утилитой uuc для mfg. mfg инициализирует DDR заголовком от убута, загружает в DDR ядро и маленькую корневую c uuc, передает управление убуту - убут запускает ядро с фс в RAM, дальше mfg находит специальное USB устройство и передает ему команды и данные из профиля. Зашивать корневую с uuc не надо - mfg записвыает ее в RAM
В материалах для платы mfgtool идет с ядром которое слинковано с этой маленькой корневой (uImage_safe), ему отдельно загружать ее в рам не нужно, в этом отличие от "штатного" профиля NXP
еще там использовался u-boot.bin а не u-boot.imx, разница вроде только в том что у u-uboot.bin впереди еще 1024 байт (2 сектора) добавлено, если старый mfg нормально грузит u-boot.imx то можно просто не обращать внимания на эту разницу
Единственный файл rootfs.cpio.uboot, весит довольно таки много(в моем случае 230 мб, собирал на основе основной сборки, не было времени минимальный конфиг заново собрать, после распаковки весит около 400 мб, так что по идее должен поместится и чуток должно остаться, надежда была что хоть что то заведется, но нет.
Изменил скрипт на
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot_mfg.bin" >Loading U-boot</CMD>
<CMD state="BootStrap" type="load" file="uImage_safe" address="0x10800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
<CMD state="BootStrap" type="load" file="rootfs.cpio.uboot" address="0x10C00000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
Ничего к сожалению не происходит. Прям вообще ничего, доходит до Jumping to OS image и все, в терминале ничего. Взял из примера для i.MX6Solo/DL-ARM2-SPI-NOR
На данный момент остановился на шаге pipe tar -xzvf -C /mnt. До этого шага все работает, монтируется и пишется. А на этом шаге все останавливается и не меняется. Пробовал совсем маленькие файлы (для теста). Еще, ваш комплект файлов при работе пишет в консоль UTP: received command и подобные сообщения, мой же вариант пишет только utp_poll: pass returned, при этом команды (до pipe tar) выполняет. Подскажите пожалуйста, если конечно есть идеи, из-за чего pipe tar не работает?
Все получилось, tar который из busybox не умел распаковывать .gz и вместо ошибки просто молчал. Дальше, есть дисплей подключенный по lvds, разрешение 1024х768, выставляю в меню fb0 mode LDB-XGA, для fb1 делаю тоже самое, беру файлики imx6ds-oem.dtb, rootfs.tar.gz и u-boot-nand.imx заливаю на плату, но ничего не вижу на экране, хотя в консоли вроде все хорошо. Я правильно понял как настраивать lvds?
наверно правильно но есть нюанс - нужно пересобирать u-boot скриптом после изменения в меню
ПРИМЕЧАНИЕ: если вы изменили параметры в подменю
Bootloaders --->
после сборки корневой системы, нужно пересобрать загрузчик. Для этого в корне есть скрипт - он удаляет собранные исходники загрузчика и пересобирает его с "нуля" - распаковывает из архива.