Kernel fallback mit Grub2

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
satinez
Beiträge: 39
Registriert: 16.03.2011 08:53:21

Kernel fallback mit Grub2

Beitrag von satinez » 17.03.2011 22:35:31

ciao!

Ich möchte gerne einen neuen Kernel installieren, habe debian squeeze.
Der Kernel liegt im Format linux-image-2.6.33.5-zen3-ub-100hz_amd64.deb.

Ich weiss, dass ich das Paket so installieren kann..

Code: Alles auswählen

# dpkg -i linux-image-2.6.33.5-zen3-ub-100hz_amd64.deb
# update-grub
Doch wie setze ich nun den Kernel in die GRUB2 Konfig?
Wie kann ich einen Fallback mit GRUB2 realisieren, sodass bei einem Fehler den alten Kernel nimmt?


greet;s satinez

segmentationfault
Beiträge: 104
Registriert: 13.02.2011 07:24:43

Re: Kernel fallback mit Grub2

Beitrag von segmentationfault » 18.03.2011 05:56:02

Hallo santinez,

Deine Frage verstehe ich nicht ganz.

Ich habe gestern einen neuen Kernel 2.6.38 unter Squeeze kompiliert und gemäß der Debian-Installationsanleitung im Abschnitt 8.6 ein deb-Archiv erzeugt und dieses mittels dpkg -i ....deb installiert.

Ein update-grub war nicht erforderlich, das wurde mit der Installation des .deb-Archivs automatisch durchgeführt.

Dann hatte ich nach shutdown -r now als neuen Eintrag neben dem alten Kernel nun auch den 2.6.38 sichtbar.
Wäre dieser fehlerhaft hätte ich dann den Rechner einfach mit dem alten Kernel starten können und dann den Fehler beseitigt.

Da ich das System dann mit dem neuen Kernel 2.6.38 habe laufen lassen und alles in Ordnung war habe ich mittels des Paketmanagers den alten Kernel deinstalliert, so daß nun im Boot-Menu nur noch das System mit dem 2.6.38 erscheint.

Gruß
segmentationfault

satinez
Beiträge: 39
Registriert: 16.03.2011 08:53:21

Re: Kernel fallback mit Grub2

Beitrag von satinez » 18.03.2011 12:27:29

Danke für deine Antwort.

Es geht darum, dass der Server nicht in meiner Nähe steht, dass heisst also ich habe keine Eingabemöglichkeit beim Boot den gewünschten Kernel auszuwählen.
Da ich das jetzt so ein wenig am probieren bin, Backups sind gemacht :)

Habe einfach davon gehört, dass es sein kann, dass der Server mit dem neuen Kernel nicht mehr hochfährt, das möchte ich mir gerne ersparen.

Habe von dieser Fallback / Panic Methode gehört, die es irgendwie erlauben soll, den alten Kerneleintrag in Grub anzugeben, falls der default Kernel einen Fehler erzeugt und nicht startet.

Wenn ich das .deb Paket installiere, macht er dann schon den Eintrag in die GRUB2 Konfig als default, oder als sekundärer Eintrag z.B. ?

greet;s satinez

segmentationfault
Beiträge: 104
Registriert: 13.02.2011 07:24:43

Re: Kernel fallback mit Grub2

Beitrag von segmentationfault » 18.03.2011 13:12:13

Hallo satinez,

der Eintrag des neuen Kernels in den Bootloader war der primäre Eintrag ganz oben in der Liste im Bootloader, wäre also automatisch gestartet.

Da ich im Bootloader innerhalb von 5 Sekunden auch den "alten" Kernel 2.6.32-5 amd64 des Original-Squeeze hätte wählen können wäre
es nicht schlimm gewesen wenn ich z.B. einen Kernel panic oder Ähnliches mit dem Neuen gehabt hätte, einfach dann neu starten und den alten Kernel wählen.

