Измените параметры командной строки ядра для следующей загрузки OpenWRT

Измените параметры командной строки ядра для следующей загрузки OpenWRT

Я ищу способ редактировать параметры командной строки ядра из пользовательского пространства, без необходимости останавливаться в U-Boot и изменять значения вручную. Я хочу изменить параметры ядра для следующей загрузки. Например, если командная строка ядра включает параметр с именем example1=true' I would like to change it to the following boot toexample1=false`

Я использую систему на базе OpenWRT.

решение1

Быстрый поиск в вики OpenWrt в разделе Das U-Boot Environment...

«Das U-Boot использует небольшой объем пространства на флэш-памяти, обычно в том же разделе, где он хранится, для хранения некоторых важных параметров конфигурации».

конкретно...

bootargs: Содержимое этой переменной передается ядру Linux в качестве аргументов загрузки (т. н. «командная строка»).

Делая некоторые предположения, но вы должны иметь возможность редактировать этот файл конфигурации из работающего ядра. Возможно, потребуется найти раздел u-boot и файл конфигурации, на котором он находится, и смонтировать его в режиме R/W. Кроме того, вы также должны иметь возможность редактировать этот файл конфигурации из командной строки u-boot, только один раз, если вы сохраните переменную с помощью saveenv.

решение2

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

Если, например, вы хотите изменить:

sysctl -w kernel.stack_tracer_enabled=1

Эти изменения будут потеряны после перезагрузки.

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