我想在我的 yocto 构建中将 PREEMPT_RT 补丁应用到我的 linux-qoriq。因此我尝试应用正确的补丁版本
我通过将 171 个补丁文件添加到自定义层中的 linux-qoriq_%.bbappend 文件来应用它们(sources/meta-custom/recipes-kernel/linux/linux-qoriq/ls1046ardb/linux-qoriq_%.bbappend ) 像这样:
我的 linux-qoriq_%.bbappend 文件的内容:
SRC_URI += \"file://fragment.cfg\"
SRC_URI += \"file://0001-usb0-devicetree-dtsi.patch\"
# rt patches for kernel from here
SRC_URI += \"file://rt-patches/0001-rcu-tree-Protect-rcu_rdp_is_offloaded-invoca
tions-on.patch\"
SRC_URI += \"file://rt-patches/0002-sched-Introduce-migratable.patch\"
.........
.........
SRC_URI += \"file://rt-patches/0171-Linux-5.15.71-rt51-REBASE.patch\"
FILESEXTRAPATHS:prepend := \"${THISDIR}/${PN}:\"
DELTA_KERNEL_DEFCONFIG += \"fragment.cfg\"
PACKAGE_ARCH = \"${MACHINE_ARCH}\"
这是我的 recipes-kernel 文件夹的树:
recipes-kernel/
└── linux
├── linux-qoriq
│ └── ls1046ardb
│ ├── 0001-usb0-devicetree-dtsi.patch
│ ├── fragment.cfg
│ ├── patches-5.15.71-rt51.tar.gz
│ └── rt-patches
│ ├── 0001-rcu-tree-Protect-rcu_rdp_is_offloaded-invocations-on.patch
│ ├── 0002-sched-Introduce-migratable.patch
......
.......
│ ├── 0171-Linux-5.15.71-rt51-REBASE.patch
│ ├── file.txt
│ └── output.txt
└── linux-qoriq_%.bbappend
然而,当像这样构建内核时:
bitbake linux-qoriq -c 编译 -f
我得到一个错误:
ERROR: linux-qoriq-5.15.71+gitAUTOINC+95448dd0dc-r0 do_patch: Applying patch \'0135-arm-Add-support-for-lazy-preemption.patch\' on target directory \'/home/recherma/ssd/dev/mrt.base.yocto.rfu13.arm/rfu13_yocto/build/tmp/work/ls1046ardb-fsl-linux/linux-qoriq/5.15.71+gitAUTOINC+95448dd0dc-r0/git\'
CmdError(\'quilt --quiltrc /home/recherma/ssd/dev/mrt.base.yocto.rfu13.arm/rfu13_yocto/build/tmp/work/ls1046ardb-fsl-linux/linux-qoriq/5.15.71+gitAUTOINC+95448dd0dc-r0/recipe-sysroot-native/etc/quiltrc push\', 0, \'stdout: Applying patch 0135-arm-Add-support-for-lazy-preemption.patch 我猜这些补丁与 linux-qoriq 为主线 linux 制作的补丁有冲突。那么是否有适用于 linux-qoriq 的补丁程序?或者还有另一种方法可以在 yocto 中修补我的 linux-qoriq 吗?