Если Вы увидели приглашение shell, а не сообщение о панике ядра - то rootfs у Вас все же загружена... Откуда она взялась можно гадать... Осталась от предыдущей загрузки, загрузилась из dataflash при запуске uboot, а Вы просто не заметили... Чудес не бывает... Одного ядра мало, 100%...
Не понял как связаны mmc и ethernet кабель.... mmc чудно форматируется, пишется и т.п. через стандартный кард-ридер за 200 руб... А кабель все-равно какой... У micrel'а auto-MDI/MDIX, он сам найдет верные пары в кабеле и переключится, если это нужно...
Бывают :) Название этому чуду initramfs. Сжатый образ фс слинкован с ядром и представляют они единый файл. Очень удобно. Хотя это уже лирическое отступления а вообще в вашем случае repairman прав - ядро ничего само не копирует, этим занимается загрузчик и образ каким то образом все попал в то место где его ищет ядро.
Загрузилась как обычно как просто плату воткнуть в ком порт и включить ничего не делая.
Я предположил что команда bootm позволяет загружать rootfs с датафлэш по умолчанию, но потом попробовал грузить u-boot'ом свою rootfs (я доюбавил туда несколько бинарников), значит если бы u-boot грузил дефолтную rotfs то своих добавленных бинарников я бы не увидел.
А про mmc и кабель, я к тому что через кабель всё грузить в оперативку, чтоб флэшку не перетыкать.
Текущая кофигурация платы сейчас подразумевает некую автономность... если эта автономность не нужна, то можно все построить совсем по другому... например, с NFS загружатся... без возни с mmc, dataflash, rootfs и пр.
При попытке подключения ethernet кабеля к плате и загрузке u-boot'ом пишет No link. Кабель у меня патч и видимо сетевуха на ноутбуке не умеет определять автоматом назначение проводков, либо кабель дохлый... При подключении сетевого кабеля от локальной сети плата начинает весело моргать лампочками а при подключении к ноуту ни ноут ни плата не реагириует
Я не парился по этому поводу - купил метр кабеля, два наконечника rj-45, зашел на пинаутс.ру, с одной стороны проводки запихал по левой схеме с другой по правой :) взял плоскую отвертку тонкую и аккуратно надавил на каждую из ламелей - получил нуль-хаб :)
Попробовал в конфиге ядра поставить
root=/dev/sda1 rw console=ttyS0, 115200 mem=32M
и
root=/dev/mmcblk0p1 rw console=ttyS0, 115200 mem=32M
Плата вывалилась в кернел паник
VFS: Cannot open root device "sda1"or unknown-block(2,0)
Видимо в ядре где то нужно включить поддержу драйвера at91_mci, по дефолту он грузится как модуль с файловой системы, значит и загрузиться не может раз он на файловой системе. Не могли бы вы подсказать куда копать, я полагаю его линковать с ядром?
Да - его нужно линковать статически. Об этом уже много раз тут говорили... Хотя если вы про sda1 - это usb flash - для нее at91_mci не нужен. Вообще с учетом этого http://www.starterkit.ru/new/index.php?name=Forums&op=showtopic&id=223#1
это можно делать смело - раньше нужно было делать подгружаемым модулем для определения sd/mmc.
Да я и mmc и usb пробовал, везде вываливается с ошибкой аналогичной. Если с mmc понятно что она не должна загрузиться то с usb не очень, видимо где то какой то скрипт надо подправить, автомонтирования чтоли, что то такое мне кажется.
Смотри лог загрузки ядра, если устройство и/или раздел с которого будешь грузится не найдены - значит не хватает драйверов в ядре, иначе - проблема в rootfs...
Обнаружение ядром SD/MMC с верной файловой системой и назначением раздела p1 - выглядит как-то так:
Обнаружение USB флешки - как-то так:
Иногда требуется задержка монтирования rootfs. Например, через параметр ядру rootdelay=5 .... заставляет ядро делать паузу 5 секунд перед монтированием rootfs... мне это еще не понадобилось....
В первом случае как рут ядру нужно указать /dev/mmcblk0p1, во втором /dev/sda1
Эксперименты с rootfs очень удобно проводить в QEMU...