Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Grub2: Wie älteren Kernel als default starten?  (Read 5212 times)

Offline oduffo

  • User
  • Posts: 198
[DE] Grub2: Wie älteren Kernel als default starten?
« on: 2013/03/04, 13:11:04 »
Hi,

ich habe ein kleines, aber lästiges Problem:

Wegen des noch ungelösten IOMMU-Problems mit meiner NIC kann ich nicht den bereits installierten 3.8er Kernel verwenden, sondern muss auf 3.7 zurückgreifen. Ich schaffe es jedoch noch nicht, diesen ohne manuellen Eingriff beim Booten zu starten.

Installiert sind Kernel 3.8 und 3.7. Im Grub Menu habe ich die Auswahl zwischen Debian Gnu/Linux (--> Kernel 3.8 ) und "Erweiterte Optionen ..". Dahinter stehen die Kernel 3.8 als erster Eintrag und 3.7 als zweiter.

Per Default wird der erste Eintrag (Kernel3.8 ) gebootet. Ich habe in /etc/default/grub
Code: [Select]
GRUB_DEFAULT=1gesetzt, d. h. der zweite Eintrag (Erweiterte Optionen) wird gestartet. So weit, so gut. Allerdings wird dann wiederum der erste Eintrag in diesem Untermenü (= Kernel 3.8 ) genommen.

Ich kann den 3.7 Kernel nur auswählen, indem ich per manuellem Eingriff den Bootablauf unterbreche und den jeweils zweiten Eintrag wähle. Und das vergess ich leider oft und werde erst wieder dran erinnert, wenn mein Rechner mit dem Sch-- IOMMU-bug eingefroren ist.

Fragen
:
- Wie und wo kann ich einstellen, das der jeweils zweite Eintrag default wird?
- Gibt es eine Möglichkeit, von dem Untermenü "Erweiterte Optionen ..." wegzukommen und wieder alle Kernel auf der obersten Ebene anzuzeigen? Dann wäre mein Problem gelöst.
- Wie kann ich ggf. den zuletzt installierten Kernel 3.8 entfernen? Kernel-remover erlaubt das nicht.

Gruß
oduffo

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.842
Grub2: Wie älteren Kernel als default starten?
« Reply #1 on: 2013/03/04, 14:30:09 »
Den aktuellen Kernel kannst Du nur manuell entfernen. Am besten klappt dass, wenn man einen anderen Kern gebooted hat ;)

Das Problem mit der Reihenfolge ist interessant. Nachher mal schaun, wie man das lösen kann.

greetz
devil

Offline michaa7

  • User
  • Posts: 2.300
Grub2: Wie älteren Kernel als default starten?
« Reply #2 on: 2013/03/04, 20:00:17 »
und was passiert bei
Quote
GRUB_DEFAULT=2


(sitzt da nicht immer noch diese notfall bootoption dazwischen?)
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

Offline oduffo

  • User
  • Posts: 198
Grub2: Wie älteren Kernel als default starten?
« Reply #3 on: 2013/03/04, 22:51:27 »
Code: [Select]
GRUB_DEFAULT=2würde den dritten Eintrag starten, wenn ich drei Einträge hätte. (Recovery und memtest Einträge schmeiß ich immer als erstes raus)

Das Problem ist, dass im zweiten Eintrag (Erweiterte Optionen) der jüngste Kernel noch einmal und sogar als erster aufgeführt ist.

Gruß
oduffo

Offline agaida

  • User
  • Posts: 1.760
    • http://g-com.eu
Grub2: Wie älteren Kernel als default starten?
« Reply #4 on: 2013/03/04, 23:35:11 »
oduffo: Du möchtest Dir dringend die Datei /etc/grub.d/40_custom anschauen.
Diese Datei möchtest Du dann auf 09_$foo kopieren und deine Lieblingsmenüpunkte da rein kopieren.

Das mit dem stehenlassen der Tails-Zeile meinen die Buben ernst. Bitte beherzigen. ich mal mal ein Beispiel von mir dazu.

Code: [Select]

