# Wo sind die lilo-Bootoptionen in KDM hin?[solved]

## spirou

Hallo,

ich habe seit dem Update auf KDE 3.4 das Problem, daß mir die LILO-Bootoptionen im KDM nicht mehr angezeigt werden. Im Kontrollzentrum ist die Option angehakt, bleibt aber wirkungslos.

Grüßle

Spirou  :Very Happy: 

----------

## spirou

*bump*

Könnte da evtl. mal jemand mit KDM und lilo nachgucken, ob die Optionen da sind?

Danke

Spirou  :Very Happy: 

----------

## Erlenmayr

Warum benutzt du überhaupt noch lilo?

----------

## Raistlin

 *Erlenmayr wrote:*   

> Warum benutzt du überhaupt noch lilo?

 

 :Very Happy:  you saved my day!

So was ähnliches habe ich mir heute auch gedacht, als ich gentoo auf meiner sparc ultra10 installiert habe --> da gibts silo - erinnert mich stark an LILO (dieses ewige /sbin/lilo nach jeder Änderung im Config-file ist nervtötend)

(btw. let the flamewar begin  :Smile:  )

Gruss, r.

----------

## spirou

 *Erlenmayr wrote:*   

> Warum benutzt du überhaupt noch lilo?

 

Tolle Antwort. Warum benutzt du eigentlich noch Linux? *g*

Ich halte von Grub nicht viel, abgesehen davon: Gibt es diese Option denn für KDM und Grub? Dann könnte man mal weiterreden.

Ich möchte diese Option gerne verwenden, weil ich es halt praktisch finde, wenn vor dem Neustart auswählen kann, was als nächstes gebootet werden soll. Dann kann ich in der Zwischenzeit z.B. Kaffee kochen, aufs Klo gehen oder was auch immer, ohne daß ich die ganze Zeit dem Runterfahren zusehen muß und dann doch verpasse, auszuwählen, weil in dem Moment grad das Telefon klingelt oder sonstwas.

Folgende Frage habe ich schon in diversen Foren gestellt, aber noch nie eine Antwort darauf bekommen:

Lilo hat ja die Option -R (set commandline for next reboot). Das heißt eben, daß das, was da eingestellt wird, genau einmal gebootet wird. Gibt's das bei Grub? Das konnte mir bisher keiner beantworten. Mir nützt nämlich das tollste bootmenü nix, wenn es sich um einen entfernten Rechner handelt. Mit lilo kann man so prima mal einen Kernel ausprobieren. Wenn's nicht klappt, Resetauftrag und es bootet wieder der alte Kernel.

Und zuletzt sei noch gesagt, daß die Antwort wie oben sowas von überflüssig ist. Wenn du einen konstruktiven Vorschlag hast (z.B. wie das gleiche Verhalten mit GRUB erreichbar ist) dann bitte, gern sogar. Ansonsten spar dir solchen Müll bitte.

Grüßle

Spirou  :Very Happy: 

----------

## Erlenmayr

Ob du es glaubst oder nicht: Ich fand es wirklich interessant, zu erfahren, warum jemand noch Lilo dem GRUB vorzieht.

Ich weiß nicht, ob das, was du beschrieben hat, auch der KDM das auch mit GRUB kann. Falls es nicht geht, ist das auf jeden Fall ein guter Grund, weiterhin Lilo zu verwenden.

----------

## Fauli

 *spirou wrote:*   

> Lilo hat ja die Option -R (set commandline for next reboot). Das heißt eben, daß das, was da eingestellt wird, genau einmal gebootet wird. Gibt's das bei Grub?

 

Laut diesem Artikel schon. Und KDM scheint das auch zu unterstützen. Wie das genau funktioniert, muss ich mir aber nochmal genauer anschauen.

----------

## schachti

 *spirou wrote:*   

