Yocto and kernel 3.0.35 with patch preempt-rt ?

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

Yocto and kernel 3.0.35 with patch preempt-rt ?

Jump to solution
7,693 Views
maurice
Contributor III

Hello,

How can I have with yocto the patch preempt-rt with the kernel 3.0.35?

I used the branch Dora in https://github.com/Freescale/fsl-community-bsp-platform to have the kernel 3.0.35 but the patch preemt-rt is not there.

On the contrary, the branch Dizzy has the patch preempt-rt but not the kernel 3.0.35.

My target is imx6q sd.

Conf.file

DORA branch

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'poky'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-dropbear ssh-server-openssh"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

    STOPTASKS,${TMPDIR},1G,100K \

    STOPTASKS,${DL_DIR},1G,100K \

    STOPTASKS,${SSTATE_DIR},1G,100K \

    ABORT,${TMPDIR},100M,1K \

    ABORT,${DL_DIR},100M,1K \

    ABORT,${SSTATE_DIR},100M,1K"

CONF_VERSION = "1"

BB_NUMBER_THREADS = '8'

PARALLEL_MAKE = '-j 8'

DL_DIR ?= "${BSPDIR}/downloads/"

ACCEPT_FSL_EULA = ""

CORE_IMAGE_EXTRA_INSTALL += "libgomp libgomp-dev libgomp-staticdev"

PREFERRED_VERSION_linux-imx = "3.0.35"

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

COMPATIBLE_MACHINE_mx6qsabresd=  "imx6qsabresd"

DIZZY branch

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'poky'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks  ssh-server-dropbear ssh-server-openssh"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

    STOPTASKS,${TMPDIR},1G,100K \

    STOPTASKS,${DL_DIR},1G,100K \

    STOPTASKS,${SSTATE_DIR},1G,100K \

    ABORT,${TMPDIR},100M,1K \

    ABORT,${DL_DIR},100M,1K \

    ABORT,${SSTATE_DIR},100M,1K"

PACKAGECONFIG_append_pn-qemu-native = " sdl"

PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"

ASSUME_PROVIDED += "libsdl-native"

CONF_VERSION = "1"

BB_NUMBER_THREADS = '8'

PARALLEL_MAKE = '-j 8'

DL_DIR ?= "${BSPDIR}/downloads/"

ACCEPT_FSL_EULA = "1"

CORE_IMAGE_EXTRA_INSTALL += "libgomp libgomp-dev libgomp-staticdev"

PREFERRED_VERSION_linux-imx = "3.0.35"

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"


Thank you

Maurice

Labels (3)
0 Kudos
1 Solution
2,638 Views
maurice
Contributor III

See sources/poky/meta/recipes-rt/README files or https://github.com/openembedded/oe-core/tree/master/meta/recipes-rt

The recipes-rt recipes provide package and image recipes for using and testing

the PREEMPT_RT kernel. The core-image-rt*.bb images are minimal images with

a couple extra packages, including rt-tests. In order to build the image with

the linux-yocto-rt kernel, be sure to include the following line in your

local.conf, bblayers.conf, or your $MACHINE.conf.

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

If you are creating a new BSP which should use linux-yocto-rt by default,

use the line above in the $MACHINE.conf in your BSP layer, and specify the

following in a linux-yocto-rt bbappend recipe:

COMPATIBLE_MACHINE_$MACHINE = $MACHINE


In my case, I edit sources/meta-fsl-arm/conf/machine/imx6qsabresd.conf in order to add COMPATIBLE_MACHINE_imx6qsabresd = "imx6qsabresd"

Thank the README....

BR,

Maurice

View solution in original post

0 Kudos
5 Replies
2,638 Views
poojab
Contributor I

Hi,

                           Could you please suggest me a rt_preempt patch file for 3.10.17 and is it required to apply all the patch files of  https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patches-3.10.17-rt12.tar.gz if this is a right one for 3.10.17 yocto release?

