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-ID: 85543

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

Ausgedruckt am: 25.11.2024 um 03:11 Uhr

Natureshadow
Natureshadow 16.04.2008 um 12:37:47 Uhr
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
gijoe
gijoe 16.04.2008 um 17:41:23 Uhr
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
Natureshadow
Natureshadow 17.04.2008 um 12:49:32 Uhr
Goto Top
Schau dir doch mal die Parameter von init an. Mehr kannst du damit natürlich nicht machen.

-nik
gijoe
gijoe 21.04.2008 um 11:24:08 Uhr
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
Natureshadow
Natureshadow 21.04.2008 um 13:29:19 Uhr
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
gijoe
gijoe 21.04.2008 um 14:41:05 Uhr
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
Natureshadow
Natureshadow 21.04.2008 um 15:49:39 Uhr
Goto Top
Bitte bitte.

Guckst du bitte noch hier: Wie kann ich einen Beitrag als gelöst markieren?

-nik