Что такое параметр BOOT_IMAGE в / proc / cmdline

В настоящее время я читаю книгу «Как работает Linux», а в главе 5 рассказывается о параметрах Linux. Любопытно, я начал видеть, какие параметры были переданы моему установленному ядру, когда он загружается и замечает:

BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64

Я искал онлайн для объяснения этого параметра, но не был успешным. Может ли кто-нибудь указать мне в правильном направлении, где я мог бы найти дополнительную информацию или объяснить, о чем этот BOOT_IMAGE ? Следует отметить, что я запускаю удаленный сервер Debian. Я знаю, что сама услуга виртуализирована, возможно, с Xen. Это связано с Xen и как он загружает экземпляры?

UPDATE: Поэтому, исследуя, я заметил, что vmlinuz-3.16.0-4-amd64 – это образ ядра. Также глядя на man bootparam он гласит:

Большая часть сортировки продолжается в linux / init / main.c. Во-первых, ядро ​​проверяет, является ли аргумент любым из специальных аргументов «root =», «nfsroot =», «nfsaddrs =», «ro», «rw», «debug» или «init». Смысл этих специальных аргументов описан ниже.

Все, что указано в форме 'foo = bar', которая не принимается в качестве функции настройки, как описано выше, затем интерпретируется как изменяемая переменная среды. Пример (бесполезный?) Должен был бы использовать «TERM = vt100» как аргумент aboot.

Любые оставшиеся аргументы, которые не были отобраны ядром и не интерпретировались как переменные среды, затем передаются на первый процесс, который обычно является программой init. Наиболее распространенным аргументом, который передается процессу init, является слово «single», которое инструктирует init загружать компьютер в однопользовательском режиме и не запускать всех обычных демонов. Проверьте страницу руководства для версии init, установленной в вашей системе, чтобы узнать, какие аргументы она принимает.

Запуск systemctl show-environment отобразит что-то вроде:

 [root@localhost ~]# systemctl show-environment BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin LANG=en_US.UTF-8 

Таким образом, похоже, что мы передаем аргумент местоположение образа Linux, с которого мы загружаемся. Остаются только оставшиеся вопросы: какой процесс использует эта переменная среды и почему?

One Solution collect form web for “Что такое параметр BOOT_IMAGE в / proc / cmdline”

Согласно http://homepage.smc.edu/morgan_david/cs40/lilo-readme.txt :

 LILO always passes the string BOOT_IMAGE=<name> to the kernel, where <name> is the name by which the kernel is identified (eg the label). This variable can be used in /etc/rc to select a different behaviour, depending on the kernel. 

Таким образом, он (или остается на некоторых системах) способ выборочно отличаться поведением сценариев загрузки, в зависимости от метки (или имени файла ядра на других загрузчиках). init вероятно, передает эту переменную вплоть до скриптов.

  • Можно ли напрямую запрашивать информацию о процессе из ядра Linux?
  • Как проверить, работает ли данный PID?
  • Как получить фактическое устройство клавиатуры с учетом выхода / proc / bus / input / devices?
  • Какая связь между jiffies и IPS? Как конвертировать jiffies в IPS?
  • разрешение root запрещено в / proc / 1 / exe
  • Как собираются данные в / proc / * и насколько они надежны?
  • Как proc обновляется об устройствах
  • Почему я не могу «tail -f / proc / $ pid / fd / 1`?
  • Как узнать, какие драйверы файловой системы скомпилированы в ядре linux?
  • Могу ли я добавить / proc / self?
  • Проблема с Pernicious USB-stick stall. Возврат исправления обходного пути?
  • Linux и Unix - лучшая ОС в мире.