savedefault bei grub2?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

savedefault bei grub2?

Beitrag von hupfdule » 26.09.2009 09:22:12

In meinem Testing wurde mir jetzt zwangsweise grub2 untergeschoben. Nur wurde die Konfiguration von grub-legacy nicht gerade schön übernommen. Ich habe jetzt in /etc/default/grub folgenden Eintrag gemacht:

Code: Alles auswählen

GRUB_DEFAULT=saved
Damit das funktioniert brauch ich jedoch noch die savedefault Optionen. Wo geb ich die denn an? Gibt es die in grub2 überhaupt noch?

Wieso ist die Doku zu grub2 eigentlich so nichtssagend?
Und um ehrlich zu sein, hat mich das savedefault schon immer gestört. Ich hätte gerne konkret einen default Kernel angegeben. Die Variante von grub, dass ich den Index-Eintrag angeben muss, ist allerdings ziemlicher Schwachsinn, weil sich dann bei jedem neuen Eintrag dieser Index ändert und der falsche Kernel gebootet wird. Gibt es nicht eine Möglichkeit den Kernel direkter anzugeben, so wie bei LiLo?

Und wenn ich schon am rumjammern bin ;-), bei LiLo konnte man mit Shift oder Strg das Booten verhindern, so dass er im Bootmenü stehen blieb, bis eine Auswahl gemacht wurde. Gibt's das auch in grub? Dort hab ich das bisher nur mit den Pfeiltasten geschafft, aber damit wird ja auch gleich der Cursor verschoben, was ziemlich blöd ist, wenn man gerne gesehen hätte, was denn grub als default Eintrag nimmt.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: savedefault bei grub2?

Beitrag von rendegast » 26.09.2009 13:03:26

Ist meiner Meinung nach noch im Werden, was es kann kann es aber scheinbar gut.

grub2 ist halt "anders" als grub(-legacy),
ist alles irgendwie da, nur woanders.
Wie das Windows-Feeling XP->Vista/Windows7 :)


grub2 - grub - Kommandos :
http://grub.enbug.org/CommandList
leider (noch): "default | yes | yes | missing support for label and saved "


Der timeout bleibt eigentlich stehen,
sobald Du einen anderen Eintrag anwählst.
Du wirst Doch wissen, wie oft Du RUNTER oder RAUF drückst?
Vielleicht mit der Leertaste, ALT-Taste, ESC-Taste, ...?
Ganz sicher doch noch mit 'c' oder 'e'?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Re: savedefault bei grub2?

Beitrag von hupfdule » 29.09.2009 14:31:12

rendegast hat geschrieben: Der timeout bleibt eigentlich stehen,
sobald Du einen anderen Eintrag anwählst.
Richtig, ich will den Timeout aber gar nicht haben. Es ist eher selten, dass ich das Bootmenü wirklich brauche. Bei LiLo hatte ich früher den Timeout auf 0 gesetzt, und wenn ich das Bootmenü brauchte, dann hab ich beim Booten die Shift-Taste festgehalten, so dass das Bootmenü stehen blieb.
Du wirst Doch wissen, wie oft Du RUNTER oder RAUF drückst?
Nein, weil ich ja nicht weiß, ab wann grub auf meine Tastendrücke reagiert.
Vielleicht mit der Leertaste, ALT-Taste, ESC-Taste, ...?
Ganz sicher doch noch mit 'c' oder 'e'?
Mir scheint, du gehst davon aus, dass ich die Taste erst im Bootmenü drücken will. Dazu muss ich den Timeout aber länger einstellen als mir recht ist. Das Verhalten von LiLo ist mir da am liebsten. Ich halte beim Booten die ganze Zeit die Shift-Taste gedrückt. Übernimmt LiLo die Kontrolle stellt es fest, dass diese Taste gedrückt ist und bleibt im Bootmenü stehen. Das hab ich mit grub noch nie hinbekommen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: savedefault bei grub2?

Beitrag von rendegast » 30.09.2009 06:02:35

12.4 The hidden menu interface
When your terminal is dumb or you request GRUB to hide the menu interface explicitly with the command hiddenmenu (see hiddenmenu), GRUB doesn't show the menu interface (see Menu interface) and automatically boots the default entry, unless interrupted by pressing <ESC>.
When you interrupt the timeout and your terminal is dumb, GRUB falls back to the command-line interface (see Command-line interface).
Habe es gerade ausprobiert, verbunden mit 'timeout 0' wird hier das von Dir geforderte Verhalten gezeigt:
Du siehst kein Menü, kannst es aber mit gedrücktem ESC aufrufen.

Bei grub2:
Instead of hiddenmenu command, you can implement the same functionality (or variations of it) using scripting features:

echo -n "Press `ESC' to enter the menu... "
if sleep --verbose --interruptible 10 ; then
set timeout=0
fi

This can be done in a /etc/grub.d/XX_script.
Das ist hier eine 10sec-Pause, aber kann wohl passend zugeschnitten werden.
Alternativ http://wiki.ubuntuusers.de/Baustelle/GR ... figuration :

Code: Alles auswählen

GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
Ob hier GRUB_HIDDEN_TIMEOUT=0 in Deinem Sinne funktioniert, kann ich mangels installiertem grub2 nicht ausprobieren.
GRUB_HIDDEN_TIMEOUT=1 wäre aber schon nahe dran.


> grub gewinnt :)


-----------------------------
nochmal http://wiki.ubuntuusers.de/Baustelle/GR ... figuration :
Von ISO-Dateien mittels loopback booten
Das können lilo + grub1 so nicht.
Leider müßten immer noch die isolinux-Einträge kopiert werden,
eleganter wäre ein direktes Booten des ISO-Image, was aber wohl Emulatorfähigkeiten bräuchte.
Es spart zumindest eine zusätzliche Bevorratung des COMPRESSED-Image und der Kernel..
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: savedefault bei grub2?

Beitrag von rendegast » 26.11.2010 16:39:21

Noch abschließend zu
hupfdule hat geschrieben:

Code: Alles auswählen

GRUB_DEFAULT=saved
Damit das funktioniert brauch ich jedoch noch die savedefault Optionen. Wo geb ich die denn an? Gibt es die in grub2 überhaupt noch?
Zusätzlich noch

Code: Alles auswählen

GRUB_SAVEDEFAULT=true
setzen, dann wird beim update-grub für jeden menuentry "savedefault" hinzugefügt,
eine in /etc/grub.d/00_header enthaltene Funktion

Code: Alles auswählen

function savedefault {
  if [ -z "\${boot_once}" ]; then
    saved_entry="\${chosen}"
    save_env saved_entry
  fi
}
zum Abspeichern des ausgewählten Starteintrags in /boot/grub/grubenv.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten