rt patch qoriq-linux kernel for ls1046ardb

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

rt patch qoriq-linux kernel for ls1046ardb

跳至解决方案
1,192 次查看
srechermann
Contributor III

I'd like to apply the PREEMPT_RT patch to my linux-qoriq in my yocto build. Therefore I tried to apply the correct patch version (in my case uname -r returns 5.15.71+g95448dd0dc9b) so I choose these patches https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.15/older/patches-5.15.71-rt51.tar.gz

I'm applying the 171 patch files by adding them to the a linux-qoriq_%.bbappend file in my custom layer (sources/meta-custom/recipes-kernel/linux/linux-qoriq/ls1046ardb/linux-qoriq_%.bbappend) like this:

Content of my linux-qoriq_%.bbappend file:

SRC_URI += "file://fragment.cfg"
SRC_URI += "file://0001-usb0-devicetree-dtsi.patch"
# rt patches for kernel from here https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.15/
SRC_URI += "file://rt-patches/0001-rcu-tree-Protect-rcu_rdp_is_offloaded-invocations-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}"

 

Here is the tree of my recipes-kernel folder:

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

 

However when building the kernel like this:

bitbake linux-qoriq -c compile -f

I get an error: 

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

 I guess the patches are conflicting with the patches made by linux-qoriq to the mainline linux. So are there are patches available for the linux-qoriq? Or is there another way to patch my linux-qoriq in yocto?

标签 (1)
标记 (4)
0 项奖励
回复
1 解答
1,169 次查看
srechermann
Contributor III

I found out that there is a real time linux-qoriq branch. So using this branch instead of trying to patch the "lf-5.15.y" branch myself, that's used by default in the yocto kirkstone. Here is my new linux-qoriq_%.bbappend file:

SRC_URI += "file://fragment.cfg"
SRC_URI += "file://0001-usb0-devicetree-dtsi.patch"

FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

DELTA_KERNEL_DEFCONFIG += "fragment.cfg"

PACKAGE_ARCH = "${MACHINE_ARCH}"

# override branch and commit hash for real time linux
KERNEL_BRANCH = "lf-5.15.y-rt"
SRCREV = "9b1463aa0ee612d115a3ac695eebbda270ca7e43"

在原帖中查看解决方案

0 项奖励
回复
1 回复
1,170 次查看
srechermann
Contributor III

I found out that there is a real time linux-qoriq branch. So using this branch instead of trying to patch the "lf-5.15.y" branch myself, that's used by default in the yocto kirkstone. Here is my new linux-qoriq_%.bbappend file:

SRC_URI += "file://fragment.cfg"
SRC_URI += "file://0001-usb0-devicetree-dtsi.patch"

FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

DELTA_KERNEL_DEFCONFIG += "fragment.cfg"

PACKAGE_ARCH = "${MACHINE_ARCH}"

# override branch and commit hash for real time linux
KERNEL_BRANCH = "lf-5.15.y-rt"
SRCREV = "9b1463aa0ee612d115a3ac695eebbda270ca7e43"
0 项奖励
回复