GRUB - jednokrotne uruchamianie kernela
Brak dostępu fizycznego do maszyny, potrzeba skompilowania nowego kernela są to idealne warunki do zastosowania opcji jednokrotnego (testowego) uruchomienia systemu. Korzystając z bootloader’a GRUB mamy dwie drogi aby osiągnąć zakładany cel…
1. opcje default saved i savedefault. Mając następujący plik konfiguracyjny menu.lst:
default saved
timeout 5
title the old kernel
root (hd0,0)
kernel /old_kernel
savedefault
title the new kernel
root (hd0,0)
kernel /new_kernel
savedefault 0
nie podajemy wprost w opcji default, który kernel ma się uruchamiać. Tą opcję ustalamy poleceniem:
# grub-set-default 1
wówczas to nowo utworzony kernel (new_kernel) będzie uruchamiany w
pierwszej kolejności, ta zmiana będzie odzwierciedlona w pliku default
(samodzielnie nie należy go modyfikować).
Po uruchomieniu systemu z nowego kernela opcja savedefault 0 zdefiniuje
jaki kernel będzie uruchamiany następnym razem w tym wypadku
old_kernel.
Tym sposobem zabezpieczymy się ew. kernel panic. Jednak w przypadku,
gdy popełnimy błąd w pliku konfiguracyjnym menu.lst (np. literówka) bądź
też plik initrd lub sam kernel będzie w nieodpowiednim formacie ww.
sposób uruchamiania kernela się nie sprawdzi. Rozwiązanie tego problemu
leży w opcji fallback.
2. opcja fallback. Mając następujący plik konfiguracyjny menu.lst:
default saved
fallback 0
timeout 10
title the old kernel
root (hd0,0)
kernel /old_kernel
savedefault
title the new kernel
root (hd0,0)
kernel /new_kernel
savedefault fallback
sposób postępowania z uruchamianiem nowego kernela nie różni się od opcji z pierwszego punktu (również korzystamy z grub-set-default) z tym, że uchronimy się dodatkowo przed błędami w samej konfiguracji parametrów GRUB’a dla nowego kernela. GRUB tuż przed uruchomieniem nowego kernela zapisuje w konfiguracji jaki kernel ma być uruchomiony następnym razem.
Cenną opcją konfiguracyjną w przypadku zdalnego restartowania maszyny z nowym kernel’em jest opcja panic=<liczba_sekund> dodawana do lini kernel w konfiguracji GRUB’a. Sprawi ona, że w przypadku kernel panic, maszyna zostanie zrestartowana w czasie <liczb_sekund>.
Niestety standardowy GRUB w przypadku systemu CentOS jest pozbawiony opcji fallback, savedefault, wymagane jest ręczne przekompilowanie GRUB’a.
powered by Hugo and Noteworthy theme