我正在寻找一种从用户空间编辑内核命令行参数的方法,而无需在 U-Boot 处停止并手动修改值。我想更改下次启动的内核参数。例如,如果内核命令行包含名为example1=true' I would like to change it to the following boot to
example1=false 的参数
我正在使用基于 OpenWRT 的系统。
答案1
在Das U-Boot环境下快速搜索OpenWrt wiki...
“Das U-Boot 使用闪存上的少量空间(通常位于存储它的同一分区上)来存储一些重要的配置参数。”
具体来说...
bootargs:此变量的内容作为引导参数(也称为“命令行”)传递到 Linux 内核。
做出一些假设,但您应该能够从正在运行的内核编辑此配置文件。可能需要找到 u-boot 分区和配置文件所在的位置并将其挂载 R/W。此外,您还应该能够从 u-boot 命令行编辑此配置文件,如果您使用saveenv
.
答案2
也许我在这里误解了,但据我所知,在运行内核后,您无法更改引导加载程序传递给内核的命令行参数,...如果您的意思是如何配置内核参数运行时,则该工具称为sysctl
.
例如,如果您想更改:
sysctl -w kernel.stack_tracer_enabled=1
重新启动后这些更改将丢失。