我创建了新问题,因为我觉得前一个问题已经得到解答,这属于一个新的地方。
我运行
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
列表中删除吗?
如何手动应用补丁?我试着用谷歌搜索这个,我不太明白这是如何做到的。
如有任何帮助,我们将不胜感激,谢谢。
查看 repo Manifest 时,未使用
meta-toradex
,而在 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
部分。
我在编译“bitbake core-image-minimal”时发现这个错误。
示例: Recipe-sysroot-native/etc/quiltrc Push' 退出并输出 0: 标准输出:应用补丁 CVE-2018-25032.patch 修补文件 deflate.c Hunk #1 在 237 处成功(偏移量 -18 行)。 Hunk #2 在 319 处成功(偏移量 -5 行)。 Hunk #3 在 368 处成功(偏移量 -5 行)。 Hunk #4 在 590 处成功(偏移 1 行)。 Hunk #5 在 1162 处成功(偏移 12 行)。 Hunk #6 在 1181 处成功(偏移 12 行)。 Hunk #7 在 1195 处成功(偏移 12 行)。 Hunk #8 于 1957 年成功(偏移量 -2 行)。 Hunk #9 于 1996 年取得成功(偏移量 -94 行)。 Hunk #10 在 2165 处失败。 Hunk #11 在 2204 失败。 11 个帅哥中有 2 个失败——在文件 deflate.c 中拒绝 修补文件 deflate.h Hunk #1 在 230 处成功(偏移 13 行)。 Hunk #2 在 252 处成功(偏移 13 行)。 Hunk #3 在 339 处成功(偏移 19 行)。 修补文件 trees.c Hunk #1 在 343 处成功(偏移量 -73 行)。 Hunk #2 在 875 处成功(偏移量 -73 行)。 Hunk #3 在 944 处成功(偏移量 -73 行)。 Hunk #4 在 961 处成功(偏移量 -73 行)。 Hunk #5 在 974 处成功(偏移量 -73 行)。 Hunk #6 在 1006 处成功(偏移量 -73 行)。 补丁 CVE-2018-25032.patch 不适用(使用 -f 强制执行) 标准错误: 错误:失败日志文件存储在:poky/build/tmp/work/corei7-64-poky-linux/zlib-intel/1.2.11.1.jtkv6.3-r0/temp/log.do_patch.2521925 错误:任务(poky/meta-intel/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb:do_patch)失败,退出代码为“1” 注意:任务摘要:尝试了 351 个任务,其中 0 个不需要重新运行,1 个失败。
我删除后删除第2165行和第2204行。它运行正常...