提问人:littlebox 提问时间:8/25/2023 更新时间:8/27/2023 访问量:269
Yocto 设置自定义变量、全局变量
Yocto setting custom variables, global variables
问:
Linux 系统包含环境变量,例如 HOME。Yocto 包含 WORKDIR、S 和 D 等变量。
在 bb 文件中使用它们时,可以使用 ,
${HOME}
a=${WORKDIR}
用于 bbclass、
w=d.getVar('WORKDIR ')
home=os.genenv("HOME")
但是我想添加自定义变量,例如export ABC="19990909"
通过获取os获得的结果。bbclass 中的 genenv (“ABC”) 为 None,
我写了 /etc/profile,但结果仍然是 None
问题:
- 那么如何在yocto中添加一个可以在bbclass或bbfile中使用的变量呢?(全局变量)
- 环境变量的生命周期是什么
答:
1赞
Livius
8/27/2023
#1
您需要将“全局变量”放入 local.conf、“machine”.conf、“distro”.conf 或 layer.conf 中。这些变量可以在其他 .bb 或 .bbclass 文件中访问。
评论
1赞
littlebox
8/28/2023
好的,它可以工作。谢谢!那么我们可以直接在bbclass中调用os.getenv('ABC')来获取这里的变量值吗?就像os.genenv('HOME')一样
0赞
Livius
8/30/2023
我认为在您的 .bbclass 中,您有一个 BitBake 的 Python 函数。在这种情况下,你可以使用 d.getVar(“ABC”) 来获取 “ABC”。请注意,并非所有 .bbclass 都有 Python 代码,目前对您来说应该是一个特例。docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/......
上一个:BASH:不能在函数内部使用变量
评论
ABC