Quelle est la différence entre initrd et initramfs?

12

Je voudrais savoir quelle est la différence entre initrdet initramfs?

Sen
la source

Réponses:

12

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 transforme les fichiers nécessaires en cpio archive , qui est un format d'archive binaire (très similaire à tar, peu utilisé sous Linux), puis utilise gzip pour compresser cette archive. Gzip n'est pas une archive itsef, juste une compression (c'est pourquoi vous obtenez des fichiers d'archive .tar.gz).

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

Voir aussi: Démarrage d'un ordinateur

Stefano Palazzo
la source
"Initrd nécessite la compilation d'au moins un pilote de système de fichiers dans le noyau". Pouvez-vous expliquer cela s'il vous plaît??
Sen
Normalement, les pilotes de système de fichiers peuvent être boulonnés sur le système d'exploitation à volonté, pour certaines choses, ils doivent être compilés directement dans le noyau. Ce qui est pénible, car toutes les versions du noyau doivent être personnalisées, agrandir, introduire des dépendances supplémentaires, etc. (Du moins, c'est ce que je pense être le cas, pourrait bien se tromper, je n'ai pas une grande connaissance des systèmes de fichiers en particulier)
Stefano Palazzo
Est-ce comme si initramfs n'avait pas besoin d'être monté initialement ??
Sen
Tous les systèmes de fichiers doivent être montés avant de pouvoir être utilisés. Si vous voulez en savoir plus sur initramfs en profondeur, jetez un œil à en.wikipedia.org/wiki/Initrd - il y a une explication beaucoup plus détaillée.
Stefano Palazzo
Comment cette commande update-initramfs génère-t-elle /boot/initrd.img?
Sen
3
  • initrd était basé sur un périphérique bloc, initramfs est une base de fichiers.

  • 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.

karthick87
la source
pourriez-vous s'il vous plaît m'expliquer les étapes depuis le début jusqu'au chargement et à la lecture des initramfs?
Sen