web-dev-qa-db-fra.com

Quelle est la différence entre initrd et initramfs?

J'aimerais savoir quelle est la différence entre initrd et initramfs?

12
Sen

Initrd est obsolète, remplacé par Initramfs, qui n'a pas certaines des faiblesses d'initrd:

  • Initrd nécessite qu'au moins un pilote de système de fichiers soit compilé dans le noyau
  • Un disque créé par Initrd doit avoir une taille fixe
  • Toutes les lectures/écritures sur Initrd sont mises en mémoire tampon de manière redondante (inutilement) dans la mémoire principale.

Je pense que c'est tout.


Comment cette commande update-initramfs génère-t-elle /boot/initrd.img?

Il crée les fichiers nécessaires dans une archive cpio, qui est un format d'archive binaire (très similaire à tar, mais pas de manière exhaustive). utilisé sous Linux) et utilise ensuite gzip pour compresser cette archive. Gzip n'est pas un fichier d'archive, mais une compression (c'est pourquoi vous obtenez des fichiers d'archive .tar.gz).

Au démarrage, l’archive est non compressée et décompressée sur un disque-RAM.

Voir aussi: comment un ordinateur démarre

12
Stefano Palazzo
  • initrd était basé sur un périphérique de bloc, initramfs est un fichier de base.

  • avec initrd, vous avez créé une image de système de fichiers. avec initramfs, vous créez une archive avec les fichiers que le noyau extrait dans un tmpfs.

3
karthick87