kexec è una feature dei recenti kernel 2.6 che vi permette di riavviare esclusivamente il kernel, saltando i controlli effettuati dal bios e dal bootloader.
Non è proprio una funzionalità essenziale però è molto cool ![]()
Ecco come utilizzare kexec su un sistema ArchLinux (ma la procedura dovrebbe essere identica anche per altre distribuzioni)…
pacman -S kexec-tools
Dopodichè, da root, digitate
kexec -l /kernel/da/avviare –initrd=/initrd/da/avviare –command-line=”`cat /proc/cmdline`”
Ora non vi resta che riavviare ![]()
ilgufo
16 set 2006 - 15:29 - #1wow forte
vime
16 set 2006 - 20:00 - #2è possibile avviare una versione diversa del kernel attualmente in esecuzione?
L’uptime viene resettato?
Andrea de Palo
16 set 2006 - 20:25 - #3Certo, basta indicare un kernel ed, eventualmente, l’initrd associato.
L’uptime credo venga resettato.
vime
17 set 2006 - 10:32 - #4Interessante…è da provare
...
17 set 2006 - 11:10 - #5È come SystemStarter in Mac OS X dal 2000 solo che riavvia anche certi elementi dell’interfaccia grafica
Andrea de Palo
17 set 2006 - 12:33 - #6Questo dovrebbe essere dovuto al fatto che OS X è basato su un microkernel (a differenza di Linux)…resta il fatto che con kexec è possibile caricare un kernel Linux differente
Se non ricordo male un reboot simile era possibile anche con Windows 9.X, semplicemente tenendo premuto il tasto shift (ovviamente riavviava lo stesso kernel).
ilgufo
17 set 2006 - 12:50 - #7continua a darmi sempre lo stesso errore…
http://rafb.net/paste/results/751eoQ18.html
OS: xubuntu (ma anche su debian sid)
Andrea de Palo
17 set 2006 - 13:00 - #8Che kernel usi? Sembra che kexec non sia inclusa…
Su ArchLinux dovrei avere un 2.6.17.qualcosa
Andrea de Palo
17 set 2006 - 13:01 - #9Se non ricordo male kexec è considerata ancora sperimentale quindi è possibile che non sia inclusa nel kernel di default…prova a ricompilare
Treviño
17 set 2006 - 18:08 - #10Scusa, ma perché alla fine hai scritto “Ora non vi resta che riavviare”? Intendi solo il kernel o la macchina, perché se intendi la macchina ho capito male io come funziona questo aggeggino… :o
Non permette una sorta di “cambio” di kernel in realtime?
Andrea de Palo
17 set 2006 - 20:32 - #11kexec permette di riavviare il sistema saltando il BIOS ed il bootloader; il kernel da caricare dopo il reboot è quello indicato tramite CLI
Treviño
18 set 2006 - 00:43 - #12Mh… Quindi, appunto, cambia molto poco in termini di risparmio di tempo…
Dico questo perché nel link dell’IBM citato si sottolinea come sia una cosa molto utile per chi deve riavviare il PC tante volte al giorno, come se questo sistema gli permettesse di evitare la cosa… Boh, allora non ne capisco troppo i vantaggi…
mad_max
18 set 2006 - 08:00 - #13E’ come se il kernel attuale diventasse il bootloader, che carica il kernel successivo.
La difficoltà di implementazione è dovuta al fatto che la macchina non è stata appena accesa quindi alcune periferiche sono sporche e vanno resettare via software ed è necessario una revisione di certi drivers.
Daniele Minciaroni
18 set 2006 - 14:47 - #14Parlo per chi ha poca esperienza di Server.
I Dell 1855 (ad esempio) impiegano mediamente 4 minuti per un reboot dal riavvio alla comparsa del menù del Grub.
Ho poi un sistema con 8 Xeon con 16 Gb di ram che impiega quasi 10 minuti (a causa dei vari bios dei controller SCSI, nonostante abbia impostato il chek veloce della ram).
In queste condizioni ti passa la voglia di ottimizzare il kernel. :)
Questo tool potrebbe essere una mano santa!
ilgufo
18 set 2006 - 17:24 - #15@Andrea: scusa per il ritardo della risposta..
su dapper uso il 2.6.15-26,
su debian sid uso 2.6.17.non-mi-ricordo
dopo provo a ricompilarlo cosi vedo…
ciao!
ilgufo
Andrea de Palo
19 set 2006 - 11:11 - #16@Daniele
Se non ricordo male kexec è stata implementata propri per tagliare i tempi di reboot su macchine server
ossblog
13 mar 2007 - 23:41 - #17[…] […]
Prima beta per Red Hat Enterprise Linux 5.1
05 ago 2007 - 12:00 - #18[…] Red Hat ha annunciato la disponibilità della prima beta per la famiglia di prodotti basati su Red Hat Enterprise Linux 5 e le novità sembrano decisamente orientate sulla stabilizzazione delle feature già presenti: consolidamento della virtualizzazione ( supporto ad Itanium2, supporto a VM guest a 32bit su host a 64, aggiornamenti per libvirt ), miglioramento delle funzioni di risparmio energetico, aggiornamenti per il sottosistema SATA e per EXT3 ( che ora supporta filesystem di 16 TB ), supporto a kexec / kdump per i sistemi virtualizzati, miglioramenti nel supporto ad IPv6, backport del nuovo stack 802.11, aggiornamenti per Samba, supporto alle smartcard in SSH e molto altro ancora. […]