PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grub mit Parameterübergabe



Andi B.
26.02.04, 13:12
Hallo Leute,
ich möchte gerne einen 2. Menuepunkt beim Booten auswählen können.
Einen, der eine Variable mit Inhalt z.B'Arbeit' und einen, der den Inhalt 'Privat' an das System übergibt.
Anhand des Inhaltes der Variable möchte ich ein paar Links beim Booten umbiegen.

1. Wo kann ich die Variablen initialisieren? (/boot/grub/menu.lst???)
2. Wo kann ich dann die Variable auslesen? (irgendwo in /proc...)


Ich habe schon überall gesucht... gegoogelt u.s.w
wäre super, wenn mir da jemand weiterhelfen kann.


Viele Grüße
Andi

geronet
26.02.04, 19:19
Ui, das müsste recht einfach mit einem Kernelparameter zu bewerkstelligen sein.

Du verwendest bei beiden die gleiche Bootkonfiguration nur mit jeweils einem anderen Kernelparameter der eindeutig und noch nicht vorhanden ist (wie z.b arbeit oder privat :D ) und gibst diesen dem Kernel als Parameter.
In /proc/cmdline glaub ich kannste das dann wieder rausgreppen.

Grüsse, Stefan

Jasper
26.02.04, 19:53
Original geschrieben von geronet
Ui, das müsste recht einfach mit einem Kernelparameter zu bewerkstelligen sein.

Du verwendest bei beiden die gleiche Bootkonfiguration nur mit jeweils einem anderen Kernelparameter der eindeutig und noch nicht vorhanden ist (wie z.b arbeit oder privat :D ) und gibst diesen dem Kernel als Parameter.
In /proc/cmdline glaub ich kannste das dann wieder rausgreppen.


ansatz ist richtig, ist aber noch einfacher:

alle kernel-parameter, die der kernel nicht kennt werden an init weitergereicht. alles was init wiederum nicht kennt, wird von init als env-variable für die rc-skripte gesetzt.

ich hab das auf meinem notebook für die netzwerkkonfiguration gemacht:

in grub.conf:

kernel ... netcfg=<work|home>


in den sc-skripten:

if [ "${netcfg}" = "work" ]; then
...



-j

Andi B.
27.02.04, 13:09
Hallo Leute,

vielen Dank für die Hilfe! Hat alles wunderbar geklappt.

super :)

Gruß
Andi