> 
> 
> Folgende Frage habe ich schon in diversen Foren gestellt, aber noch nie eine Antwort darauf bekommen:
> 
> Lilo hat ja die Option -R (set commandline for next reboot). Das heißt eben, daß das, was da eingestellt wird, genau einmal gebootet wird. Gibt's das bei Grub? Das konnte mir bisher keiner beantworten. Mir nützt nämlich das tollste bootmenü nix, wenn es sich um einen entfernten Rechner handelt. Mit lilo kann man so prima mal einen Kernel ausprobieren. Wenn's nicht klappt, Resetauftrag und es bootet wieder der alte Kernel.
> ...

 

Sowas geht auch mit grub, schau Dir mal info grub an, darin ist das beschrieben (Abschnitt 4.3).

----------

## spirou

Aber vermutlich nicht mit KDM, oder? Da ich ja eigentlich mit lilo keine Probleme hab, möchte ich nur ungern umsteigen (irgendwie kapier ich nicht, wozu ich so einen Aufwand für etwas treiben soll, das so selten benötigt wird).

Grüßle

Spirou  :Very Happy: 

----------

## schachti

Ob's mit KDM geht, weiß ich nicht - Du hattest gefragt, ob grub sowas überhaupt kann. :Razz: 

----------

## STiGMaTa_ch

 *spirou wrote:*   

> Folgende Frage habe ich schon in diversen Foren gestellt, aber noch nie eine Antwort darauf bekommen:
> 
> Lilo hat ja die Option -R (set commandline for next reboot). Das heißt eben, daß das, was da eingestellt wird, genau einmal gebootet wird. Gibt's das bei Grub? Das konnte mir bisher keiner beantworten. Mir nützt nämlich das tollste bootmenü nix, wenn es sich um einen entfernten Rechner handelt. Mit lilo kann man so prima mal einen Kernel ausprobieren. Wenn's nicht klappt, Resetauftrag und es bootet wieder der alte Kernel.

 

Vorweg... ich wusste die Antwort auch nicht! Aber 15 Minuten Googlen, einige Tests auf dem Rechner und schon ist die Lösung vorhanden!

Das nächste mal solltest du vielleicht auch Google zu Rate ziehen und nicht nur Foren befragen  :Laughing: 

Wie dem auch sei...

Mit GRUB ist es ebenfalls Möglich einen Kernel nur einmal zu laden. Mehr noch! Du kannst - wenn du Lust hast - auch eine ganze Serie von Kerneln laden lassen (also z.B. zuerst den neusten, dann den zweitneusten und zum Schluss den uralten).

Machbar ist das folgendermassen:

Normalerweise hat man GRUB ja so konfiguriert, dass man z.B. mehrere Kernel Einträge drinn stehen hat und mit default NUMMER wird der "normalerweise zu bootende Kernel" gesetzt. Das könnte dann z.B. so aussehen:

 *Quote:*   

> default 0
> 
> timeout 10
> 
> title the old kernel
> ...

  In diesem Beispiel wird also immer der alte Kernel geladen.

Damit nun z.B. der neue Kernel nur einmal geladen wird muss man einmalig eine Aenderung in grub.conf vornehmen. Danach kann man mittels einem Commandline Tool einfach switchen.

Zuerst einmal die Aenderung:

 *Quote:*   

> default saved
> 
> timeout 10
> 
> title the old kernel
> ...

 

Wie man sieht ist nun default saved sowie savedefault als neue Option hinzugekommen. Default saved weist GRUB an, in Zukunft den default Kernel zu booten, welcher in /boot/grub/default angegeben ist. Würde man nun NUR mit default saved arbeiten, könnte man zwar einfach immer die Datei /boot/grub/default anpassen um einen anderen Kernel zu laden, jedoch würde er dann immer den in /boot/grub/default angegebenen Kernel laden. Wir wollen jedoch, dass nach dem start des "new Kernel" wieder der "old Kernel" geladen wird.

Dazu dient die Option "savedefault NUMMER". Sobald also der Kernel "new kernel" geladen wird, veranlasst die Option savedefault 0 GRUB dazu, die Datei /boot/grub/default anzupassen. Beim nächsten booten liest GRUB dann wieder /boot/grub/default  aus, sieht dort, dass auf 0 (=old Kernel) gesetzt wurde und lädt diesen Kernel ein. Da bei old_kernel nur die Option "savedfault" drinn steht, wird /boot/grub/default erneut angepasst und zwar mit dem Wert für sich selber.

Und nun die Gretchenfrage: Wie kann ich mit EINEM Befehl einen anderen Kernel auswählen?

Nun, dafür gibt es den Befehl grub-set-default NUMMER. Damit weist du GRUB an, beim nächsten reboot einfach Kernel mit der Nummer NUMMER zu booten.

Liest sich im ersten Augenblick zwar kompliziert, ist aber ganz simpel und sogar flexibler als die -R Option bei Lilo.

Hier nochmals ein Beispiel:

Du hast einen 100% funktionierenden 2.4er Kernel und möchtest nun mal ausprobieren ob ein 2.6er bei dir auch funktioniert. Nach dem kompilieren, kopieren und konfigurieren der grub.conf sieht diese in Auszügen etwa so bei dir aus:

 *Quote:*   

> default saved
> 
> timeout 10
> 
> title Stabiler 2.4.25 Kernel
> ...

 

Solange du nun nichts weiter veränderst, wird immer dein 2.4er Kernel gebootet. Nun möchtest du aber den 2.6er testen. Du gibst also in der Shell als root folgenden Befehl ein:

```
grub-set-default 1
```

Nach dem Reboot passiert nun ungefähr folgendes:

```
1.) GRUB wird gestartet und liest /boot/grub/default aus. Darin steht nun 1 als Eintrag welchen wir ja mittels grub-set-default 1 gesetzt hatten.

2.) GRUB startet also den 2.6.11 Kernel und setzt seinerseits den Eintrag in /boot/grub/default wieder auf 0, da er dies mittels savedefaults 0 übermittelt bekommen hat.

3.) Dein System startet, du testest das Feature, bist aber nicht glücklich. Daher rebootest du.

4.) GRUB wird gestartet und liest /boot/grub/default aus. Darin steht nun 0 als Eintrag.

5.) GRUB startet den 2.4.25 Kernel und ändert den Eintrag in /boot/grub/default wieder auf 0 (resp. der Eintrag bleibt gleich).
```

Tja, ist doch eigentlich ganz einfach oder?  :Cool: 

 *Quote:*   

> Und zuletzt sei noch gesagt, daß die Antwort wie oben sowas von überflüssig ist. Wenn du einen konstruktiven Vorschlag hast (z.B. wie das gleiche Verhalten mit GRUB erreichbar ist) dann bitte, gern sogar. Ansonsten spar dir solchen Müll bitte.
> 
> 

 

Also ich hatte seine Frage nicht als Anmache verstanden sondern als Versuch herauszufinden, was dich an LILO hält  :Wink: 

EDIT

Wie doch die Zeit vergeht  :Laughing: 

Da waren einige wohl etwas schnell als ich mit dem posten  :Wink: 

Lieber Gruss

STiGMaTa

----------

## spirou

Zum Beispiel die Ausgangsfrage? Wie also funktioniert das ganze mit KDM?

Ansonsten vielen Dank für die ausführliche Antwort, die mir auf jeden Fall weiterhilft als die erste.

Ich finde sowas halt immer nervig, weil es halt nichts zur Problemlösung beiträgt. Wenn jemand fragt, wie man mit GIMP ein Bild verkleinert, frage ich doch auch nicht, warum er nicht Photoshop nimmt.

Wenn KDM (zumindest im Kontrollzentrum) die Option, die ich brauche anbietet und diese nicht funktioniert, gehe ich logischerweise von einem Fehler aus und suche dafür eine Lösung.

Wenn jemand hier schreibt "Mein Kernel bootet nicht", frage ich doch auch nicht "Warum nimmst du nicht Windows?", mal überspitzt gesagt. Sorry für die harsche Reaktion, aber bei sowas geht mir immer die Hutschnur hoch  :Wink: .

Jetzt wär halt mal interessant, ob denn jemand die Optionen angezeigt bekommt, also ob der Fehler nur bei mir auftritt oder ob das bei allen so ist.

Grüßle

Spirou  :Very Happy: 

----------

## sprittwicht

