Я пытался создать загрузочный диск (что-то вроде live-cd), который загружается только в память без монтирования диска. Мои действия перечислены ниже, но когда я загружаюсь с компакт-диска, я получаю:
Kernel Panic - not syncing: VFS: unable to mount root fs on unknown-block (9,1)
Вот что я делаю для создания загрузочного диска:
Создайте ramdisk с помощью инструмента mkinitrd, затем распакуйте:
mkinitrd myrd $ (uname -r)
mkdir myrdroot && cd myrdroot
dd if = .. / myrd bs = 1k | gunzip | cpio -id
Git избавьтесь от nash, init (сценарий nash) и modprobe (символическая ссылка на nash)
rm -f init bin / nash bin / modprobe
Установите busybox (Busybox - это конфигурация по умолчанию, за исключением статической связи). Busybox создаст linuxrc и sbin / init в myrd.
pushd ~ / busybox
сделать CONFIG_ROOT = / path / to / myrd install
popd
перегруппировать inird:
найти . | cpio -n -o | gzip -9> ../myrd.img
Затем этот ramdisk используется с ISOLINUX на компакт-диске. Я копирую ядро, соответствующее $ (uname -r), и настраиваю ISOLINUX для загрузки ядра с RAM-диска.
Похоже, проблема связана с форматом архива CPIO. Когда я создаю рамдиск в формате ext2 / gzip, он работает.