phy*_*ash 1 login buildroot post-build
我需要在Buildroot编译之后和在创建 rootfs 之前找到一种方法来修改/编辑给定文件,具体取决于menuconfig标志选择。我可以在Buildroot文档中找到可以通过使用构建后脚本来做到这一点。
我的问题是,只有在menuconfig 中选择了某些内容时,我才会执行脚本操作,例如:
(x) Enable my_login_system;
Run Code Online (Sandbox Code Playgroud)
如果我选择my_login_system,那么我需要根据以下内容更改nsswitch.conf文件:
passwd: my_login files
Run Code Online (Sandbox Code Playgroud)
如果我没有在 menuconfig 中选择“my_login_system”,那么 nsswitch.conf 应该是:
passwd: files my_login
Run Code Online (Sandbox Code Playgroud)
所以,我的主要问题是如何知道在构建后脚本中是否选择了“my_login_system”。
当执行构建后脚本时,它可以访问BR2_CONFIG环境变量,该变量保存 Buildroot.config文件的路径。您的脚本可以解析该文件并采取相应的行动。
因此,您可能会遇到以下情况:
if grep -q ^BR2_MY_LOGIN_SYSTEM=y ${BR2_CONFIG}
then
# do some tweaks
else
# do other tweaks
fi
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用BR2_ROOTFS_POST_SCRIPT_ARGS配置变量将任意命令行参数(而不是环境变量)传递给构建后脚本。
这两种可能性都记录在 Buildroot 手册的自定义生成的目标文件系统部分。
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |