Initrd bearbeiten

Initrd ist die initiale Verzeichnisstruktur die vom Kernel beim Booten benötigt wird.
Initrd auspacken:

initrdauspacken.sh
mkdir /tmp/initrdtmp
cp /boot/initrd /tmp/initrdtmp/initrd.gz
cd /tmp/initrdtmp
gunzip initrd.gz
cpio -idv < initrd

Anschließend können die Verzeichnisse und Dateien geändert werden.
Danach muss die initrd wieder gepackt werden:

initrdpacken.sh
cd /tmp/initrdtmp
find . | cpio -o -H newc -O ../initrd
cd ..
gzip -9 initrd
mv initrd.gz /boot/initrd
rm -rf initrdtmp
Ausnahme

Die initrd von Clonezilla ist mit dem Programm XZ komprimiert und muss vorher damit dekomprimiert werden.

mkdir /tmp/initrdtmp
xzcat initrd.img >/tmp/initrdtmp/initrd.neu
cd /tmp/initrdtmp/
cpio -idv < initrd.neu

Danach kann die initrd ruhig wieder mit GZ als initrd.gz komprimiert werden (s.o.). Der Clonezillakernel kann damit umgehen.
oder wieder als xz komrimieren.

find . 2>/dev/null | cpio -o -c -R root:root | xz -9 --format=lzma > ../initrd.xz

zurück