修补 bitbake 以使用自定义 `wpa_supplicant.conf`
Patch bitbake to use custom `wpa_supplicant.conf`
我有一个 wpa_supplicant.conf
想要在第一次启动时使用。我尝试按如下方式修补 poky
的配方。这是我的 wpa_supplicant_2.6.bbappend
:
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
SRC_URI_append = " file://wpa_supplicant.conf"
我在 wpa_supplicant/wpa_supplicant.conf
中存储了相对于 bbappend
的 conf 文件。仍然原始的 poky conf 文件总是添加到图像中。
如何注入我的配置文件?
(我在分支 warrior
)
NOTE/EDIT: 为了快速有效地解决问题,我建议还讨论 IRC channel 中的问题(在这种情况下也发生过)。那里的人超级乐于助人!
首先,食谱名为 wpa-supplicant
而不是 wpa_supplicant
,因此您需要将 bbappend 命名为 wpa-supplicant_2.6.bbapend
而不是 wpa_supplicant_2.6.bbappend
。请记住,配方或包装名称中没有下划线,也没有大写字母。
可以使用 bitbake-layers show-appends wpa-supplicant
检查 bbappend 是否被解析。您会看到您的 bbappend 没有被考虑在内。
然后,通常应该使用 FILESEXTRAPATHS_prepend :=
,因为您希望您的路径在所有其他路径之前被遍历。
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
最后,由于菜谱名为wpa-supplicant
而不是wpa_supplicant
,${PN}
将是wpa-supplicant
,因此您需要将文件放在wpa-supplicant/
而不是 wpa_supplicant
.
要检查文件遍历路径的顺序,可以运行 bitbake -e wpa-supplicant | grep -e "^FILESPATH="
,路径从最左到最右遍历。将采用与完整路径匹配的第一个文件。
在 IRC 上与您讨论后,我可以补充一点,我们还发现 wpa_supplicant.conf
安装在文档目录中,但 wpa_supplicant.conf-sane
将用作 wpa_supplicant.conf
在目标的最终图像中。因此需要将 wpa_supplicant.conf
文件命名为 wpa_supplicant.conf-sane
以便它替换最终图像中的 wpa_supplicant.conf
文件。
c.f。 https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb?h=thud#n88 and https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb?h=thud#n91
我有一个 wpa_supplicant.conf
想要在第一次启动时使用。我尝试按如下方式修补 poky
的配方。这是我的 wpa_supplicant_2.6.bbappend
:
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
SRC_URI_append = " file://wpa_supplicant.conf"
我在 wpa_supplicant/wpa_supplicant.conf
中存储了相对于 bbappend
的 conf 文件。仍然原始的 poky conf 文件总是添加到图像中。
如何注入我的配置文件?
(我在分支 warrior
)
NOTE/EDIT: 为了快速有效地解决问题,我建议还讨论 IRC channel 中的问题(在这种情况下也发生过)。那里的人超级乐于助人!
首先,食谱名为 wpa-supplicant
而不是 wpa_supplicant
,因此您需要将 bbappend 命名为 wpa-supplicant_2.6.bbapend
而不是 wpa_supplicant_2.6.bbappend
。请记住,配方或包装名称中没有下划线,也没有大写字母。
可以使用 bitbake-layers show-appends wpa-supplicant
检查 bbappend 是否被解析。您会看到您的 bbappend 没有被考虑在内。
然后,通常应该使用 FILESEXTRAPATHS_prepend :=
,因为您希望您的路径在所有其他路径之前被遍历。
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
最后,由于菜谱名为wpa-supplicant
而不是wpa_supplicant
,${PN}
将是wpa-supplicant
,因此您需要将文件放在wpa-supplicant/
而不是 wpa_supplicant
.
要检查文件遍历路径的顺序,可以运行 bitbake -e wpa-supplicant | grep -e "^FILESPATH="
,路径从最左到最右遍历。将采用与完整路径匹配的第一个文件。
在 IRC 上与您讨论后,我可以补充一点,我们还发现 wpa_supplicant.conf
安装在文档目录中,但 wpa_supplicant.conf-sane
将用作 wpa_supplicant.conf
在目标的最终图像中。因此需要将 wpa_supplicant.conf
文件命名为 wpa_supplicant.conf-sane
以便它替换最终图像中的 wpa_supplicant.conf
文件。
c.f。 https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb?h=thud#n88 and https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb?h=thud#n91