On Tue, Apr 16, 2024 at 2:38 PM Bruce Ashfield <bruce.ashfi...@gmail.com>
wrote:
>
> Without including the ktypes/preempt-rt/preempt-rt.scc, you won't actually
> have the preempt-rt patches applied, as that's where the branches are
> created and the features/rt is included (and that feature is the actual
-rt
> patches).

Ok, I'm no longer specifying 'include ktypes/preempt-rt'.  As a result, I
no longer get any build error, but also I do not get any rt configuration
in the final kernel (eg PREEMPT_RT is not configured).  Is the 'define
KTYPE preempt-rt' line supposed to pull in the configuration
automatically?  If so, I must be missing a step somewhere (see my full
configuration below).

> Any debug options are typically controlled by KERNEL_FEATURES in
> the kernel recipes, so I wouldn't expect too much to be one. Generally
> speaking, we are middle of the road for functionality versus minimal.
>
> You also can always turn off options you don't want in your BSP, since
> the last fragment that is processed will "win".

Right, understood.

> That would do exactly what you are seeing, it would start processing
> the fragment and applying the patches. Which is where you ended up
> with the duplicate patches being applied.
>
> This is the section that you are looking for:
https://docs.yoctoproject.org/dev/kernel-dev/advanced.html#recipe-space-metadata
>
> That's how the tools will locate the BSP and process it accordingly.

I'm doing my best to understand this section but it keeps escaping me.  I
have the following layer setup:
---
meta-firefly
|-- COPYING.MIT
|-- README
|-- conf
| |-- layer.conf
| `-- machine
| `-- firefly-itx-3588j.conf
`-- recipes-kernel
`-- linux
|-- linux-yocto-rt
| `-- rockchip-kmeta
| `-- bsp
| `-- rockchip
| |-- firefly-preempt-rt.scc
`-- linux-yocto-rt_%.bbappend
---

and here are the relevant parts of my linux-yocto-rt_%.bbappend file
---
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

COMPATIBLE_MACHINE:firefly-itx-3588j = "firefly-itx-3588j"

SRC_URI:append:firefly-itx-3588j = "
file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta"

KBRANCH:firefly-itx-3588j ?= "v6.6/standard/preempt-rt/base"
KMACHINE:firefly-itx-3588j = "firefly-itx-3588j"
SRCREV_machine:firefly-itx-3588j =
"19813826de57a6425518c7b3daf8dd6a04d2321f"
LINUX_VERSION:firefly-itx-3588j = "6.6.23"
---

and firefly-preempt-rt.scc
---
define KMACHINE firefly-itx-3588j
define KTYPE preempt-rt
define KARCH arm64
---

and here is firefly-itx-rk3588j.conf
---
#@TYPE: Machine
#@NAME: Firefly ITX-3588J
#@DESCRIPTION: rk3588 development board from firefly
#https://wiki.t-firefly.com/en/Core-3588J/started.html

require conf/machine/include/rk3588.inc

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

# (dts files provided by patches that I elided from this listing)
KERNEL_DEVICETREE = "rockchip/rk3588-ff2.dtb"
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"

UBOOT_MACHINE = "evb-rk3588_defconfig"

KERNEL_FEATURES += " bsp/rockchip/firefly-preempt-rt.scc"

---

Am I doing this correctly?  It seems wrong to have to specify the bsp
definition in the KERNEL_FEATURES variable but I have no luck any other way.

Also, what is the recommended way to get just the default
yocto-kernel-cache configuration for preempt-rt without any of the patches
that go with it?


> There could of course be bugs, but I have tested this in the past 6
months.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13834): 
https://lists.yoctoproject.org/g/linux-yocto/message/13834
Mute This Topic: https://lists.yoctoproject.org/mt/105548012/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to