
Моя программа, представляющая собой скрипты bash, запускается в пользовательском ISO-образе с Debian.
Мне нужен пункт меню GRUB, который передает параметр из GRUB в ОС, флаг отладки, чтобы я мог протестировать программу и в то же время иметь возможность не отлаживать ее, без необходимости изменять код.
Например, в Clonezilla у вас есть несколько параметров, таких как:
ocsdaemon_on="ssh"
который запускает ssh-сервер.
Я бы вставил в свой GRUB параметр debug
или другое пользовательское слово, затем в своей программе
DEBUG=<flag>
Возможно ли это? Как этого добиться?
решение1
Убедитесь, что ваш параметр не пересекается с каким-либо существующим параметром, и просто добавьте его в командную строку ядра. Смотрите список в документации ядра Linux здесь: https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
( debug
не является хорошим выбором для вашей программы: он уже используется для включения отладки ядра.)
Затем пусть ваша программа прочитает /proc/cmdline
и поищет его. Вот, в принципе, и все.