~$ cat x/etc/grub.d/09_meins
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry 'Siduction aktuell RL 5' --class debian --class gnu-linux --class gnu --class os {
        insmod gzio
        insmod part_msdos
        insmod ext2
        insmod search_label
        search --label --set root --no-floppy siduction
        linux   /vmlinuz root=LABEL=siduction ro quiet nolapic_timer
        initrd  /initrd.img
}


Und noch was: Ich schreib grad an was, um das wieder allgemeinverträglich zu machen, bei Arch hat sich da auch jemand beigesetzt. Hülfe naht bald. Bis dahin - durchhalten. :)
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

Offline oduffo

  • User
  • Posts: 198
Grub2: Wie älteren Kernel als default starten?
« Reply #5 on: 2013/03/04, 23:46:35 »
Boah, agaida: Deine Kristallkugel möchte ich auch haben.

Du weißt genau, was ich möchte. Ich bin da nämlich schon am Basteln, weil ich 40_custom früher immer verwendet habe. Nur mit dem "dringend" liegst Du leicht daneben, insbesondere wenn die Kavallerie schon zur Hilfe ausgeritten ist. :-)

Danke für das Beispiel und für die angekündigte Hilfe.

Gruß
oduffo

Offline agaida

  • User
  • Posts: 1.760
    • http://g-com.eu
Grub2: Wie älteren Kernel als default starten?
« Reply #6 on: 2013/03/05, 01:44:06 »
Nicht in den falschen Hals bekommen, ich bin glühender Anhänger von grub2. Aber was sich die Jungens da geleistet haben, ist eine Bedienbarkeitskatastrophe erster Güte. Die wird nur noch durch den os-prober übertroffen. :twisted:

Es gibt tatsächlich Dinge, die ich hasse: Das Einführen eines neuen Verhaltens, das noch nicht ausprogrammiert ist - unter jeglicher Auslassung des Fallbacks auf das gewohnte, praktikable, wenn auch eventuell suboptimale Verhalten. Und genau das Fallback implementiere ich grade. Und da es so gut passt, stand das halt auch im Arch-Forum, ich hab noch nicht in deren Änderungen reingeschaut, auf jeden Fall haben die eine Konfigurationsvariable zum Abschalten des Submenus eingeführt. Das wäre auch mein nächster Schritt gewesen.

Ich war da aber erst mal nur an meinem Vorteil interessiert und hab das von der anderen Seite angefangen zu implementieren, um erst mal Ruhe auf meinem System zu haben.
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

Offline der_bud

  • User
  • Posts: 1.072
  • member
Unterverzweigung mit >
« Reply #7 on: 2013/03/06, 08:40:13 »
Auch im neuen Grub kann man den Default-Eintrag ins Untermenü setzen, da jetzt eine Verzweigung mittels ">" unterstützt wird.
Auf der ersten Ebene wird ab 0 durchgezählt, ein Untermenü erhält die fortlaufende Nummer seiner Position. Innerhalb des Submenüs wird wieder mit 0 neu begonnen. Steht also das Untermenü an zweiter Stelle (entspricht 1) und im Untermenü soll der dritte Eintrag gestartet werden (entspricht 2), lautet der Eintrag in der /etc/default/grub (mit Anführungszeichen!)
Code: [Select]
GRUB_DEFAULT="1>2"
Code: [Select]
0 Titel1 (zB Kernel 3.8)
1 Titel2 (zB Erweitert....) >
            > 0 Untertitel1
            > 1 Untertitel2
            > 2 Untertitel3 (zB Kernel 3.7) <- als Default gesetzt
2 Titel2
...


Quelle: Ubuntu ,  unter siduction hier erfolgreich getestet
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline oduffo

  • User
  • Posts: 198
Unterverzweigung mit >
« Reply #8 on: 2013/03/06, 14:58:57 »
@der_bud

Du hast jetzt einen gut bei mir.
Diese Lösung funktioniert auch bei mir einwandfrei. Vielen Dank für die Antwort.

Gruß
oduffo