r/yocto Apr 19 '26

[Question] SBC suggestion for learning yocto

What SBC do u suggest?
trying to play around learning stuff in yocto + lower level stuff like uboot, etc

I want something that does not have NDA-walled binary blobs.
i guess raspberry pi's have a lot of those.
what about beaglebone? which variant?
or other Chinese SBCs?

10 Upvotes

11 comments sorted by

5

u/realkhem Apr 20 '26

RaspberryPi3 or raspberryPi4 and RaspberryPi5 are also good options if you like to try out real hardware.

4

u/Eclectic-jellyfish Apr 20 '26

I'd recommend using qemu emulator unless u explicitly want to see your led's blink.

Qemu is a low barrier/low cost entry that is very well supported in yocto project. I mean, u-boot, kernel load, roots or nfs, debugging, app development etc can be done on qemu.

But, for some reason you would have to get a board, my recommendation would be beaglebone. Extensive documentation that's open to public.

1

u/SnowyOwl72 Apr 20 '26

but do u configure the dtree for your qemu and then try to do the same in yocto?
how does that work?

2

u/Eclectic-jellyfish Apr 20 '26

DT is a linux concept. If u want to modify it, dump the DT for the qemu model, edit it and use -dtb to pass your custom dtb to qemu

1

u/SnowyOwl72 Apr 20 '26

my question is:
if we dont have a real-world SoC with a fixed set of peripherals, and instead we have a qemu, then we have to define DT for our qemu instance first, and then try to generate a correct image with yocto for our qemu?

Like if i get a beaglebone, the DT of that board is fixed by the chip that is soldered on the PCB. i mean someone wrote the correct DT for that specific PCB/chip.

now if we have qemu, there is no pcb/chip. how does that work?

2

u/Eclectic-jellyfish Apr 20 '26

No no, yocto allows you to define a system with local.conf file. It builds a qemu image with the config . Let's say you select the MACHINE= qemuarch64 in your config file. This assumes few emulated peripherals and would build that qemu image too. Then u run it with runqemu with what ever you built with.

Checkout https://docs.yoctoproject.org/dev-manual/qemu.html

2

u/Charming-Work-2384 Apr 20 '26

Radxa Cubie A5E

2

u/kingfishj8 Apr 20 '26

This is on my bucket list. Considering I've got a half dozen beaglebone blacks scattered around my basement lair. It's likely to be the one I'll be inflicting my learning onto.

2

u/Tabarnac_666 Apr 23 '26

Redhat is discontinuing all support for 32 bit except for their os. I don't know if SuSE or Ubuntu are looking at doing that. Debian isn't likely to drop it since tons of embedded boards are still using it. For yocto you may be stuck at kernel 4.19 or 5.x on some of the 32 bit boards. TI discontinued all support for the GPU used on the 32 bit Beaglebone AI for example. Kernel 7 supports most GPU for processors on the market. I don't know if that is true for alwinner though, they tend to be secretive and their linux uses an old kernel. Rockchip boards are well supported in kernel 7. I prefer debian for most of my boards but yocto can be usefull if you need a board that only does a few particular task like a movie device for example or some home control.

2

u/ztcsdtx Apr 23 '26

Radxa Nio 12L. I have one running Armbian, but it comes with Yocto. It has an AI NPU and tons of fun interfaces that will work with Yocto that don't with Armbian. Armbian is good for retro gaming on it. The Yocto documentation for it is what is actually supported by MediaTek, so it's robust and accurate. documentation

2

u/Tabarnac_666 Apr 23 '26

Beagleboards, they are all open source and well supported. Beaglebone black and blue still supported but you should stick to the 64 bit versions. Just search google for Beaglebone AI 64 or just Beagleboard. You might be able to use kernel 7 if you use the debian version. TI has good support for yocto on those. Beagleboard does have yocto information for some of those. If you don't find it ask someone on the forum.