Передача пользовательского параметра из GRUB в ОС

Передача пользовательского параметра из GRUB в ОС

Моя программа, представляющая собой скрипты 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и поищет его. Вот, в принципе, и все.

Связанный контент