我在yocto中创建了一个新图层:meta-abc,一个配方:abc-efg_0.1.bb和一个.bbapend:abc-efg_01.bbapend文件。 使用bbappend文件,我想覆盖来自intel-edison board的文件。 更确切地说,来自/ etc / wpa_supplicant /的wpa_supplicant.conf。 此wpa_supplicant.conf已经从另一个层(meta-intel-edison-distro)创建。 我可以在/ etc /中编写我的文件,所以我的食谱和我的bbappend文件正常工作。 我可以咬我的食谱,但当我尝试创建图像时,我会收到消息:
" * check_data_file_clashes:包abc-efg想要安装文件/home/atr-int/Desktop/Yocto/yocto-edison/build_edison/tmp/work/edison-poky-linux/edison-image/1.0-r0/rootfs/etc/的wpa_supplicant /的wpa_supplicant.conf 但该文件已由包* wpa-supplicant提供 * opkg_install_cmd:无法安装包abc-etc. " 这是我的bbappend文件内容:
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://wpa_supplicant.conf"
do_install_append() {
install -d ${D}${sysconfdir}/wpa_supplicant
install -m 0755 ${WORKDIR}/wpa_supplicant.conf
${D}${sysconfdir}/wpa_supplicant
}
任何人都可以给我任何提示吗? 谢谢。
答案 0 :(得分:3)
您不应该从其他食谱重写wpa_supplicant.conf
,因为文件会发生冲突。
相反,请将您的abc-efg_01.bbapend
重命名为wpa-supplicant_%.bbappend
,它应该有效。
如果由于某种原因您需要在wpa_supplicant.conf
中设置abc-efg
,则需要添加wpa-supplicant_%.bbappend
,其中您需要删除wpa_supplicant.conf
。
答案 1 :(得分:0)
使用 bbappend 文件为 p910nd 安装额外文件:
p910nd 目录的布局
loop = True
while loop:
try:
sleep(1)
comment_buttons = driver.find_elements_by_xpath('//div[@data-testid="reply"]/div/div[1]')
comment_buttons[0].click()
sleep(4)
driver.find_element_by_xpath(reply_paste).send_keys(word)
sleep(1)
element = driver.find_element_by_xpath("//input[@type='file']")
driver.execute_script("arguments[0].style.display = 'block';", element)
#post image
element.send_keys(random.choice(images))
sleep(2)
driver.find_element_by_xpath(reply_button).click()
sleep(6)
comment_buttons[1].click()
bbappend 文件的内容
.
├── files
│ ├── p910nd.conf
│ └── p910nd.init
└── p910nd_0.97.bbappend
在我的测试中,如果文件已安装在目标中,do_install_append 也会覆盖该文件。