Параметры загрузки ядра Linux

Обновлено: 02.07.2024

Ниже приведен сводный список параметров ядра, реализованных (в основном) макросом __setup() и отсортированных в порядке английского словаря (определяемом как игнорирование всех знаков препинания и сортировка цифр перед буквами без учета регистра) и с описания там, где они известны.

Параметры модуля для загружаемых модулей указываются только в виде имени параметра с необязательным знаком '=' и соответствующим значением, например:

modprobe usbcore blinkenlights=1

Параметры модуля для модулей, встроенных в образ ядра, указываются в командной строке ядра с именем модуля плюс '.' плюс имя параметра с '=' и значением, если это необходимо, например:

Этот документ может быть не совсем актуальным и неполным. Команда "modinfo -p $" показывает текущий список всех параметров загружаемого модуля. Загружаемые модули после загрузки в работающее ядро ​​также раскрывают свои параметры в /sys/module/$/parameters/. Некоторые из этих параметров могут быть изменены во время выполнения командой «echo -n $ > /sys/module/$/parameters/$».

Перечисленные ниже параметры действительны только в том случае, если были включены определенные параметры сборки ядра и присутствует соответствующее оборудование. Текст в квадратных скобках в начале каждого описания указывает ограничения, в которых применим параметр:

Кроме того, следующий текст указывает, что параметр:

Параметры, обозначенные BOOT, на самом деле интерпретируются загрузчиком и не имеют прямого значения для ядра. Не изменяйте синтаксис параметров загрузчика без крайней необходимости или согласования с .

Есть также параметры ядра, специфичные для архитектуры, которые здесь не задокументированы. См. например .

Обратите внимание, что ВСЕ параметры ядра, перечисленные ниже, УЧИТЫВАЮТ РЕГИСТР, и что знак = в конце имени любого параметра указывает, что этот параметр будет введен как переменная среды, тогда как его отсутствие указывает, что он будет отображаться как читаемый аргумент ядра. через /proc/cmdline программами, запущенными после запуска системы.

Количество параметров ядра не ограничено, но длина полной командной строки (параметры, включая пробелы и т. д.) ограничена фиксированным количеством символов. Это ограничение зависит от архитектуры и составляет от 256 до 4096 символов. Он определен в файле ./include/asm/setup.h как COMMAND_LINE_SIZE.

Ниже приведен сводный список параметров ядра, реализованных макросами __setup(), core_param() и module_param() и отсортированных в соответствии со словарем английского языка (определяется как игнорирование всех знаков препинания и сортировка цифр перед буквами без учета регистра). способом) и с описаниями, если они известны.

Ядро анализирует параметры из командной строки ядра до «–»; если он не распознает параметр и не содержит «.», параметр передается в init: параметры с «=» передаются в среду init, другие передаются в качестве аргументов командной строки для init. Все после "-" передается в качестве аргумента в init.

Параметры модуля можно указать двумя способами: через командную строку ядра с префиксом имени модуля или через modprobe, например:

Параметры модулей, встроенных в ядро, необходимо указывать в командной строке ядра. modprobe просматривает командную строку ядра (/proc/cmdline) и собирает параметры модуля при загрузке модуля, поэтому командную строку ядра можно использовать и для загружаемых модулей.

Дефисы (дефисы) и символы подчеркивания эквивалентны в именах параметров, поэтому:

также можно ввести как:

Двойные кавычки можно использовать для защиты пробелов в значениях, например:

списки процессоров:¶

Некоторые параметры ядра принимают в качестве значения список процессоров, например. isolcpus, nohz_full, irqaffinity, rcu_nocbs. Формат этого списка:

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

Например, в командную строку можно добавить следующий параметр:

где последний элемент представляет ЦП 100 101 125 126 150 151.

Этот документ может быть не совсем актуальным и неполным. Команда «modinfo -p $» показывает текущий список всех параметров загружаемого модуля. Загружаемые модули после загрузки в работающее ядро ​​также раскрывают свои параметры в /sys/module/$/parameters/. Некоторые из этих параметров можно изменить во время выполнения с помощью команды echo -n $ > /sys/module/$/parameters/$ .

Перечисленные ниже параметры действительны только в том случае, если были включены определенные параметры сборки ядра и присутствует соответствующее оборудование. Текст в квадратных скобках в начале каждого описания указывает ограничения, в которых применим параметр:

Кроме того, следующий текст указывает, что параметр:

Параметры, обозначенные BOOT, на самом деле интерпретируются загрузчиком и не имеют прямого значения для ядра. Не изменяйте синтаксис параметров загрузчика без крайней необходимости или согласования с .

Есть также параметры ядра, специфичные для архитектуры, которые здесь не задокументированы. См. например .

Обратите внимание, что ВСЕ параметры ядра, перечисленные ниже, УЧИТЫВАЮТ РЕГИСТР, и что знак = в конце имени любого параметра указывает, что этот параметр будет введен как переменная среды, тогда как его отсутствие указывает, что он будет отображаться как читаемый аргумент ядра. через /proc/cmdline программами, запущенными после запуска системы.

