Научился собирать свое ядро, пробовал его на инекоторых готовых файловых системах - работает. Попробовал собрать свою rootfs buildroot-ом, действовал в целом по вики , но собрал buildroot.2010.5 , а не снапшот, в отношении аппаратной платформы в конфиге вроде выставил все правильно. Собралось - не работает.
Описание кернел паника ничего особо не дает, так как по гуглу такое случается в огромном числе разных случаев, насколько я понял все сводится к правильной сборке buildroot)).
Да, кстати, фс я формировал как tar.gz и распаковывал на MMC.
Я заметил , что /sbin/init в результирующей ФС сделано символической ссылкой на busybox, не может ли это быть основной причиной?, просто в ФС от дебиана, которую я пробовал, он был сделан отдельным бинарником. Как это изменить в конфиге buildroot я не нашел.
Вообще неожиданно проблема разрешилась, но буду рад если смогут пояснить причину. Так как я не очень разобрался в чем была ошибка.
Теперь я просто решил собрать ядро в рамках сборки всего Buildroot-а, поправив конфиги+стандартные изменения частоты и т.д. в output/build/linux ,до этого собирал его вообще отдельно. И оно загрузило rootfs. Странно..
хм.. тему билдрута тут неоднократно обсуждали, имеет смысл полистать/почитать..
могу предположить, что при повторной сборке "что-то где-то" обновилось/прописалось. на моей практике и такое случалось, да и просто отказывалось собираться - лечилось полным сносом и пересборкой. Систему Buildroot обновляют/дописывают/переписывают, т.ч. возможны любые закидоны :)
еще бывает ситуация, когда ядро собрано с опцией EABI, а корневая от билдрута с OABI (или наоборот)..
еще как вариант отказа в загрузке опция rootwait. в каких то случаях ядро считает что накопитель готов и пытается загрузить корневую а из накопителя идут неправильные данные -> kernel panic.
можно попробовать опцию rootdelay=XX (где XX число секунд ожидания готовности). у меня стоит 10 для CF over USB и ставлю 15 для HDD over USB..