Im /boot-Verzeichnis war nach dem dpkg -i ..deb mit dem neuen Kernelpaket dann zwei Systeme eingerichtet mit jeweils eigener vmlinuz, config-Datei, initrd-img und SystemMap jeweils mit Version 2.6.32-5 amd62 und dann eben neu 2.6.38. Mit der vollständigen Deinstallation des 2.6.32-5 amd64-Kernels mit der Synaptic-Paketverwaltung habe ich dann die Dateien des alten Systems gelöscht.

Mein Umstieg auf den neueren 2.6.38 hat sich jedenfalls absolut gelohnt. Ich hatte z.B. mit dem vorkompilierten Debian-Kernel einen Ressourcenkonflikt und ein Hardwareproblem.
Jetzt läuft es absolut sauber.

Gruß
Segmentationfault

satinez
Beiträge: 39
Registriert: 16.03.2011 08:53:21

Re: Kernel fallback mit Grub2

Beitrag von satinez » 18.03.2011 13:44:40

Okey danke.

Kann ich denn so ein FALLBACK befehl in GRUB2 definieren?
In GRUB1 geht es ja ganz einfach.

Ich denke ich setze mir lieber eine VM auf :) und probiere da mein Glück, denn wenn der Server nicht mehr hochfährt, wüsste ich nicht weiter was machen.


greet;s satinez

segmentationfault
Beiträge: 104
Registriert: 13.02.2011 07:24:43

Re: Kernel fallback mit Grub2

Beitrag von segmentationfault » 18.03.2011 13:50:23

Ok, Deine berechtigte Frage kann ich leider nicht beantworten, aber dafür gibts ja genug Experten in diesem super Forum.

Gruß
Segmentationfault

DeletedUserReAsG

Re: Kernel fallback mit Grub2

Beitrag von DeletedUserReAsG » 18.03.2011 16:30:23

Im Grunde ist es hier beschrieben.

cu,
niemand

satinez
Beiträge: 39
Registriert: 16.03.2011 08:53:21

Re: Kernel fallback mit Grub2

Beitrag von satinez » 22.03.2011 15:43:24

Danke, werde es anschauen :D

satinez
Beiträge: 39
Registriert: 16.03.2011 08:53:21

Re: Kernel fallback mit Grub2

Beitrag von satinez » 22.03.2011 23:02:00

Also ich habe dieses Wiki mal angeschaut, doch leider stosse ich da auf ein oder mehrere Probleme.

Im Wiki steht, ich müsse eine Datei erstellen, ein Umleitungsskript. Ok, ich habe es 01_fallback genannt und in den Ordner /etc/grub.d gespeichert.
Stimmt dass so, oder habe ich das falsch gemacht? In diesem Tutorial steht leider nicht, wie so eine Art step-by-step Anleitung :(

Einstellungen in der /etc/default/grub

Code: Alles auswählen

GRUB_DEFAULT="saved"
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10




Hier ist das File /etc/grub.d/01_fallback

Code: Alles auswählen

#! /bin/sh -e

cat << EOF
menuentry 'Hauptsystem Headless Server 0' {
	set saved_entry='1'
	save_env saved_entry
	insmod ext2
	insmod raid
	set root='(hd0)'
	search --no-floppy --fs-uuid --set d856d6d8-20d1-410a-a602-9e2fab117dc5
	#search --no-floppy --label --set ROOT_MAIN
	linux	/boot/vmlinuz-2.6.32-5-amd64 root=UUID=d856d6d8-20d1-410a-a602-9e2fab117dc5 ro
	initrd	/boot/initrd.img-2.6.32-5-amd64
}
EOF

Code: Alles auswählen

# clear && update-grub
Gut. Habe das System rebootet und jetzt kommt ein Auswahldialog, es funktioniert.
Jetzt zu meiner Frage, was habe ich genau gemacht, ich meine, das Ziel, ist nicht erreicht.
Ich will ja eigentlich einen Fallback einrichten, doch irgendwie mache ich was falsch.

Wo müsste ich jetzt den zu Testenden Kernel einbauen?

greet;s satinez

Antworten