Otázka: Jak zobrazím, upravím a znovu vytvořím nový initrd.img v distribucích Ubuntu, Debian, CentOS, Fedora, Red-Hat, Arch Linux nebo SUSE?
1. Jak zobrazit obsah souboru initrd.img?
initrd.img je ve formátu gzip. Přesuňte tedy initrd.img na initrd.gz, jak je ukázáno níže.
# cp /tftpboot/el5/initrd.img . # ls cdrom initrd.img # mv initrd.img initrd.gz
Rozbalte soubor initrd.gz, jak je znázorněno níže.
# gunzip initrd.gz # ls cdrom initrd
Po rozbalení souboru initrd.gz je initrd dále ve formátu cpio „newc“. Extrahujte tedy soubory z initrd pomocíformátu cpio ‚newc‘ jak je uvedeno níže.
Poznámka: informační cpio poskytne více informací o formátu „newc“.
# mkdir tmp2 # cd tmp2/ # cpio -id < ../initrd 16524 blocks
Nyní můžete zobrazit obsah souboru initrd.img
# ls bin dev etc init modules proc sbin selinux sys tmp var
2. Jak upravit obsah obrázku a znovu vytvořit nový obrázek?
Po rozbalení souboru, jak je uvedeno níže, proveďte příslušnou úpravu kteréhokoli z těchto souborů. Poté soubory zabalte zpět do archivu pomocí následujících příkazů. Zabalte upravené soubory zpět do formátu cpio „newc“.
# find . | cpio --create --format='newc' > /tmp/newinitrd 16524 blocks # ls /tmp/ cdrom initrd newinitrd tmp2 # ls -l /tmp/newinitrd -rw-r--r-- 1 root root 8460288 Jul 2 14:50 /tmp/newinitrd
Gzipujte archivní soubor.
# gzip newinitrd # ls cdrom initrd newinitrd.gz tmp2 # ls -l newinitrd.gz -rw-r--r-- 1 root root 6649867 Jul 2 14:50 newinitrd.gz
Přesunout soubor jako soubor obrázku. Newinitrd.img můžete použít jako svůj nový spouštěcí obraz.
# mv newinitrd.gz newinitrd.img # ls -l newinitrd.img -rw-r--r-- 1 root root 6649867 Jul 2 14:50 newinitrd.img