Здравствуйте.
Понадобилось пересобрать ядро после изменения настроек IOMUX. Настройки изменил, пытаюсь собирать ядро скриптами build.sh и build_with_nand_rootfs. Все вроде проходит нормально, но на выходе получаю образ размером 9.2 МБ! Исходный образ (uImage, который лежал в папке user/tftp) занимал всего 2 МБ. Т.е. почему-то у меня всегда собирается образ для safe-mode, который содержит в себе rootfs. Естественно, при попытке загрузиться через u-boot->run tftp_boot я получаю работающую систему, но с чистой минимальной FS. А настоящая FS оказывается примонтированной к /mnt/nand.
Как сделать нормальный образ?
Спасибо.
UPD. после непонятных манипуляций и подстановки конфига sk_imx535_nandboot_defconfig образ стал нормальным, но в нем не работает CAN. При обращении пишет "Cannot find device "can0"". В menuconfig'е в разделе Networking support соответствующие пункты отмечены.
UPD2. Проблема решилась заменой буквы M на * в пункте FlexCAN. Правда, почему-то с первого раза она не ставилась.
т.е. а вас CAN собирался драйвером (*.ko) и не подгружался в системе - или файл не перенесся в рутовую или просто не скомпилировался
в зависимости, от того как прописано в местном Kconfig - пункт меню может выбираться в последовательности [ ]->[M]->[*]
где:
первое - отключено
второе - сборка отдельныи модулем
третье - встроенно в ядро
Кстати, в инструкции к плате (Manual_SK-iMX53_V3) написано, что для пересборки системы надо запускать build.sh. При этом в нем используется конфиг imx5_updater_defconfig, который лично у меня вообще не собирался, как не собирался и imx5_defconfig. Собрать получилось только через build_with_nand_rootfs и menuconfig_nand, который в мануале назван menuconfig.sh.
Еще странная нелогичная система с переписыванием содержимого .config в /arch/arm/configs/xxx_defconfig после завершения программы настройки. Раз он называется defconfig, логично предположить, что он хранит только настройки по умолчанию - ан нет, туда пишутся все последние изменения. И в случае чего к настройкам по умолчанию уже не вернуться.
такое, к сожалению, иногда бывает..
после отладки генерится мануал с одними именами скриптов, потом скрипт меняет название, а в мане нет..
китов много, скриптов еще больше - за всем сложно уследить..
у меня привычка выработалась - смотреть содержимое критичных скриптов перед запуском..
хм.. даже не знаю, что сказать..
в моем понимании, механика такая:
берем исходники ядра, говорим
make bla-bla_defconfig
этим все настройки сбрасываются под bla-bla_defconfig
после make menuconfig конфигурация прописывается в .config
если .config уже существовал, то он копируется в .config.old
но чтобы затирать _defconfig.. такого не должно быть в принципе, имхо..
ЗЫ между make и bla-bla необходимо добавить ARCH= и CROSS_COMPILE= - у меня это в настройках шелла..
понятно, что это все не проблема для тех, кто уже в теме. Просто я делал это первый раз и из-за такой фигни потратил несколько лишних часов, чтобы во всем разобраться.
может несколько жестоко звучит, но, имхо, так к лучшему..
я сам стремлюсь и тут регулярно советую - помимо заводских бинарников надо самому пройти всю цепочку генерации (из исходников) файлов системы..
смысл очень простой - приобретется навык по модификации системы под свои нужды и задачи..
видимо, остался отладочный вариант сборочного скрипта, нигде такого не встречал..