System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Gentoo Linux: Avoir un shell de secours depuis l'Initramfs.

gentoo-logo.png

Si vous avez besoin d'un shell de secours sous Gentoo Linux et que vous avez générer votre noyau avec l'utilitaire genkernel sachez qu'il est possible d'obtenir un shell Busybox très facilement. Comment ?

Tout simplement en ajoutant cette entrée dans la configuration de votre chargeur de démarrage.

Exemple d'entrée a ajouter pour Grub dans le menu.lst :

title Safe Mode
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.28-gentoo-r3 root=/dev/ram0 init=/linuxrc debug keymap=fr scandelay=0 nodetect noresume dokeymap vga=792 quiet
initrd /initramfs-genkernel-x86-2.6.28-gentoo-r3

Ce qui est très intéressent avec le fait d'avoir un shell depuis votre initramfs est que vous pouvez prendre très rapidement la main sur votre machine et ce sans qu'aucunes partitions ne soit montées, pas même votre racine. Vous pouvez donc effectuer vos opération de maintenance pratiquement comme si vous aviez booté depuis un LiveCD.

L'initramfs est chargé en mémoire et possède sa propre arborescence, c'est donc un mini système totalement autonome. En revanche Busybox intègre un nombre limité de commandes pour des opérations de maintenance poussé il vous sera probablement nécessaire de chrooter votre environnement vers une partition de votre disque.

Il est a noté que d'autres distributions utilisant l'initramfs permettent d'utiliser un shell de secours cependant les scripts d'init ne sont pas tous identique a celui générer par genkernel sous Gentoo. Les arguments à passer à votre noyau dans le chargeur de démarrage sont donc très probablement différents.

L'initramfs c'est bon, mangez en!

Par RaX | le mercredi, mars 11 2009 08:00

Commentaires

1. tata93

mercredi, mars 11 2009 | 11:44

super merci pour cette article

2. UdontWannaKnow

vendredi, mars 13 2009 | 22:04

Très intéressant, mais je n'utilise pas genkernel pour compiler mon noyau.

Existe t-il une manière de faire dans mon cas?

Merci.

3. RaX

samedi, mars 14 2009 | 16:07

@UdontWannaKnow: Tu peux utiliser un initramfs générer pas Genkernel sans pour autant utiliser un noyau générer pas genkernel. Tu peux aussi faire toi même ton Initramfs (se qui est très simple), voir modifier un initramfs générer par genkernel. L'initramfs est une archive de type cpio compressé en Gzip c'est donc assez facile de le créer ou d'en adapter un.

4. UdontWannaKnow

lundi, mars 16 2009 | 20:58

Ok, merci je vais regarder si je trouve qqch sur Google, sinon je reviens vers vous.

Très bon blog BTW ;)