Estoy buscando una manera de editar los parámetros de la línea de comandos del kernel desde el espacio del usuario, sin la necesidad de detenerme en U-Boot y modificar los valores manualmente. Quiero cambiar los parámetros del kernel para el próximo arranque. Por ejemplo, si la línea de comando del kernel incluye un parámetro llamado example1=true' I would like to change it to the following boot to
ejemplo1=false`
Estoy usando un sistema basado en OpenWRT.
Respuesta1
Una búsqueda rápida en la wiki de OpenWrt en Das U-Boot Environment...
"Das U-Boot utiliza una pequeña cantidad de espacio en el almacenamiento flash, generalmente en la misma partición en la que está almacenado, para almacenar algunos parámetros de configuración importantes".
específicamente...
bootargs: el contenido de esta variable se pasa al kernel de Linux como argumentos de arranque (también conocido como "línea de comando").
Haciendo algunas suposiciones, pero debería poder editar este archivo de configuración desde el kernel en ejecución. Es posible que necesite ubicar la partición u-boot y el archivo de configuración y montarlo R/W. Además, también debería poder editar este archivo de configuración desde la línea de comando de u-boot, solo una vez si guarda la variable con saveenv
.
Respuesta2
Tal vez estoy entendiendo mal aquí, pero no puedes cambiar los argumentos de la línea de comando que el gestor de arranque pasa al kernel después de que ya estás ejecutando el kernel, hasta donde yo sé,... si te refieres a cómo configurar los parámetros del kernel en tiempo de ejecución, entonces la herramienta se llama sysctl
.
Si, por ejemplo, quisieras cambiar:
sysctl -w kernel.stack_tracer_enabled=1
Estos cambios se perderán después de reiniciar.