首先,如何确定修补程序的配方?第二,如何应用此修补程序?
(我检查了相似问题,但它修补了yocto系统本身,我不想那样)
我可以用这个命令列出我所有的食谱
bitbake-layers show-recipes但是,我仍然不知道哪些菜谱构建了文件驱动程序/rpmsg/virtio_rpmsg_bus.c,这是我需要修补的文件。
我还找到了三个具有这个c文件的目录:
find . -name virtio_rpmsg_bus.c
./build_wayland/tmp/work-shared/imx8mm-var-dart/kernel-source/drivers/rpmsg/virtio_rpmsg_bus.c
./build_wayland/tmp/work/aarch64-fslc-linux/linux-libc-headers/5.4-r0/linux-5.4/drivers/rpmsg/virtio_rpmsg_bus.c
./build_wayland/tmp/work/aarch64-mx8mm-fslc-linux/linux-imx-headers/5.4-r0/git/drivers/rpmsg/virtio_rpmsg_bus.c这些食谱文件夹有菜谱-内核/linux目录。
sources/meta-freescale-3rdparty/recipes-kernel
sources/meta-freescale/recipes-kernel
sources/poky/meta-skeleton/recipes-kernel
sources/poky/meta/recipes-kernel
sources/poky/meta-yocto-bsp/recipes-kernel
sources/meta-virtualization/recipes-kernel
sources/meta-variscite-fslc/recipes-kernel
sources/meta-openembedded/meta-gnome/recipes-kernel
sources/meta-openembedded/meta-initramfs/recipes-kernel
sources/meta-openembedded/meta-networking/recipes-kernel
sources/meta-openembedded/meta-oe/recipes-kernel我不知道这些菜谱中的哪一个可能正在构建我的c文件virtio_rpmsg_bus.c
发布于 2021-10-06 15:03:26
所以我自己还没做过构建,但我能收集到的(这在某些点上有点太长了.希望一切顺利,如果不是这样的话,我愿意讨论)。
找到要修补的菜谱:在我看来,找出配方在Yocto中做什么通常是很棘手的。如果我没有弄错(这在很大程度上是可能的),那么您应该有一个名为meta-xilinx-bsp的层。这一层应该有recipes-kernel/linux/linux_xlnx_[version].bb。这应该是补丁应该用到的配方。
应用修补程序:应用修补程序最简单的方法是附加菜谱。
meta-myLayer/recipes-kernel/linux/。在此文件夹中创建linux-xlnx_%.bbappend。linux-xlnx_[verion_number].bb食谱的内容。%放在这里而不是版本号。这是一个通配符,并将附加任何版本的linux-xlnx食谱。如果只想附加特定版本,则可以用版本号替换%。linux-xlnx的文件夹,该文件夹位于菜谱旁边。在这个文件夹中,通过复制类似于你拥有的内容的my-xlnx-patch.patch来创建修补程序文件。linux-xlnx_%.bbappend中的文件路径: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:“SRC_URI_append =”\linux-xlnx_%.bbappend\“我不是100%确定你需要第一行,但这会告诉yocto,你有这个食谱的补丁文件,如果我没有弄错,yocto将负责应用它。
https://stackoverflow.com/questions/69467212
复制相似问题