Login 如何根据menuconfig标志修改生成后脚本中的文件?

Login 如何根据menuconfig标志修改生成后脚本中的文件?,login,buildroot,post-build,Login,Buildroot,Post Build,我需要找到一种方法,根据menuconfig标志的选择,在编译Buildroot之后和创建rootfs之前修改/编辑给定文件。我可以在Buildroot文档中找到,通过使用构建后脚本可以做到这一点 我的问题是,只有在menuconfig中选择了某些内容时,我才会执行脚本操作,例如: (x) Enable my_login_system; 如果选择我的登录系统,则需要根据以下内容更改nsswitch.conf文件: passwd: my_login files 如果我没有在菜单配

我需要找到一种方法,根据menuconfig标志的选择,在编译Buildroot之后和创建rootfs之前修改/编辑给定文件。我可以在Buildroot文档中找到,通过使用构建后脚本可以做到这一点

我的问题是,只有在menuconfig中选择了某些内容时,我才会执行脚本操作,例如:

(x) Enable my_login_system;
如果选择我的登录系统,则需要根据以下内容更改nsswitch.conf文件:

passwd:        my_login files
如果我没有在菜单配置中选择“我的登录系统”,那么nsswitch.conf应该是:

passwd:        files my_login

因此,我的主要问题是如何知道在编译后脚本中是否选择了“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
或者,您可以使用
BR2\u ROOTFS\u POST\u SCRIPT\u ARGS
配置变量向生成后脚本传递任意命令行参数(与环境变量相反)


这两种可能性都记录在Buildroot手册的第节中。

执行生成后脚本时,它可以访问
BR2\u CONFIG
环境变量,该变量保存到Buildroot
.CONFIG
文件的路径。您的脚本可以解析该文件并相应地执行操作

因此,您可能会出现如下情况:

if grep -q ^BR2_MY_LOGIN_SYSTEM=y ${BR2_CONFIG}
then
    # do some tweaks
else
    # do other tweaks
fi
或者,您可以使用
BR2\u ROOTFS\u POST\u SCRIPT\u ARGS
配置变量向生成后脚本传递任意命令行参数(与环境变量相反)

这两种可能性都记录在Buildroot手册的第节中