Altere os parâmetros da linha de comando do kernel para a próxima inicialização no OpenWRT

Altere os parâmetros da linha de comando do kernel para a próxima inicialização no OpenWRT

Estou procurando uma maneira de editar os parâmetros da linha de comando do kernel no espaço do usuário, sem a necessidade de parar no U-Boot e modificar os valores manualmente. Quero alterar os parâmetros do kernel para a próxima inicialização. Por exemplo, se a linha de comando do kernel incluísse um parâmetro chamado example1=true' I would like to change it to the following boot toexample1=false`

Estou usando um sistema baseado em OpenWRT.

Responder1

Uma rápida pesquisa no wiki OpenWrt em Das U-Boot Environment...

"O U-Boot usa uma pequena quantidade de espaço no armazenamento flash, geralmente na mesma partição em que está armazenado para armazenar alguns parâmetros de configuração importantes."

especificamente...

bootargs: O conteúdo desta variável é passado para o kernel do Linux como argumentos de inicialização (também conhecido como "linha de comando").

Fazendo algumas suposições, mas você poderá editar este arquivo de configuração a partir do kernel em execução. Pode ser necessário localizar a partição u-boot e o arquivo de configuração está localizado e montá-lo R/W. Além disso, você também poderá editar este arquivo de configuração na linha de comando do u-boot, apenas uma vez se salvar a variável com saveenv.

Responder2

Talvez eu esteja entendendo mal aqui, mas você não pode alterar os argumentos da linha de comando que o bootloader passa para o kernel depois de já estar executando o kernel, até onde eu sei, ... se você quer dizer como configurar os parâmetros do kernel em tempo de execução, então a ferramenta é chamada sysctl.

Se, por exemplo, você quisesse mudar:

sysctl -w kernel.stack_tracer_enabled=1

Essas alterações serão perdidas após uma reinicialização.

informação relacionada