1. Чем делается образ rootfs ?
2. Если rootfs будет на карте SD, то в uboot должна быть включена поддержка SD карт или она нужна только в линуксе?
3. Указав параметр загрузки для ядра что то типа root=/dev/mmcblk0p1 этим я подключу rootfs с карты?
1) -
2) В u-boot должна быть включена поддержка mmc.
3) Этим вы укажите ядру где искать, и если в ядре все правильно настроено, то оно тогда подключит rootfs.
PS Пример работы с SD, описано как подготовить и как записать ядро и rootfs.
PS2 В google много инфы, ключевое слово boot kernel from SD card, или rootfs SD card.
Ну да я начитался всего.. Но все равно не ясно.. Линукс я гружу с tftp а rootfs хочу чтоб с карты брал.. Зачем тогда в uboot поддержка mmc?
И вроде в busybox есть утилита switch_root...
Извините, невнимательно вопрос прочитал. в таком виде u-boot поддержка mmc не нужна, НО с другой стороны она много места не займет, а Вы думаю не все время ядро по сети грузить будете.
Для создания RootFS нужен BustBox, Buildroot или внимательно изучить сайт производителя процессора. Уважающие себя производители предоставляют готовые tar архив или ramdisk в котором есть все что нужно для работы Linux (библиотеки, скрипты инициализации и т.п и т.р.). Можно поискать на сайте Angstrom.
mkfs утилита для создания файловой системы нужного типа (jffs2, ext2, ext3 и т.д.) из папки в которую Вы распакуете tar архив, или примантируете ramdisk.
Куча вариантов. От неправильных скриптов в init до банального отсутствия прав доступа у ядра к одному из файлов.
Посмотритетут в разделе Configure the New Target Root File System. Там описано что стартует и кого вызывает init. Сравните команды там и у себя.
PS
А с логом загрузки возможно можно сузить круг подозреваемых.