gunzip debe ejecutarse solo una vez (consumiendo toda la entrada), mientras que cpio debe ejecutarse una vez por archivo incrustado, así:
gunzip -c <input.cgz | while cpio -i; do :; done
/usr/lib/dracut/skipcpio $your-initrd-img | zcat | cpio -id --no-absolute-file-names
o si no
/usr/lib/dracut/skipcpio $your-img | gunzip -c | cpio -id
(en FreeBSD no existe la opción --no-absolute-file-names para cpio)
Este pequeño programa skipcpio
si es parte del paquete Dracut. Pero puede descargar el código (skipcpio.c) y compilarlo incluso bajo FreeBSD.
Necesita esto al extraer imágenes initrd creadas por Dracut, al menos en distribuciones con tecnología RedHat, como Fedora. Coloca un archivo llamado "early_cpio" en la imagen, por lo que no funcionará extraer su initramfs de la manera normal conocida anteriormente.