TIP kexec

Uit Gentoo Linux Wiki

Ga naar: navigatie, zoeken

Kexec is een system call, die de huidige kernel stop en een nieuwe kernel opstart. Het is vergelijkbaar met een reboot. Niet alleen de linux kernel kan ermee gestart worden, maar ook een willekeurige andere.

Inhoud

[bewerken] Waarom kexec

Kexec maakt het mogelijk, mits het werkt op uw platform en hardware, om heel snel opnieuw op te starten.

[bewerken] Installatie

[bewerken] Benodigdheden

  • kexec-tools
  • Een >=2.6.13 kernel met support voor kexec

Om te controleren of uw kernel geschikt, gebruikt u uname -r. Als uw kernel versie 2.6.13 of hoger is dan ondersteund uw kernel kexec. Anders dient u een nieuwere kernel source op te halen. Gebruikt u de 2.4 serie dan is het niet mogelijk om kexec te gebruiken.

[bewerken] Kernel Configuratie

Om kexec te kunnen gebruiken, moet u deze aan zetten in uw kernel. De volgende optie dient aan gevinkt te zijn:


Linux Kernel Configuratie: >=kernel-sources-2.6.13
Processor type and features --->
 [*] kexec system call (EXPERIMENTAL)

Is deze optie niet aanwezig, dan kan het zijn dat u bent vergeten experimentele features aan te zetten:


Linux Kernel Configuratie: >=kernel-sources-2.6.13
Code maturity level options  --->
 [*] Prompt for development and/or incomplete code/drivers  

Sla de nieuwe configuratie op en compileer uw kernel.

[bewerken] Kexec-Tools

Om de kexec systemcall te gebruiken, heeft u een programma nodig, die de nieuwe kernel kan laden en de systemcall aanroept. In portage vindt u kexec-tools. Dit levert die functionaliteit. Om kexec-tools te installeren kunt u emerge gebruiken:

Code: emerge kexec-tools

emerge -av kexec-tools

[bewerken] Configuratie

Nu dient u kexec tools nog te configureren. Dit kunt u doen in /etc/conf.d/kexec. Een voorbeeld configuratie:


File: /etc/conf.d/kexec
# Boot partitie
BOOTPART="/boot"

# Kernel naam. Dit is de bestandsnaam van de kernel in /boot
KNAME="amd64-new"

# Root partition (should be autodetected)
ROOTPART="/dev/hda3"

# Kernel parameters (should be autodetected)
# Autodetecteert niet als boot partitie en 
# root partitie verschillen
KPARAM="root=/dev/hda1"

# Initrd
#INITRD="/boot/fbsplash-emergence-1024x768"

# Load kexec kernel image into memory during shutdown instead of bootup
# (default: yes)
LOAD_DURING_SHUTDOWN="yes"

[bewerken] Toevoegen aan runlevel

Om te zorgen dat u bij een reboot kexec wordt gebruikt, dient u kexec toe te voegen aan uw default runlevel:

Code: kexec toevoegen aan default

rc-update add kexec default

[bewerken] Reboot

[bewerken] Met kexec

Om via kexec te booten, moet u de kexec-tools gestart te hebben. Als u kexec aan uw default runlevel hebt toegevoegd dan zijn ze al gestart. Als u dit niet heeft gedaan of niet weet of ze gestart zijn kunt het volgende commando gebruiken om dit te controleren: /etc/init.d/kexec status. Is het niet opgestart? Voeg het dan toe aan uw default runlevel of gebruik /etc/init.d/kexec start als u het eenmalig wil testen.

Code: reboot

reboot

Als het goed is, start u systeem nu opnieuw op via kexec.

[bewerken] Zonder kexec

Wilt u uw systeem gewoon opstarten dan gebruikt u /etc/init.d/kexec stop om kexec-tools te stoppen. Vervolgens kunt u reboot gebruiken om te rebooten.

[bewerken] Problemen

Kexec is een experimentele feature. Het kan daarom voorkomen, dat kexec niet of niet correct werkt op uw systeem. U kunt dan proberen om een nieuwere kernel versie te bemachtigen.

Afkomstig van de Nederlandstalige Gentoo Wiki, het vrije Gentoo handboek. "http://nl.gentoo-wiki.com/TIP_kexec"
Persoonlijke instellingen
Andere talen