Использовать initrd в качестве корневой файловой системы для сетевой загрузки

Использовать initrd в качестве корневой файловой системы для сетевой загрузки

Я создаю автономный набор образов netboot на основе установки LinuxFromScratch (7.0, ядро ​​3.1.0). Я хочу развернуть этот образ на многих бездисковых клиентах, но NFS в моей ситуации не вариант. Корневая файловая система была урезана до образа ext2 размером 350 МБ без сжатия (с 7% свободного места).

Я попытался загрузить ядро ​​по сети с помощью PXELINUX, передав корневую файловую систему (root.img) как initrd, используя эту конфигурацию PXELINUX:

label pxeboot
  kernel /bzImage
  append rw root=/dev/ram0 ramdisk_size=512000 initrd=/root.img

Однако Linux паникует с сообщением "no filesystem could mount root, tried: ext3 ext2 iso9660 udf". Это самое близкое, что я смог получить, если я изменю параметр root=, я получаю панику, сообщающую мне, что не удалось найти корневое устройство. (no filesystem звучит ближе к моей цели, чем no device).

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

Связанный контент