Skip to content Skip to footer
0 items - $0.00 0

Yocto, RockPi and SBOMs: Building modern embedded Linux images by mvip

Yocto, RockPi and SBOMs: Building modern embedded Linux images by mvip

Yocto, RockPi and SBOMs: Building modern embedded Linux images by mvip

13 Comments

  • Post Author
    lukeh
    Posted February 21, 2025 at 8:18 pm

    Love Yocto! It has a learning curve but it took about a week from nothing to an embedded image including Swift and Flutter apps, U-Boot, etc. A curve worth climbing.

  • Post Author
    Palomides
    Posted February 21, 2025 at 8:21 pm

    >you can’t run “apt update”

    if you want to get a little weird, you can tell yocto to compile everything into deb packages and host them yourself with something like aptly

  • Post Author
    palata
    Posted February 21, 2025 at 9:11 pm

    Yocto is pretty great! Unfortunately I feel like it gets a lot of criticism, but usually from people who haven't gotten to learn it. Like "I had to spend 2h on Yocto and this thing suuuuucks, I threw a docker image there and called it a day".

    Which is a pity, because when used correctly it's really powerful!

    From the article, I can't help but mention that one third of the "key terminology" is about codenames. What do people have with codenames? I can count and easily know that 5 comes after 4. But I don't know how to compare Scarthgap and Dunfell (hell, I can't even remember them).

  • Post Author
    dgfitz
    Posted February 21, 2025 at 9:19 pm

    I read just the title and wondered if this was a yocto post.

    I have (accident) become the yocto SME at my $dayjob. Probably the biggest positive has been free SBOM generation, and cooking things like kSLOC counts into recipes.

    The learning curve stinks, the build suite is very powerful.

  • Post Author
    kierank
    Posted February 21, 2025 at 9:31 pm

    It's crazy that you have to use this custom "embedded" tooling when the vendor should be implementing support in vanilla Linux distros.

  • Post Author
    dgfitz
    Posted February 21, 2025 at 9:45 pm

    This toolchain is about half my dayjob.

    Bitbake is a meta-compiler, and the tool suite is very powerful. Just realize to this means you need to be an expert error-message debugger, and able to jump into (usually c/c++) code to address issues and flow patches upstream.

    It really is gratifying when you finally kick out a working image.

  • Post Author
    bootloop
    Posted February 21, 2025 at 11:35 pm

    I am actually scared of switching jobs in case my next job doesn't involve yocto.

    How would I make use of the countless hours I have already invested in this piece of software? Countless keywords and the dark magic of the ever changing syntax.

    But when it works it works..

  • Post Author
    codetrotter
    Posted February 21, 2025 at 11:40 pm

    Last time I tried Yocto, some people here on HN suggested that I try Buildroot instead.

    I don’t see so many mentions of Buildroot in this thread yet.

    If you are interested in Yocto it might be worth having a look at Buildroot as well. I liked it a lot when I tried it.

    My thread from years ago, where people told me about Buildroot:

    https://news.ycombinator.com/item?id=18083506

    The website of Buildroot:

    https://buildroot.org/

  • Post Author
    msarnoff
    Posted February 21, 2025 at 11:41 pm

    The one thing I still don't like about Yocto is the setup process. You need to check out multiple layer repositories, make sure you check out the right commit from each repository (need reproducibility!), put everything in the correct directory structure, and then set up `bblayers.conf` and `local.conf`.

    I've got a script that does all this, but it's still a pain.

    I've been thinking about putting everything in a monorepo, and adding poky, the third-party layers, and my proprietary layers as submodules. Then, when the build server needs to check out the code or a new developer needs to be onboarded, they just `git clone` and `git submodule update`. When it's time to update to the latest version of Yocto, update your layer submodules to the new branch. If you need to go back in time and build an older version of your firmware image, just roll back to the appropriate tag from your monorepo.

    Anyone else have another solution to this issue?

    Oh yeah, and the build times. It's crazy disk I/O bound. But if you're using something like Jenkins on an AWS instance with 96GB of RAM, set up your build job to use `/tmp` as your work directory and you can do a whole-OS CI build in minutes.

  • Post Author
    fathermarz
    Posted February 22, 2025 at 1:02 am

    As someone in the Software Supply Chain business. Yocto SBOMs are considered low quality because they include things that do and do not exist in the final compiled artifact. When you compare what exists inside, physically from a binary perspective, what is included in the manifest, and what is generated in the build root, you will find they will never align unless you get creative and map artifacts together. Today they are accepted as meeting the compliance checkbox, but once the industry matures, they will need to adjust their approach.

  • Post Author
    klysm
    Posted February 22, 2025 at 2:25 am

    I think long term yocto and build root are going to be replaced by container tooling. Theres not that big of a difference between compiling an OS image and building a container image.

  • Post Author
    jcalvinowens
    Posted February 22, 2025 at 4:17 am

    Yocto can be incredibly simple, this is my favorite example: https://github.com/bootlin/simplest-yocto-setup/

    Only the kernel and bootloader usually need to be specialized for most modern arm boards: the userland can be generic. Most of the problems people have with yocto are due to layers from hardware vendors which contain a lot of unnecessary cruft.

  • Post Author
    vlovich123
    Posted February 22, 2025 at 4:51 am

    Ah BitBake and OpenEmbedded. That’s what Palm used for WebOS. It was simultaneously amazing and a nightmare. In 2024 you should not be using it. There are better alternatives.

Leave a comment

In the Shadows of Innovation”

© 2025 HackTech.info. All Rights Reserved.

Sign Up to Our Newsletter

Be the first to know the latest updates

Whoops, you're not connected to Mailchimp. You need to enter a valid Mailchimp API key.