每次更換新的 kernel 時,有時忘了加 initrd, 有時是 vmlinuz-xxx 檔名打錯了,常常導致無法開機,這時若是在遠端的話,只有捶胸頓足,拿電蚊拍電你家的貓來洩憤了。
話說自從高原之狼兄教我們可用 lilo -R 來啟動一次的選項後,現在再加上 append="panic=10" 這個參數,就萬無一失了(除非問題不是在 lilo,而是在網卡的 driver 等等)。
default=Linux
append="panic=10"
image=/boot/vmlinuz-2.4.24-1-686
root=/dev/hda7
initrd=/boot/initrd.img-2.4.24-1-686
label=Linux
read-only
image=/boot/vmlinuz-2.4.25-1-686
root=/dev/hda7
initrd=/boot/initrd.img-2.4.25-1-686
label=Linux-2.4.25
read-only
假設原來的 kernel 為 2.4.24-1-686,現在將裝了 2.4.25-1-686 的 kernel,裝好後,先不要急著修改成新的 kernel 開機,還是先用 舊的2.4.24-1-686 來做預設的開機,在 lilo.conf 加上 append="panic=10" 後,重新安裝 lilo。
panic=10 表示若開到一半 panic,10秒鐘後即重新開機
接著指定下次開機為新的kernel (2.4.25-1-686),而且只開一次,再來就回到預設的開機選項 Linux(2.4.24-1-686)
lilo -R Linux-2.4.25
重新開機後,若一切沒問題,那就是上天有保祐,只要將 lilo 的預設開機設為新的 kernel(2.4.25-1-686)即可。
但若不正常的話,則會在 10 秒鐘後自動重新開機,開回預設的 kernel(2.4.24-1-686),這時再看要如何修改 lilo.conf ,就不怕由遠端重新開機不成功,還得找人幫忙開了。