6

Я работаю над быстрой встроенной системой Linux на плате DM816x evm. Ранее я использовал TFTP и NFS для загрузки своего ядра и корневой файловой системы на плату. Я сейчас пытаюсь переключиться на загрузку всего с SD-карты.

Моя карта разделена так, что uBoot и мой образ ядра находятся в одном разделе, а моя rootFS - в другом разделе. При включении Uboot запускается правильно и успешно запускает ядро. Однако ядро не может смонтировать корневую файловую систему. Похоже, что он не распознает SD (MMC) карты. Это дает это сообщение об ошибке.

VFS: Cannot open root device "mmcblk0p2" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00             256 mtdblock0  (driver?)
1f01               8 mtdblock1  (driver?)
1f02            2560 mtdblock2  (driver?)
1f03            1272 mtdblock3  (driver?)
1f04            2432 mtdblock4  (driver?)
1f05             128 mtdblock5  (driver?)
1f06            4352 mtdblock6  (driver?)
1f07          204928 mtdblock7  (driver?)
1f08           50304 mtdblock8  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Я чувствую, что мне здесь не хватает чего-то фундаментального. Почему он не распознает корневое устройство, с которого я пытаюсь загрузить?

Вот мой загрузочный скрипт uBoot, который выполняется:

setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw mem=124M earlyprink vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd;mmc init;fatload mmc 1 0x80009000 uImage;bootm 0x80009000

2 ответа2

5

Я вижу, что некоторые примеры строк bootarg от EVM DM816x имеют rootdelay = 2 до rootdelay = 10. Так как он отсутствует в ваших бутаргах, начиная с нижнего конца 2, было бы неплохо посмотреть, нужно ли вам немного времени, чтобы устройство mmc подключилось к сети.

2

Да, драйвер корневой файловой системы должен быть встроен в ядро, а не в модуль. Причина в том, что модули загружаются из корневой файловой системы. Перекомпиляция ядра не такая уж большая проблема. Первые пару раз это сложно, но это определенно не то, что может понять только хакер ядра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .