gijoe
Goto Top

Mit Grub ein Script ausführen?

Hi,

Ich würde gerne bei der GRUB-Auswahl Parameter mitgeben, die mir dann vor dem grafischen (Suse)Linux-boot ein Shellscript ausführen. Also den ablauf stelle ich mir so vor:

- Grub startet Suse Linux 10.3 (mit Parameter x=?)
- danach lädt er alles mögliche (inkl. Netzwerk)
- bevor er aber den grafischen Login-Screen lädt, soll er jetzt ein Shell-Script ausführen (wo er die Paramter des GRUB's auswertet)

Die Parameter können simpel sein, von mir aus nur ein Wert "true" oder "false".

Also meine Konkreten Fragen:
- Wie gebe ich dem Grub Parameter mit?
- Wie kann ich mein Shell Script vor dem grafischen boot starten?
- Wie greife ich auf die Grub-Variablen zu?

Sinn der Sache:
Das Script schaut, ob updates für eine virtuelle Maschine vorhanden sind, und lädt diese bei bedarf runter.

Content-Key: 85543

Url: https://administrator.de/contentid/85543

Printed on: April 20, 2024 at 03:04 o'clock

Member: Natureshadow
Natureshadow Apr 16, 2008 at 10:37:47 (UTC)
Goto Top
Hallo,

vielleicht helfen dir die folgenden Tipps von mir:

1. Jeder Parameter auf deiner Boot-Kommandozeile, die der Kernel nicht interpretiert, werden an init weitergegeben.

2. In /proc/cmdline steht deine Kernel-Kommandozeile.

3. Du kannst in /etc/rc*.d beliebige Scritps anlegen. Die Zahlen hinter K und S definieren die Startreihenfolge.

Grüße,
Nik
Member: gijoe
gijoe Apr 16, 2008 at 15:41:23 (UTC)
Goto Top
eine Frage zu 1) : Also wenn ich schreibe: echo "true">/root/test.txt dann gibt er das an init weiter und der führt den Befehl aus? Oder wie muss ich mir das vorstellen?

Danke für das Aufgreiffen des Threadsface-smile
Member: Natureshadow
Natureshadow Apr 17, 2008 at 10:49:32 (UTC)
Goto Top
Schau dir doch mal die Parameter von init an. Mehr kannst du damit natürlich nicht machen.

-nik
Member: gijoe
gijoe Apr 21, 2008 at 09:24:08 (UTC)
Goto Top
Sorry dass ich nochmals nachhake: Ich sehe keinen Ansatz für den ersten Schritt. Ich erreichte bis jetzt nur Kernel-Panic. Also kann ich im menu.lst einen Parameter anhängen, der dann an init weitergereicht wird? Ein klitzekleiner Hinweis würde mich freuenface-smile
Member: Natureshadow
Natureshadow Apr 21, 2008 at 11:29:19 (UTC)
Goto Top
init erwartet genau einen Parameter: den Runlevel. Wenn du an deine Kernel-Kommandozeile also eine 2 anhängst, bootet init in den Runlevel 2.

Diese Sache wird dich nicht weiterbringen, es gehört aber zu den Dingen die du mit der Kernel-Kommandozeile machen kannst. Eventuell kannst du ja mit verschiedenen Runleveln verschiedene Scripte ausführen ...

-nik
Member: gijoe
gijoe Apr 21, 2008 at 12:41:05 (UTC)
Goto Top
Ah ok. Ich habs jetzt anders gelöst. Mit dem Parameter "-z", also "-z windowsvm". Dieses Flag wird vom init ignoriert, taucht aber im boot.msg auf. So klappts. Danke für deine Hinweise und Zeit!

Gruss
Member: Natureshadow
Natureshadow Apr 21, 2008 at 13:49:39 (UTC)
Goto Top
Bitte bitte.

Guckst du bitte noch hier: How can I mark a post as solved?

-nik