In message: [yocto] Help with setting up a PREEMPT_RT image for BeagleBone Black #yocto on 27/10/2022 [email protected] 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 (#58457): https://lists.yoctoproject.org/g/yocto/message/58457 Mute This Topic: https://lists.yoctoproject.org/mt/94609944/21656 Mute #yocto:https://lists.yoctoproject.org/g/yocto/mutehashtag/yocto Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
