Übergeben benutzerdefinierter Parameter von GRUB an das Betriebssystem

Übergeben benutzerdefinierter Parameter von GRUB an das Betriebssystem

Mein Programm, bei dem es sich um Bash-Skripte handelt, läuft in einem benutzerdefinierten ISO mit Debian.

Ich möchte einen GRUB-Menüeintrag, der einen Parameter von GRUB an das Betriebssystem übergibt, ein Debugging-Flag, sodass ich das Programm testen und gleichzeitig eine Nicht-Debugging-Option haben kann, ohne den Code ändern zu müssen.

In Clonezilla gibt es beispielsweise mehrere Parameter wie:

ocsdaemon_on="ssh"

wodurch ein SSH-Server gestartet wird.

debugIch würde in meinem GRUB den Parameter oder ein anderes benutzerdefiniertes Wort eingeben und dann in meinem Programm

DEBUG=<flag>

Ist das möglich? Und wie erreicht man das?

Antwort1

Stellen Sie sicher, dass sich Ihr Parameter nicht mit einem vorhandenen Parameter überschneidet, und fügen Sie ihn einfach zur Kernel-Befehlszeile hinzu. Die Liste finden Sie hier in der Linux-Kernel-Dokumentation: https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html

( debugist keine gute Wahl für Ihr Programm: es wird bereits verwendet, um das Kernel-Debugging zu aktivieren.)

Dann lass es von deinem Programm lesen /proc/cmdlineund suche danach. Das ist im Grunde schon alles.

verwandte Informationen