Je fais mes propres initramfs en suivant le wiki Gentoo . Au lieu du familier tar
et gzip
, la page me dit d'utiliser cpio
et gzip
. Wikipedia dit que cpio
c'est utilisé par les initramfs du noyau 2.6, mais n'explique pas pourquoi.
Est-ce juste une convention ou est-ce cpio
mieux pour les initramfs? Puis-je toujours utiliser tar
et gzip
?
compression
cpio
initramfs
phunehehe
la source
la source
/init
etc.) et le noyau utilise simplement celui-ci. Je ne pense pas à générer des initramfs par genkernel ou des méthodes similaires.Réponses:
Je ne suis pas sûr à 100%, mais comme le ramdisk initial doit être décompressé par le noyau lors du démarrage, cpio est utilisé car il est déjà implémenté dans le code du noyau.
la source
cpio -H newc
archive.cpio
soit utilisée comme convention et que nous devons utilisercpio
.Citant
Documentation/filesystems/ramfs-rootfs-initramfs.txt
:la source
D'après ce que je me souviens de mes anciens jours SysV, cpio pouvait gérer les fichiers de développement, mais tar ne pouvait pas; Cela a fait de cpio l'utilitaire de sauvegarde «brut» de choix avant le vidage. Il était également plus facile de gérer des ensembles de fichiers partiels et des liens matériels, de sorte que les sauvegardes incrémentielles étaient plus faciles. Je pense que GNU tar a rattrapé les fonctionnalités de cpio alors maintenant c'est juste une question de confort pour l'utilisateur. Cpio et tar doivent être installés par défaut.
la source
cpio
peut être capable de gérer destar
archives au format, et vice-versa dans certains cas, mais cela n'a pas d'importance. Le noyau ne peut décompresser que les archivesnewc
-stylecpio
-format, quetar
je ne connais pas.newc
est officiellement nomméasc
et bien sûr supporté parstar
.