Siduction Forum

Siduction Forum => Software - Support => Topic started by: spacepenguin on 2013/02/23, 00:43:36

Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: spacepenguin on 2013/02/23, 00:43:36
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?
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: agaida on 2013/02/23, 12:58:31
schau mal in die /etc/default/grub :)

und lsb-base könnte einen auch weiterbringen. Schön ist das nicht
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: spacepenguin on 2013/02/23, 17:13:34
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...
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: spacepenguin on 2013/02/23, 17:19:36
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... -?-
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: agaida on 2013/02/23, 18:27:50
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.
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: spacepenguin on 2013/02/24, 01:16:19
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...
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: agaida on 2013/02/24, 01:31:17
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.
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: devil on 2013/02/24, 10:11:39
...was bei uns z. B. /etc/siduction-version wäre

greetz
devil
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: bluelupo on 2013/02/24, 14:15:24
Hi spacepenguin,
kann es sein das bei dir lsb_release nicht installiert ist? War nämlich bei mir nicht standardmäßig installiert.
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: michaa7 on 2013/02/24, 15:01:46
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?
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: towo on 2013/02/24, 15:03:56
~/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
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: michaa7 on 2013/02/24, 15:07:34
oder man schreibt es statt mit unterstrich mit bindestrich, auch ne möglichkeit ;-)
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: spacepenguin on 2013/02/24, 19:19:58
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... ?
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: agaida on 2013/02/24, 20:27:01
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
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: cas on 2013/02/25, 11:05:30
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 (http://forum.siduction.org/index.php?msg=27713#27713)

gruss, c
Title: woher nimmt Grub2 die Namen für die Einträge?
Post by: agaida on 2013/02/25, 16:43:30
Nö, ich meinte den hier: http://forum.siduction.org/index.php?topic=3190

Wollte ich eigentlich angehängt haben, sorry.