我创造了新的问题,因为我觉得上一个问题已经被回答了,这属于一个新的地方。
我运行bitbake core-image-minimal并得到以下错误:
ERROR: systemd-1_232-r0 do_patch: Command Error: 'quilt --quiltrc /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output:
Applying patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch
patching file units/systemd-udevd.service.in
Hunk #1 FAILED at 21.
1 out of 1 hunk FAILED -- rejects in file units/systemd-udevd.service.in
Patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch does not apply (enforce with -f)
ERROR: systemd-1_232-r0 do_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/temp/log.do_patch.5314
ERROR: Task (/home/rama/repositories/poky/meta/recipes-core/systemd/systemd_232.bb:do_patch) failed with exit code '1'我找到了在文件meta-toradex/recipes-core/systemd/systemd_%.bbappend中写入修补程序的位置:
FILESEXTRAPATHS_prepend := "${THISDIR}/systemd:"
SRC_URI += " \
file://rndis.network \
file://0001-systemd-udevd.service.in-set-MountFlags-shared.patch \
"
PACKAGECONFIG_append = " networkd"
do_install_append() {
# The network files need to be in /usr/lib/systemd, not ${systemd_unitdir}...
install -d ${D}${prefix}/lib/systemd/network/
install -m 0644 ${WORKDIR}/rndis.network ${D}${prefix}/lib/systemd/network/
}
FILES_${PN} += " \
${nonarch_base_libdir}/systemd/network \我被告知我可以:
要删除路径,我应该直接从SRC_URI列表中删除它吗?如何手动应用补丁?我试着用谷歌搜索这个,我不太明白这是怎么做到的。
任何帮助都是非常感谢的,谢谢。
发布于 2017-12-14 10:49:18
在查看回购清单时,不使用meta-toradex,而在元眼肌中,它表示oe-core BSP layer (obsolete)。我认为你没有使用合适的环境。
不过,如果您想检查修补程序问题,可以在devshell和bitbake -c devshell systemd一起使用,然后在新控制台中键入quilt push。然后,您需要通过查看修补程序文件和相应的源代码来分析修补程序失败。
您不应该修改现有的层,并创建自己的层覆盖食谱,但如果您想要,您确实可以删除补丁到SRC_URI,然后使用bitbake -c clean systemd; bitbake systemd,它应该是可以的。
在Toradex 知识库中,如果您正在创建一个新的环境,我认为您需要查看V2.1 and Later Images部分。
https://stackoverflow.com/questions/47810335
复制相似问题