Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
vmlinuz et initrd
Envoyé par: Tux iN tHe wOod

Bonjour,

Je n'ai jamais compris la différence entre vmlinuz qui est le noyau linux bootable et initrd qui est un noyau bootable.

Peut on se passer de initrd ? C'est mkinitramfs la commande pour créer initrd ? Il dépend du noyau en cours ou pas ?

Merci

Poste le Thursday 24 July 2008 11:25:25
Répondre     Citer    
Re: vmlinuz et initrd
Envoyé par: diancech

Si je ne dit pas de bêtises :-)). L'initrd n'est pas un noyau.

vmlinuz: c'est ton noyau au format compressé.
initrd: c'est un fichier te permettant d'utiliser des fonctionalités non incluses dans le noyau lors du chargement de celui-ci, comme le support d'un filesystem compilé en module, ou le driver d'un matériel spécifique compilé en module par exemple.

Tu peux trés bien te passer d'initrd. ;-)

--------------------------------------------------------------------------------------------------------------------------------------------------
Exige beaucoup de toi-même et attends peu des autres. Ainsi beaucoup d'ennuis te seront épargnés. Confucius

Poste le Thursday 24 July 2008 13:07:58
Répondre     Citer    
Re: vmlinuz et initrd

initrd est chargé en mémoire par le chargeur (Grub en pratique) en même temps que le noyau. C'est grosso modo une image compressée d'un système de fichier minimal contenant notamment les modules essentiels au noyau. En particulier, les pilotes importants (comme ceux du disque, du système de fichiers de la racine, du réseau, de l'écran) sont maintenant des modules en initrd (qui est donc indispensable).

Citation
diancech
Tu peux trés bien te passer d'initrd
En pratique c'est faux pour les noyaux habituels des distributions usuelles (Debian, Ubuntu, Mandriva, etc.). Par exemple, le paquet du noyau debian contient à la fois un noyau vmlinuz et son image initrd correspondante, et on ne peut pas booter le vmlinuz tout seul (il faut l'initrd).

Mais ça reste vrai pour les noyaux que l'on configure et compile soi-même (car alors on a intérêt à y mettre en dur, pas en module initrd-é, les pilotes essentiels propres à son matériel).



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 24 July 2008 13:42:34
Répondre     Citer    
Re: vmlinuz et initrd
Envoyé par: AlSim

Mais si je me souviens bien diancech est adepte de Gentoo smiling smiley

[catwell.info]

Poste le Thursday 24 July 2008 15:19:37
Répondre     Citer    
Re: vmlinuz et initrd
Envoyé par: diancech

Citation
Alsim
Mais si je me souviens bien diancech est adepte de Gentoo smiling smiley

Effectivement ça doit être pour ça que j'ai été un peu direct. :-))

Mais Basile a redressé la situation en apportant des précisions. ;-)



--------------------------------------------------------------------------------------------------------------------------------------------------
Exige beaucoup de toi-même et attends peu des autres. Ainsi beaucoup d'ennuis te seront épargnés. Confucius

Poste le Thursday 24 July 2008 19:08:47
Répondre     Citer    
Re: vmlinuz et initrd
Envoyé par: Tux iN tHe wOod

Merci beaucoup,

Mais alors la commande mkinitramfs (anciennement mkinitrd, non ?) tient compte du noyau et de sa configuration pour installer les modules complémentaires à vmlinuz ? Ou pas ? Parce que justement, cet initrd varie selon mes noyaux.

Moi qui croyais avoir mis tout le nécessaire en dur...je me rend compte que ça ne boote pas sans le initrd. Et parfois même pas avec le initrd de debian.



Enfin bon aujourd'hui j'ai vu une partition de 5To..je suis content winking smiley

Poste le Thursday 24 July 2008 19:45:28
Répondre     Citer    
Re: vmlinuz et initrd
Envoyé par: diancech

Oui la commande de création du fichier initrd tient compte de la configuration de ton noyau.

J'ai retrouvé cette méthode dans mes notes qui servait à compiler un paquet kernel sous debian:

C'est la commande make-kpkg qui crée ou non l'initrd:

Paquets à installer : apt-get install bzip2 libncurses5-dev fakeroot kernel-package

- make menuconfig

- make-kpkg --append-to-version -nom_machine --revision 1 kernel-image

ou avec initrd 

- make-kpkg --initrd --append-to-version -nom_machine --revision 1 kernel-image

- installer de .deb créé.

Sachant que j'étais parti des sources du kernel patchées debian et pas des sources "vanilla".

La méthode a peut être un peu changé depuis le temps, il faudrait contrôler qu'elle est toujours bonne. ;-)







--------------------------------------------------------------------------------------------------------------------------------------------------
Exige beaucoup de toi-même et attends peu des autres. Ainsi beaucoup d'ennuis te seront épargnés. Confucius

Poste le Thursday 24 July 2008 20:20:30
Répondre     Citer    
Re: vmlinuz et initrd

Citation
dianceh
La méthode a peut être un peu changé depuis le temps, il faudrait contrôler qu'elle est toujours bonne.
On dirait que non : [[color=orange]Compiler un nouveau noyau Debian[/color]]

Poste le Thursday 24 July 2008 20:43:50
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
vmlinuz et initrd
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons