woher nimmt Grub2 die Namen für die Einträge?

Started by spacepenguin, 2013/02/23, 00:43:36

Previous topic - Next topic

spacepenguin

Das os-prober Script ist ja für die Feststellung der anderen installierten Betriebssysteme zuständig. Aber ich kapiere nicht, woher es die Information bezieht.

Ein installiertes Kanotix z.B. wird als "Debian 6.0.5" in Grub angezeigt, in der /etc/default/grub und /boot/grub/grub.cfg steht aber als Bezeichnung "Kanotix". siduction wird "richtig" angezeigt (habt ihr gut gemacht!) - aber woraus zieht sich Grub die Information bei den anderen Distributionen?
Susan | Hardware: SysProfile
Music-Profile: http://www.last.fm/de/user/spacepengu

agaida

schau mal in die /etc/default/grub :)

und lsb-base könnte einen auch weiterbringen. Schön ist das nicht
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

spacepenguin

Wie bereits geschrieben, würde Grub etwas anderes anzeigen, wenn er denn die /etc/default/grub aller installierten Distributionen auslesen würde. Das kann es irgendwie nicht sein.

Ich weiß nicht mehr, ob das bei siduction anfangs auch so war, aber zumindest bei aptosid war es so, daß immer in Grub "Debian (wheezy/sid)" o.ä. angzeigt hat. Woher hat Grub die Bezeichnung genommen? Bzw. woher nimmt er sie, wenn diese Distribution nicht den installierten Grub verwaltet?

Ein Blick in das os-prober Script hat mich auch nicht weitergebracht... und mit lsb-base, meinst du die Doku dazu?

Es muß doch möglich sein, den installierten Distributionen sprechende Namen zu geben, ohne die Automatik des os-probers auszuschalten...
Susan | Hardware: SysProfile
Music-Profile: http://www.last.fm/de/user/spacepengu

spacepenguin

Auch ein siduction Desperado nebenher installiert wird in Grub (der von einem anderen siduction Desperado gesteuert wird, wo siduction als siduction angezeigt wird) als "Debian wheezy/sid" angezeigt... -?-
Susan | Hardware: SysProfile
Music-Profile: http://www.last.fm/de/user/spacepengu

agaida

