Я тоже считаю, что спецядро для пупиподобного дистра - оптимальный вариант
Но здесь мы разбираем другой вариант. Если удастся в несколько строк решить - такой функционал не помешает
Еще мне эта задача интересна с точки зрения более глубокого понимания работы линукса
Причем почему-то загруженные в инитрд модули остаются в итоговой системе
Это элементарно. Ядро и его модули остаются в итоговой системе потому что switch-root меняет корень системы, но не ядро.
Выгрузить все модули, которые выгрузятся перед chroot
Зачем?
Чтобы после полной загрузки системы ненужные модули не болтались в памяти
В pra-porteus-initrd есть хитрый трюк для cryptsetup - временно монтируется 000-kernel
Если скрипт от Бари рабочий - тут его можно и применить. Тогда pra-porteus-initrd останется универсальным и ядронезависимым
Трюк с несколькими инитрд работает в grub2 и grub4dos
Посмотрел скрипт - главное там:
MODALIASES="`cat /sys/bus/pci/devices/*/modalias`" #important, save to variable before loop.
for ONEMODALIAS in $MODALIASES
do
modprobe -v $ONEMODALIAS #-v means verbose.
[ $? -eq 0 ] && echo -n "." > /dev/console
done
Посмотрел modalias - там что-то малопохожее на название модуля pci:v00008086d00000C00sv00001043sd00008534bc06sc00i00
но modprobe ошибок не выдает. Надо пробовать...
initrd-mj44+a.xz не находит модули дистрибутива, жалуется на неподдерживаемое загрузочное устройство.
PRA64. manj44 + pra-porteus-initrd (загрузка с hdd etx4)
А у Вас
hdd etx4 ? И initrd
/%d%/initrd.xz /%d%/initrd-mj44+a.xz ?
Значит пока или повторить на своем железе:
Делал так:
Загрузился с UIRD, переписал загруженные модули, почистив список руками от специфики моего железа
Сделал Initrd с этими модулями ядра и depmod
Подсунул портеусу
или ждать результатов экспериментов с прочими идеями из этой темы