Estoy haciendo mis propios initramfs siguiendo el wiki de Gentoo . En lugar de lo familiar tar
y gzip
, la página me dice que use cpio
y gzip
. Wikipedia dice que cpio
es utilizado por initramfs del kernel 2.6, pero no explica por qué.
¿Es solo una convención o es cpio
mejor para initramfs? ¿Puedo seguir usando tar
y gzip
?
compression
cpio
initramfs
phunehehe
fuente
fuente
/init
etc.) y el núcleo simplemente usa ese. No me estoy preocupando por generar initramfs por genkernel o métodos similares.Respuestas:
No estoy 100% seguro, pero como el kernel inicial debe desempaquetar el disco de memoria ram durante el arranque, cpio se usa porque ya está implementado en el código del kernel.
fuente
cpio -H newc
archivo.cpio
se usa como una convención y que tenemos que usarcpio
.Citando
Documentation/filesystems/ramfs-rootfs-initramfs.txt
:fuente
Por lo que recuerdo de mis viejos días de SysV, cpio podía manejar archivos dev, pero tar no; esto convirtió a cpio en la utilidad de copia de seguridad 'en bruto' elegida antes de que se produjera el volcado. También fue más fácil manejar conjuntos de archivos parciales y enlaces duros, por lo que las copias de seguridad incrementales fueron más fáciles. Creo que el alquitrán GNU ha alcanzado las características de cpio, por lo que ahora es solo una cuestión de comodidad del usuario. Tanto cpio como tar deben instalarse de forma predeterminada.
fuente
cpio
puede ser capaz de manejartar
archivos de formato, y viceversa en algunos casos, pero eso no importa. El kernel solo puede descomprimir archivos con formato denewc
estilocpio
, que notar
sé de los que produce.newc
se nombra oficialmenteasc
y, por supuesto, es compatible constar
.