Yocto Project gets big backer and second LTS release – but what is it?
You may not realize it, but you probably already use things made with this build system for embedded Linux
The Yocto Project has won a big corporate backer and put out its fourth release in 12 years. But what does it do?
The Yocto Project released Yocto 4.0 "Kirkstone" recently, and now has announced that the BMW Group has joined, alongside a whole list of household names including Intel, Arm, Cisco, Meta, and Microsoft.
The headline addition in version 4.0 is support for building a Software Bill of Materials (SBOM) compatible with the SPDX standard. As The Reg described earlier this year, in the aftermath of Log4J and so on, SBOM support is an important feature.
There's a good chance that you already own and use things built with Yocto, even if you've never heard of it. Although it's widely used, it's not widely known. The Reg FOSS desk is amused to note that since we started researching this article, the project has changed the strapline on its website to a potted explanation: "It's not an embedded Linux Distribution, it creates a custom one for you."
As electronics get cheaper, and regrettably more disposable, it's becoming easier to just stick a tiny general-purpose computer running a general-purpose OS into many dedicated, single-purpose appliances. An odd but prevalent sign of this is a tendency to make the gadgets run Doom.
It used to be common to use proprietary OSes such as ThreadX, Wind River's VxWorks, or the Canadian QNX (now one of the few money-making bits of BlackBerry) to do this, but falling chip costs mean it's now feasible to use Linux. After all, OSes don't come much cheaper, and as its selection of tools and hardware support keep improving, it's easier to find people who can make it do what you need.
It could be that your gadget is very expensive and stuffed with multiple networked computers already – like, say, a Tesla electric car. Each Tesla has its own mobile data connection, and regularly downloads its own software updates. But if your device is smaller, cheaper, and isn't connected to the internet, you might well want to save costs and improve its security by building the smallest possible custom Linux OS image, containing just the components you need and the drivers for your specific hardware.
- Rocky Linux 9 and its new build service enter the ring
- Disentangling the Debian derivatives: Which should you use?
- Improve Linux performance with this one weird trick
- CP/M's open-source status clarified after 21 years
This is where Yocto comes in. It has various sub-projects, such as OpenEmbedded and BitBake, some of which it adopted in. The overall goal is to simplify and automate the task of building an entire Linux stack, starting with building compilers to cross-compile the target system for the target hardware – for instance, using an ordinary x86-64 PC to build a system for a tiny Arm board.
As project architect Richard Purdie explained: "That means if you see a Dell server, the OS on the management controller was probably built by YP (Yocto Project). Microsoft/IBM/Facebook use it, and any Facebook server would likely have a controller running an OS built by YP."
Yocto tools also build the WebOS software in LG smart TVs, and Purdie told us: "Windows Subsystem Linux (WSL) is built by Yocto Project, so many copies of Windows out there come with Linux which is built by YP."
ThreadX has been renamed since it was acquired by Microsoft in 2018 and is now known as "Azure RTOS", although the old name still appears in the documentation. If you own a Raspberry Pi, although you might not have seen it, you've used it – it is the basis for the "firmware" that runs the Pi's GPU, which is in control of the whole computer.