![回答:](https://linux22.com/image/227733/%E5%9B%9E%E7%AD%94%EF%BC%9A.png)
我已经使用自定义 u-boot 映像在我的 Orange Pi Zero 上安装了 Debian 12。我注意到 Debian 有一个名为 /root/boot.scr 的文件,该文件在 apt 升级后会重建。我之前修改了此启动脚本以包含 Home Assistant 所需的启动参数。
有些人在 Armbian 上通过将参数添加到/boot/armbianEnv.txt
.
有没有办法从 Linux 文件系统中永久添加内核参数?
答案1
回答:
创建/usr/share/flash-kernel/ubootenv.d/
目录并在其中创建文件。我称之为我的/usr/share/flash-kernel/ubootenv.d/50-homeassistant-supervisor
,但你可以随意称呼它。
在文件内,输入额外的启动参数,如下所示:
setenv bootargs "${bootargs} <your boot arguments>"
现在您可以flash-kernel
再次运行该命令sudo
,它将重新生成该boot.scr
文件。
我是如何发现这个的:
在安装过程中对日志进行了一番挖掘之后,我发现了这一行Nov 27 11:01:13 in-target: Generating boot script u-boot image...
。
为了找到包含此行的脚本,我运行了以下命令:
sudo grep -rnw / -e 'Generating boot script u-boot' > "search_result.txt"
该命令的输出给了我以下行:
/usr/share/flash-kernel/functions:485: printf "Generating boot script u-boot image... " >&2
环顾该文件的该行,我发现了对 ubootenv 变量的引用,该变量通过读取和functions
的内容进行填充。后来用谷歌搜索了一下,我发现了一个参考片段可以满足我的需求。/etc/flash-kernel/ubootenv.d
/usr/share/flash-kernel/ubootenv.d