Utiliser Gentoo et Calculate Linux

Redémarrer rapidement Gentoo avec kexec-tools

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction




Pour une raison X ou Y, vous voulez redémarrer votre système, mais vous y trouvez trop long ?

Kexec tools est la pour vous :cbon:

En effet, à la fin de l’arrêt du système, le noyau est immédiatement relancé.

On saute l'étape du BIOS et du GRUB, ce qui pour un serveur physique évite la batterie de tests effectuée à l'allumage.

Prérequis




Dans le noyau, il faut s'assurer que la fonctionnalité est activée :

Code TEXT :
Processor type and features --->
 [*] kexec system call


Installation




Pour installer kexec, on installe le paquet sys-apps/kexec-tools tout simplement

Code BASH :
emerge -avq sys-apps/kexec-tools


Si le noyau est compressé en LZMA, vérifier que le USE FLAG lzma est défini.

Au besoin :

Code BASH :
echo "sys-apps/kexec-tools lzma" >> /etc/portage/package.use/custom


Configuration




Maintenant que kexec-tools est installé, il faut le configurer.

Pour l'activer, on démarre le service kexec :

Code BASH :
/etc/init.d/kexec start


On peut aussi utiliser la commande suivante :

Code BASH :
kexec -l /boot/vmlinuz-$(uname -r) --reuse-cmdline


Et si on utilise un initrd :

Code BASH :
kexec -l /boot/vmlinuz-$(uname -r) --initrd=/boot/initramfs-$(uname -r) --reuse-cmdline


Il se peut que vous ayez le même message d'erreur que moi si /boot n'est pas sur une partition séparée. Cela n'empêche pas le fonctionnement de l'outil.

Pour démarrer kexec automatiquement au démarrage, on active le service :

Code BASH :
rc-update add kexec boot




Utilisation




Pour redémarrer et utiliser kexec (s'il est lancé), il faut simplement utiliser la commande reboot ou le redémarrage proposé par l'éventuelle interface graphique lancée :

Code BASH :
reboot


Pour ne pas redémarrer avec kexec (procéder à un redémarrage "classique", il suffit de stopper le service et de redémarrer :

Code BASH :
/etc/init.d/kexec stop


Caché :
Code BASH :
 * WARNING: you are stopping a boot service
 * Not rebooting, so disabling


Code BASH :
reboot


Voici en image le résultat, on voit que le nouveau noyau est rechargé (Starting new kernel) et qu'on est pas passé par la phase de BIOS :

kexec_reboot