All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@gmail.com>
To: mpham20@gmu.edu
Cc: yocto@lists.yoctoproject.org
Subject: Re: [yocto] Help with setting up a PREEMPT_RT image for BeagleBone Black #yocto
Date: Tue, 1 Nov 2022 08:54:10 -0400	[thread overview]
Message-ID: <20221101125410.GD17701@gmail.com> (raw)
In-Reply-To: <LsVs.1666893088601518070.INID@lists.yoctoproject.org>

In message: [yocto] Help with setting up a PREEMPT_RT image for BeagleBone Black #yocto
on 27/10/2022 mpham20@gmu.edu wrote:

> Hello all,
> 
> I am new to Yocto and would like to seek assistance for setting up a PREEMPT_RT
> image for BeagleBone Black.
> 
> Here is what I have tried so far. First I followed the Yocto Project Quick
> Build tutorial in the documentation.
> 
> 1)
> sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential
> chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils
> iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm
> python3-subunit mesa-common-dev zstd liblz4-tool
> 
> 2)
> git clone git://git.yoctoproject.org/poky
> 
> 3)
> cd poky
> 
> 4)
> git checkout -t origin/langdale -b my-langdale
> 
> 5)
> git pull
> 
> 6)
> source oe-init-build-env
> 
> 7) Then I went to poky/build/conf and edited local.conf by uncommenting
> MACHINE ?= "beaglebone-yocto"
> and commenting out
> #MACHINE ??= "qemux86-64"
> Then I added these two lines at the bottom of the file:
> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
> COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
> 
> 8) Next I ran this command:
> bitbake core-image-minimal
> 
> 9) Then I get errors at this point.
> ERROR: Nothing PROVIDES 'virtual/kernel'
> linux-yocto-upstream PROVIDES virtual/kernel but was skipped: Set
> PREFERRED_PROVIDER_virtual/kernel to linux-yocto-upstream to enable it
> linux-yocto PROVIDES virtual/kernel but was skipped: Set
> PREFERRED_PROVIDER_virtual/kernel to linux-yocto to enable it
> linux-yocto-rt PROVIDES virtual/kernel but was skipped: incompatible with
> machine beaglebone-yocto (not in COMPATIBLE_MACHINE)
> linux-yocto-dev PROVIDES virtual/kernel but was skipped: Set
> PREFERRED_PROVIDER_virtual/kernel to linux-yocto-dev to enable it
> linux-yocto-rt PROVIDES virtual/kernel but was skipped: incompatible with
> machine beaglebone-yocto (not in COMPATIBLE_MACHINE)
> linux-yocto-upstream PROVIDES virtual/kernel but was skipped: Set
> PREFERRED_PROVIDER_virtual/kernel to linux-yocto-upstream to enable it
> linux-yocto PROVIDES virtual/kernel but was skipped: Set
> PREFERRED_PROVIDER_virtual/kernel to linux-yocto to enable it
> linux-yocto-tiny PROVIDES virtual/kernel but was skipped: incompatible with
> machine beaglebone-yocto (not in COMPATIBLE_MACHINE)
> linux-dummy PROVIDES virtual/kernel but was skipped: PREFERRED_PROVIDER_virtual
> /kernel set to linux-yocto-rt, not linux-dummy
> linux-yocto-tiny PROVIDES virtual/kernel but was skipped: incompatible with
> machine beaglebone-yocto (not in COMPATIBLE_MACHINE)
> ERROR: Required build target 'core-image-minimal' has no buildable providers.
> Missing or unbuildable dependency chain was: ['core-image-minimal', 'virtual/
> kernel']
>  
> Summary: There was 1 WARNING message.
> Summary: There were 2 ERROR messages, returning a non-zero exit code.
> 
> I've tried a variety of ways and read lots of links but still no luck. Can
> someone tell me the best way to accomplish my goal?
> Thank you for any help.

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.

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.

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.

Whether it builds (it should), boots (it should) or gives you
appropriate -rt performance (unknown) .. are other questions
that are to be answered :)

Bruce


> 
> Michael

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#58426): https://lists.yoctoproject.org/g/yocto/message/58426
> Mute This Topic: https://lists.yoctoproject.org/mt/94609944/1050810
> Mute #yocto:https://lists.yoctoproject.org/g/yocto/mutehashtag/yocto
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



  parent reply	other threads:[~2022-11-01 12:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-27 17:51 Help with setting up a PREEMPT_RT image for BeagleBone Black #yocto mpham20
2022-10-27 20:49 ` [yocto] " Alexander Kanavin
2022-10-29 18:08   ` Michael T Pham
2022-11-01 12:54 ` Bruce Ashfield [this message]
2022-11-01 19:33   ` Zoran Stojsavljevic
2022-11-01 21:09   ` Michael T Pham
2022-11-01 22:13     ` Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221101125410.GD17701@gmail.com \
    --to=bruce.ashfield@gmail.com \
    --cc=mpham20@gmu.edu \
    --cc=yocto@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.