
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.
debug
Ich 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
( debug
ist 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/cmdline
und suche danach. Das ist im Grunde schon alles.