hi spacepenguin,
was ist an

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`


misszuverstehen? Und ja, es k...t mich auch an. und mit Grub2 ist das noch viel schöner geworden, da nun in den Haupteinträgen der Kernelname nicht mehr angezeigt wird.

irgendwas könnte man sich da überlegen, mal schauen, wie das andere Distributionen machen. Eine Möglichkeit wäre, über das/die version-files in der etc zu gehen.

Und jetzt kommt der Haken: Wenn sich os-probe das aus den schon gebauten Grub-Einträgen raussucht, dann darf man das in allen Installationen ändern, bevor da was vernünftiges rauskommt. Schaun wir mal, was man damit alles spielen kann.
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

spacepenguin

Was daran mißzuverstehen ist? Dass das meinem Eindruck nach nicht genommen wird, was da steht... Selbst wenn ich da "HundKatzeMaus" reinschreibe, wird "Debian" vom "Fremd-Grub" genommen...

Wäre schön, wenn es da eine Lösung gäbe... gerade jetzt mit der Grub-Neuerung...
Susan | Hardware: SysProfile
Music-Profile: http://www.last.fm/de/user/spacepengu

agaida

Die Lösung steht doch im Forum im Grub2-Thread und in der von mir geposteten Code-Zeile.

Quote from: "agaida"
Und jetzt kommt der Haken: Wenn sich os-probe das aus den schon gebauten Grub-Einträgen raussucht, dann darf man das in allen Installationen ändern, bevor da was vernünftiges rauskommt. Schaun wir mal, was man damit alles spielen kann.

Diese Aussage bedeutet nichts anderes, als das Du das rekursiv für alle einzubindenden Installationen machen musst. Sonst wird da nur Grütze stehen. Sorry, ist aber so.

Und nu klamüsern wir noch mal die Code-Zeile auseinander:
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

Da steht nun wirklich nichts anderes als: Nimm das Zeug, was lsb_release zurückliefert oder schreib da Debian rein.

Wenn also lsb_release nichts (Fehler) zurückliefert, weil zum Beispiel nicht installiert, wird da immer 'Debian' stehen.

Lösung:

GRUB_DISTRIBUTOR=`echo MeinWunschDistriName`


oder irgendein Konstrukt, was mit awk oder sonst was auf ein Versionsfile zugreift.
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

devil

...was bei uns z. B. /etc/siduction-version wäre

greetz
devil

bluelupo

Hi spacepenguin,
kann es sein das bei dir lsb_release nicht installiert ist? War nämlich bei mir nicht standardmäßig installiert.

michaa7

Und wie hast du das installiert?
Quote# apt-cache policy lsb_release
N: Paket lsb_release kann nicht gefunden werden.

EDIT://
ok, das betreffende paket heißt "lsb", nicht sicher ob "man" das wirklich installieren sollte?
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

towo

~/bin
towo:Defiant> apt-cache policy lsb-release
lsb-release:
 Installiert:           4.1+Debian9
 Installationskandidat: 4.1+Debian9
 Versionstabelle:
*** 4.1+Debian9 0
       500 http://http.debian.net/debian/ unstable/main amd64 Packages
       100 /var/lib/dpkg/status
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

michaa7

oder man schreibt es statt mit unterstrich mit bindestrich, auch ne möglichkeit ;-)
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

spacepenguin

Quote from: "agaida"Die Lösung steht doch im Forum im Grub2-Thread und in der von mir geposteten Code-Zeile.

[..]

Lösung:

GRUB_DISTRIBUTOR=`echo MeinWunschDistriName`

Was die "lsb_release..."Zeile tut, war mir so schon klar, bis auf die Kleinigkeit, daß das ein Befehl sein *muß*. Und daß ich alle anderen installierten Distributionen anfassen muß, ist mir auch klar. Aber ich habe dann statt "Debian" da bei allen anderen was anderes reingeschrieben und das hat nicht funktioniert. Und das finde ich merkwürdig: da lsb_release da nicht installiert ist, hätte der geänderte Name doch ausgegeben werden müssen. Tut er auch, wenn ich den Grub der Distribution verwende, aber nicht unter einem Fremd-Grub.

Dann habe ich es mit ohne lsb_release und nur GRUB_DISTRIBUTOR='HundKatzeMaus' probiert und das wird auch ignoriert. Es muß also ein "echo" davor? Dann probier ich das mal... Und lsb-release installier ich auch mal nach...

BTW: Welcher "Grub2-Thread"? Irgendwie übersehe ich den wohl in der Suche immer...

Edit: Ich verstehe das immer noch nicht... Der zuständige Grub2 liest doch nicht die GRUB_DISTRIBUTOR-Zeile der anderen installierten Distributionen aus... ?
Susan | Hardware: SysProfile
Music-Profile: http://www.last.fm/de/user/spacepengu

agaida

da müsstest Du dann in die quellen des os-probers schauen, was der so macht. Ich dachte bisher, dass der sich an den vorhandenen Grubs bedient
There's this special biologist word we use for "stable". It's "dead". ~ Jack Cohen

cas

#14
Quote from: spacepenguin
Quote from: agaidaDie Lösung steht doch im Forum im Grub2-Thread und in der von mir geposteten Code-Zeile.
BTW: Welcher "Grub2-Thread"? Irgendwie übersehe ich den wohl in der Suche immer...

ich bin da auch drüber gestolpert, aber es handelt sich um _diesen_ Thread, nur weiter oben :lol:


http://forum.siduction.org/index.php?msg=27713#27713

gruss, c