Re: Help with setting up a PREEMPT_RT image for BeagleBone Black #yocto


Bruce Ashfield
 



On Tue, Nov 1, 2022 at 5:10 PM Michael T Pham <mpham20@...> wrote:

>To build a kernel recipe (not just linux-yocto), it must be marked
>as compatible with your machine. The messages you are seeing are
>telling you that, by indicating that the recipes were skipped (since
>they are not compatible) and once they are all skipped you get a failure
>as nothing provides virtual/kernel.
>
>For linux-yocto, you also need a BSP description that the tooling
>uses to create the kernel configuration.

I am not sure what is meant by this. Sorry, I'm a complete newbie ':)

You can find the details in the yocto manuals, but I'm describing how
the standard/tiny/preempt-rt reference kernels have their configurations
constructed using the kernel-yocto tooling.

For each kernel type, there's a matching config that has the MACHINE
+ kernel type in it. The tools find that description and use it to pull all
the common configs, kernel type specifics and machine fragments into
a final config. 

If one doesn't exist, you either need to have your own defconfig, or you
can create one. In this case, you don't need to create one, as it
exists.
 

>We haven't been testing the beaglebone-yocto reference against -rt,
>so it isn't marked as compatible by default. That being said, it
>can be easily made compatible via a bbappend. Look at the
>meta-yocto-bsp layer, and the bbappends in there. We are adding
>the reference boards as compatible with linux-yocto. A similar
>bbappend would work for linux-yocto-rt, and you'd solve that first
>issue of not having a compatible machine.

I think I see what you're saying. So I would copy the contents of
/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.19.bbappend
for linux-yocto-rt? Where is the location to place this?

You'd only need to have the beaglebone yocto bits in the new bbappend,
and it would be placed in any layer, in the appropriate subdirectory. This
bappend is no different than any other.

I'm being intentionally terse there, since it is best to read the docs for
this, as I won't do it justice.
 

>For the BSP description, it does happen that we have one in the
>linux-yocto configuration meta-data, so one doesn't need to be
>created. The tools would find that description during the build
>and use it accordingly. The default KBRANCH should aslo be fine
>for the beaglebone-yocto, as we aren't carrying any extra patches
>for the board, so the linux-yocto-rt recipe's default values will
>get the right branch checked out and built.

Forgive me for not understanding but at first it sounds like you are
saying I need to create something and then you are saying I don't
need to?

I was describing the general case, and then commenting on this specific
one. I don't want someone to read this later and maybe think that any
machine + linux-yocto-rt combination will "just work".

Bruce

 

Michael


--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Join yocto@lists.yoctoproject.org to automatically receive all group messages.