Redémarrer rapidement Gentoo avec kexec-tools
Table des matières
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
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.
Dans le noyau, il faut s'assurer que la fonctionnalité est activée :
Pour installer kexec, on installe le paquet sys-apps/kexec-tools tout simplement
Si le noyau est compressé en LZMA, vérifier que le USE FLAG lzma est défini.
Au besoin :
Maintenant que kexec-tools est installé, il faut le configurer.
Pour l'activer, on démarre le service kexec :
On peut aussi utiliser la commande suivante :
Et si on utilise un initrd :
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 :
ou
Pour ne pas redémarrer avec kexec (procéder à un redémarrage "classique", il suffit de décharger le noyau :
Ou si le service a été lancé, le stopper et redémarrer :
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 :
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
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).img --reuse-cmdline
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
ou
Code BASH :
kexec -e
Pour ne pas redémarrer avec kexec (procéder à un redémarrage "classique", il suffit de décharger le noyau :
Code BASH :
kexec -u
Ou si le service a été lancé, le stopper et redémarrer :
Code BASH :
/etc/init.d/kexec stop
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 :