rt patch qoriq-linux kernel for ls1046ardb

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

rt patch qoriq-linux kernel for ls1046ardb

Jump to solution
862 Views
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?

Labels (1)
0 Kudos
1 Solution
839 Views
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"

View solution in original post

0 Kudos
1 Reply
840 Views
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 Kudos