Hab das gleiche Problem. Weiß ehrlich gesagt gar nicht mehr, ob es unter KDE 3.3 noch so lief, wie es sollte, aber unter 3.4 klappt's hier definitiv auch nicht mehr. Früher (TM) lag das Problem mal darin, dass KDM das LILO-Mapfile standardmäßig in /boot/map erwartete, es aber zumindest unter meinem Gentoo in /boot/.map lag.

Folgende Änderung in /usr/kde/3.x/share/config/kdm/kdmrc brachte mal Abhilfe:

```
[Shutdown]

LiloMap=/boot/.map

```

Klappt aber wie gesagt nicht mehr. Gibt's eigentlich irgendwo ne gescheite Dokumentation zu den KDE-Konfigurationsdateien? Die beschränkten Einstellmöglichkeiten im Kontrollzentrum sind jawohl eher ein Witz.  :Sad: 

----------

## hillfrog

Leider ist die Dokumentation von KDM lückenhaft.

Nach dem durchsuchen der Dokumentation auf de, en und en_GB, welche in der Section "Shutdown" alle unterschiedlich sind, ist mir eine neue Option für die Datei kdmrc aufgefallen:

```

BootManager=

  The boot manager kdm should use for offering boot options in the shutdown dialog. 

  None - no boot manager

  Grub - Grub boot manager

  Lilo - Lilo boot manager (Linux on i386 & x86-64 only)

  The default is None.

```

Meine Shutdown-Section der kdmrc:

```

[Shutdown]

  HaltCmd=/sbin/halt

  RebootCmd=/sbin/reboot

  UseLilo=true

  BootManager=Lilo

  LiloCmd=/sbin/lilo

  LiloMap=/boot/map

```

Die Bootoptionen werden angezeigt und können sogar beim abmelden von KDE verwendet werden.

Ich nutze Grub und die Implementation dafür scheint noch nicht fertig zu sein, da ich bei der Einstellung

```

  BootManager=Grub

```

nur ein leeres Auswahlfenster erhalte.

Vielleicht weiß da ja jemand etwas genaueres.

----------

## chickenhuhn

Um zu deinem zweiten Eintrag zu kommen. Man kann das - wenigstens sunter KDE 3.4.1 - nicht im Kontrollzentrum aktivieren. Ich meine mich zu erinnern, dass das früher möglich war. Die Option haben sie dann wohl rausgenommen.

Ich bin übrigens auch - entgegen aller Meinungen - noch ein LILO Anhänger  :Laughing:   Nach zwei Tagen rumprobieren mit GRUB, dass sich trotz grösster Mühen meinerseits immer wieder ins Nirvana verabschiedete, hab ichs mit LILO probiert und es hat tatsächlich beim ersten Mal geklappt  :Twisted Evil: 

----------

## spirou

hillfrog, du bist mein Held! Genau so funktioniert es.

Vielen Dank  :Smile: 

Grüßle

Spirou  :Very Happy: 

----------

## Fauli

 *hillfrog wrote:*   

> Ich nutze Grub und die Implementation dafür scheint noch nicht fertig zu sein, da ich bei der Einstellung
> 
> ```
> 
>   BootManager=Grub
> ...

 

Du musst dafür /boot (zumindestens readonly) mounten, damit KDM die Liste der Systeme aus /boot/grub/menu.lst lesen kann.

KDM versucht dann aber, die getroffene Auswahl mit dem GRUB-Kommando savedefault --default=%d --once zu speichern. Diese Optionen zu savedefault sind aber nicht in den Original-Quellen von GRUB enthalten, sondern nur in den gepatchten Versionen einiger Distributionen (siehe 'lilo -R' functionality for GRUB). Aus KDM heraus kann man also nicht festlegen, was GRUB als nächstes booten soll.

----------

## hillfrog

Danke für die Antwort Fauli.

Ich habe /boot eingebunden.

Ich gehe mal davon aus, dass ich die ungepatchte Version von Grub besitze.

Ehrlich gesagt, ist mir das allerdings auch nicht so wichtig, da ich von der Betriebssystemauswahl, auch in den Zeiten von Lilo, kaum Gebrauch gemacht habe.

Grüße hillfrog

----------