Количество параметров ядра не ограничено, но длина полной командной строки (параметры, включая пробелы и т. д.) ограничена фиксированным количеством символов. Это ограничение зависит от архитектуры и составляет от 256 до 4096 символов. Он определен в файле ./include/asm/setup.h как COMMAND_LINE_SIZE.

Наконец, суффикс [KMG] обычно описывается после ряда значений параметров ядра. Эти буквы «K», «M» и «G» представляют _двоичные_ множители «Кило», «Мега» и «Гига», равные 2^10, 2^20 и 2^30 байт соответственно. Такие буквенные суффиксы также можно полностью опустить:

Оглавление

Есть три способа передать параметры ядру и тем самым контролировать его поведение:

При сборке ядра. Эти варианты обсуждаются в большей части этой книги.

При запуске ядра. Обычно параметры передаются ядру, когда оно вызывается из загрузочного файла, такого как файл конфигурации GRUB или LILO.

Во время выполнения путем записи в файлы в каталогах /proc и /sys.

В этой главе описывается второй способ передачи параметров. В этой главе параметры загрузки разбиты на разные логические разделы. Ряд специфичных для архитектуры и отдельных параметров драйвера здесь не указан. Полный список всех известных параметров см. в файле Documentation/kernel-parameters.txt в дереве исходного кода ядра и в отдельных файлах документации по конкретной архитектуре.

Не все из перечисленных параметров всегда доступны. Большинство из них связаны с подсистемами и работают только в том случае, если ядро ​​сконфигурировано со встроенными подсистемами. Они также зависят от наличия аппаратного обеспечения, с которым они связаны.

Все эти параметры чувствительны к регистру.

Параметры модуля

В дополнение к параметрам, перечисленным в этой главе, параметры модулей, встроенных в ядро, также можно передавать в командной строке. (Конечно, динамически загружаемые модули не находятся в памяти при загрузке ядра, и поэтому им нельзя передавать параметры во время загрузки.) Синтаксис для передачи параметров, состоящий из имени модуля, за которым следует точка (. ) и параметр.

Например, модуль usbcore принимает параметр blinkenlights для отображения мигающих индикаторов на всех поддерживаемых концентраторах USB 2.0 (никогда не говорите, что разработчики ядра не имеют чувство юмора). Чтобы установить этот параметр при динамической загрузке модуля, введите:

Но если модуль usbcore встроен в ядро, вы добьетесь того же эффекта, вызвав ядро ​​со следующей опцией:

Большинство параметров модулей, встроенных в ядро, также можно изменить во время выполнения путем записи в файлы в подкаталоге с именем модуля в каталоге /sys/module/. Таким образом, опция blinkenlights представлена ​​файлом /sys/module/usbcore/blinkenlights. желательно.

[14] Большая часть этой главы основана на документации ядра для различных справочных параметров командной строки загрузки ядра, которые были написаны разработчиками ядра и выпущены под лицензией GPL.

Ezoic


сообщить об этом объявлении

Параметры командной строки ядра, также известные как аргументы ядра, используются для настройки поведения Red Hat Enterprise Linux только во время загрузки.

3.1.1. Установка параметров командной строки ядра

В этом разделе объясняется, как изменить параметр командной строки ядра в системах AMD64 и Intel 64 и серверах IBM Power Systems с помощью загрузчика GRUB2, а также в IBM Z с помощью zipl.

Параметры командной строки ядра сохраняются в файле конфигурации boot/grub/grub.cfg, который создается загрузчиком GRUB2. Не редактируйте этот файл конфигурации. Изменения в этот файл вносятся только сценариями конфигурации.

Изменение параметров командной строки ядра в GRUB2 для систем AMD64 и Intel 64 и оборудования IBM Power Systems.

    Откройте файл конфигурации /etc/default/grub от имени пользователя root с помощью обычного текстового редактора, такого как vim или Gedit.

В этом файле найдите строку, начинающуюся с GRUB_CMDLINE_LINUX, как показано ниже:

Регенерируйте конфигурацию GRUB2, используя отредактированный файл по умолчанию. Если в вашей системе используется прошивка BIOS, выполните следующую команду:

В системе с прошивкой UEFI вместо этого выполните следующее:

После завершения описанной выше процедуры загрузчик перенастраивается, и параметр командной строки ядра, указанный в его файле конфигурации, применяется после следующей перезагрузки.

Изменение параметров командной строки ядра в zipl для IBM Z Hardware

  1. Откройте файл конфигурации /etc/zipl.conf от имени пользователя root с помощью простого текстового редактора, такого как vim или Gedit .
  2. В этом файле найдите раздел parameters= и отредактируйте требуемый параметр или добавьте его, если он отсутствует. Затем сохраните файл и выйдите из редактора.

Повторно создайте конфигурацию zipl:

При выполнении только команды zipl без дополнительных параметров используются значения по умолчанию. См. справочную страницу zipl(8) для получения информации о доступных параметрах.

После завершения описанной выше процедуры загрузчик перенастраивается, и параметр командной строки ядра, указанный в его файле конфигурации, применяется после следующей перезагрузки.

Читайте также: