реклама на сайте
подробности

 
 
> initramfs "не уходит", не происходит переход на действующйю файловую систему
Dubov
сообщение Oct 1 2014, 16:36
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Задача: сделать так, чтобы ядро при загрузке увидело раздел /dev/mmcblk0p1, смонтировало его как корневую файловую систему.

С наскока такое сделать не получилось. Если писать в строке параметров загрузки "root=/dev/mmcblk0p1", то ядро ругается так:

VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)



Понимаю, что нужно как-то смонтировать mmc-карту(иначе /dev/mmcblk0p1 просто не появится) перед тем как запускать инициализацию файловой системы. Узнал, что для этого используется initramfs. Тут я совсем новичок.
Включил в ядре поддержку initramfs:

CONFIG_INITRAMFS_SOURCE="./initramfs-list-min"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
# CONFIG_INITRAMFS_IS_LARGE is not set
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_LZO is not set
CONFIG_INITRAMFS_COMPRESSION_NONE=y

в файле "initramfs-list-min" по мимо всего прочего создал ноду /dev/mmcblk0p1 и /dev/mmcblk0

После запуска, ядро нашло /dev/mmcblk0p1 и даже стало ждать присоединения карты, если в строке загрузке написать rootwait. Ну, думаю, нашлась корневая файловая система...
Но, после успешной загрузки ядра и входа в систему, я понял, что в корневой файловой системе присутствует толкьо тот минимум папок, что был в initramfs, а всё многообразие полноценной файловой системы на mmc система просто проигнорировала как корневую файловую систему, при это ниразу не ругнувшись.
Выходит просто root=/dev/mmcblk0p1 не достатачно для загрузки рутовой с mmc.
Как именно должно происходить монтирование полноценной файловой системы после initramfs?

Сообщение отредактировал Dubov - Oct 1 2014, 17:57
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
krux
сообщение Oct 1 2014, 18:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
c PINMUX всё впорядке. карточка же определяется, запис/чтение идёт нормально.

это не аргумент.
на ките например помимо разъёма для SD ещё распаяна микросхема eMMC.
У нас человек очень сильно удивлялся, когда обнаружил что при выставленной загрузке с SD-шки u-boot и ядро грузились те самые, а в качестве rootfs цеплялся не раздел с карточки, а раздел с распаянной микросхемы.
"И куда это делись мои файлы??? я же их только что туда записал!!1 с компа же всё правильно видно, вот они"

нумерация в u-boot и нумерация устройств в linux совпадать не обязаны.


Цитата
exec switch_root /mnt/root /sbin/init

тогда уж лучше сразу man chroot, но перед этим у вас должен быть смонтирован раздел /dev/mmcblk0p1 или какой он там.
а судя по
Цитата
VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0)

он у вас не монтируется. вот с этим и надо разбираться в первую очередь.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 14:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016