gunzip muss nur einmal ausgeführt werden (verbraucht alle Eingaben), während cpio einmal pro eingebettetem Archiv ausgeführt werden sollte, etwa so:
gunzip -c <input.cgz | while cpio -i; do :; done
/usr/lib/dracut/skipcpio $your-initrd-img | zcat | cpio -id --no-absolute-file-names
oder sonst
/usr/lib/dracut/skipcpio $your-img | gunzip -c | cpio -id
(In FreeBSD gibt es keine Option --no-absolute-file-names für cpio)
Dieses kleine Programm skipcpio
wenn Teil des Dracut-Pakets. Aber Sie können den Code (skipcpio.c) herunterladen und sogar unter FreeBSD kompilieren.
Sie benötigen dies, wenn Sie mit dracut erstellte initrd-Images extrahieren, zumindest unter RedHat-betriebenen Distributionen wie Fedora. Es platziert eine Datei namens "early_cpio" in das Image, daher wird das Extrahieren Ihrer initramfs auf eine normale, zuvor bekannte Weise nicht funktionieren.