Доработал porteus-initrd для работы с любым AUFS ядром.
Пример Добавил в начало
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko" 2>/dev/null | sed 's/.ko//g'`; do modprobe `basename $x` 2>/dev
for x in `find /lib/modules/$(uname -r)/kernel -name "*.ko.gz" 2>/dev/null | sed 's/.ko.gz//g'`; do modprobe `basename $x`
1.
Методика сборки porteus-initrd в любом arch:1.0. Подключить mkinitcpio-0.11.2-lf.pfs в PRA и скопировать нужные модули ядра
1.1. inirtd-edit initrd.xz (из аттача ;где initrd.xz- porteus-initrd
1.2. mkinitcpio -k ver -g initrd.gz ;где ver: версия нужного ядра (в формате `uname -r`)
В mkinitcpio.conf достаточно
HOOKS=" pata sata usb"
MODULES="vfat ext4 iso9660 aufs squashfs"
1.3. inirtd-edit initrd.gz
1.4. cp -R initrd-tree-gz/usr/lib/modules initrd-tree-xz/lib
1.5.
depmod -b initrd-tree-xz ver1.6. inirtd-edit initrd-tree-xz
2.
Методика сборки porteus-initrd в любом линукс:1.1 (то же что выше)
2.2.1 Используя средства сборки initrd Вашего дистра (или универсальные типа dracut) собрать
initrd под нужное ядро с параметрами модулей аналогичными HOOKS MODULES из 1.2
Без aufs squashfs гарантировано не получится.
aufs можно скомпилить,
вдохновясь 2.2.2 Можно просто взять initrd нужного дистра, но там может не оказаться нужного и много ненужного
2.2.3 Можно взять весь /lib/modules. Будет долго загружаться
В итоге получаем initrd.gz (lz bz узнать что имено утилитой file )
1.3 - 1.6
1. - проверенный вариант
2.2.1 для опытных
2.2.2 для везучих
2.2.3 для невезучих
Попутно нашел ошибку в оригинале
#value() { egrep -o " $1=[^ ]+" /proc/cmdline | cut -d= -f2; }
value() { egrep -o "(^| )$1=[^ ]+" /proc/cmdline | cut -d= -f2; } #sfs
Изящнее конечно было бы переделать в hook для mkinitcpio, но пока лень
Полученные initrd дистронезависимы. Сборка не в арче возможна (mkinitcpio - bash скрипт), но не тестировалась
Ядра с модулями.gz лучше распаковать (в mc удобно : поиск *.gz + выделить+f2 +распаковать ). pfs получится на треть меньше
Вживление в дистрибутив140113 3.
dracut методика сборки porteus-initrd в любом линукс:3.1.
Установить dracut в любой линукс
3.2. Скопировать модули нужного ядра в /lib/modules
3.3. porteus-d (в аттаче) ,где k=версия нужного ядра
3.4. в menu.lst :
initrd /%d%/initrd.xz /%d%/полученный.xz . В grub2 и grub4dos можно слоить
initrd.xz - из аттача
Собрать 2->1: cat /%d%/полученный.xz /%d%/initrd.xz >/%d%/initrd2.xz