Regards,

Pooja B

0 Kudos
2,638 Views
fabio_estevam
NXP Employee
NXP Employee

In meta-fsl-arm there is only 3.10.17 rt patches available. Please check recipes-kernel/linux/linux-imx-rt_3.10.17.bb .

So if you need rt you could try 3.10.17 instead.

0 Kudos
2,638 Views
maurice
Contributor III

Hello,

I  tried it but it is not compatible with imx6q SD:

bitbake core-image-rt

Parsing recipes: 100% |#####################################################################################################| Time: 00:00:24

Parsing of 1527 .bb files complete (0 cached, 1527 parsed). 1981 targets, 126 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies

ERROR: Nothing PROVIDES 'linux-yocto-rt' (but /home/aurelien/Workspace/yocto/fsl-community-bsp_dizzy/sources/poky/meta/recipes-rt/images/core-image-rt.bb DEPENDS on or otherwise requires it)

ERROR: linux-yocto-rt was skipped: incompatible with machine imx6qsabresd (not in COMPATIBLE_MACHINE)

ERROR: linux-yocto-rt was skipped: incompatible with machine imx6qsabresd (not in COMPATIBLE_MACHINE)

ERROR: Required build target 'core-image-rt' has no buildable providers.

Missing or unbuildable dependency chain was: ['core-image-rt', 'linux-yocto-rt']

There my config file

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'poky'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks  ssh-server-dropbear ssh-server-openssh"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

    STOPTASKS,${TMPDIR},1G,100K \

    STOPTASKS,${DL_DIR},1G,100K \

    STOPTASKS,${SSTATE_DIR},1G,100K \

    ABORT,${TMPDIR},100M,1K \

    ABORT,${DL_DIR},100M,1K \

    ABORT,${SSTATE_DIR},100M,1K"

PACKAGECONFIG_append_pn-qemu-native = " sdl"

PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"

ASSUME_PROVIDED += "libsdl-native"

CONF_VERSION = "1"

BB_NUMBER_THREADS = '8'

PARALLEL_MAKE = '-j 8'

DL_DIR ?= "${BSPDIR}/downloads/"

ACCEPT_FSL_EULA = ""

CORE_IMAGE_EXTRA_INSTALL += "libgomp libgomp-dev libgomp-staticdev"

PREFERRED_VERSION_linux-imx = "3.10.17"

PREFERRED_PROVIDER_virtual/kernel = "linux-imx-rt"

Can you explain to me why the preemp-rt pacthes were available with kernel 3.0.35, compatible with imx6qsabre sd  with LTIB and it is not with yocto?

Did I miss something?


BR

Maurice

0 Kudos
2,639 Views
maurice
Contributor III

See sources/poky/meta/recipes-rt/README files or https://github.com/openembedded/oe-core/tree/master/meta/recipes-rt

The recipes-rt recipes provide package and image recipes for using and testing

the PREEMPT_RT kernel. The core-image-rt*.bb images are minimal images with

a couple extra packages, including rt-tests. In order to build the image with

the linux-yocto-rt kernel, be sure to include the following line in your

local.conf, bblayers.conf, or your $MACHINE.conf.

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

If you are creating a new BSP which should use linux-yocto-rt by default,

use the line above in the $MACHINE.conf in your BSP layer, and specify the

following in a linux-yocto-rt bbappend recipe:

COMPATIBLE_MACHINE_$MACHINE = $MACHINE


In my case, I edit sources/meta-fsl-arm/conf/machine/imx6qsabresd.conf in order to add COMPATIBLE_MACHINE_imx6qsabresd = "imx6qsabresd"

Thank the README....

BR,

Maurice

0 Kudos
2,638 Views
maurice
Contributor III

Do not forget to add in your conf/local.conf

KERNEL_EXTRA_ARGS += "LOADADDR=0x10008000"

0 Kudos