![Использовать initrd в качестве корневой файловой системы для сетевой загрузки](https://rvso.com/image/1303055/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20initrd%20%D0%B2%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%20%D0%BA%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8.png)
Я создаю автономный набор образов 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).
Теперь у меня вопрос: с чего начать искать решение этой проблемы? Думаю, я неправильно настроил образ ядра, но не знаю, какие настройки можно изменить, чтобы это заработало.