THE LINUX FOUNDATION PROJECTS
Blog

Improving RISC-V Support in the Yocto Project

By June 5, 2026No Comments

Author: Trevor Gamblin tgamblin@baylibre.com

In June 2025, RISC-V International joined the Yocto Project as a Platinum-level member, which signaled formal backing and oversight for RISC-V within the project. RISC-V is now a featured architecture in Yocto’s automated test matrix, which means that the entire Linux ecosystem benefits from early identification, reporting, and fixing of issues upstream. Meanwhile, RISE has been working hard to triage these issues, and to improve support for a variety of hardware platforms within the project, but this is only the beginning. Let’s take a look at RISC-V’s evolution in the Yocto Project and what the future holds.

What is the Yocto Project?

The Yocto Project is a collaborative ecosystem which provides tools and configurations to build customized Linux operating systems. This includes broad support for many architectures, with the flexibility to fine-tune the outputs and even write your own custom layers to achieve your project’s goals. The Yocto community includes contributors ranging from individual developers to some of the biggest companies and organizations from industry – RISC-V International is one of the latest to join the project. RISC-V is now a primary architecture in the Yocto Project, and this support means that both communities can make use of it to build the next generation of embedded Linux systems.

Yocto Before RISE: A Brief RISC-V Support Timeline

Date Yocto Layer Milestone
October 2017 meta-riscv Layer created, qemuriscv64 Board Support Package (BSP) added
October 2017 openembedded-core First commit mentioning riscv
March 2018 meta-riscv HiFive Unleashed added
November 2018 meta-riscv qemuriscv32 BSP added
January 2019 meta-riscv Initial OpenSBI recipe added
June 2019 openembedded-core qemuriscv64 BSP moved from meta-riscv
March 2021 openembedded-core qemuriscv32 BSP moved from meta-riscv
April 2021 meta-riscv BeagleV BSP added
March 2022 meta-riscv Nezha D1-H added
July 2022 meta-riscv StarFive VisionFive BSP added
August 2022 meta-riscv Andes AE350 ax45mp BSP added
January 2023 meta-riscv StarFive VisionFive 2 BSP added
February 2023 meta-riscv MangoPi MQ-Pro BSP added
April 2023 meta-riscv PINE64 Star64 BSP added
October 2023 meta-riscv Milk-V Duo BSP added
January 2024 meta-riscv BeagleV-Ahead BSP added
February 2024 meta-riscv Milk-V Megrez BSP added
June 2025 meta-riscv OrangePi RV2/R2S BSPs added
September 2025 openembedded-core RVA23S64 profile becomes default in qemuriscv64

 

This is only a sample of the extensive and complicated work that many contributors have performed over the years, in both openembedded-core and meta-riscv. We thank them for their tremendous efforts in creating and making improvements to the RISC-V support in the Yocto Project, and we look forward to our continued work together.

(Almost) One Year Later: Successes and Challenges

Since September 2025, we have focused on two key areas:

  1. Triaging intermittent qemuriscv64 test failures in the Yocto Project’s CI/CD infrastructure (Autobuilder)
  2. Improving the meta-riscv layer, with tasks including adding new BSPs, enhancing existing support, ensuring that the layer meets Yocto Project standards, adding a hardware deprecation policy for future releases, and improving documentation

This has proved to be both challenging and rewarding work. The test failures seen in the Autobuilder are disproportionately high on qemuriscv64 (compared with other architectures), and manifest mainly when the host systems are under heavy load. The Yocto Project must test a large number of build configurations frequently, and this all-but-ensures that any given host system will feature at least some system loading when the tests run. Some failures can be mitigated by setting more generous test timeout limits, but the the ideal solutions involve further optimizations for RISC-V specifically, along with utilization of the latest RVA23-compliant hardware, which promises to improve performance.

In the meta-riscv layer, support is also evolving rapidly. The BSPs in the timeline section above primarily featured vendor-provided versions of the Linux Kernel, U-Boot, and so on; however, more recent work has added parallel BSPs which track mainline support, allowing developers to compare and contrast features as new upstream releases become available. Notable examples include additions of mainline BSPs for the SpacemiT K1 development boards (in particular, the OrangePi RV2, Muse Pi Pro, and BananaPi F3) and the ESWIN EBC77, all of which RISE has helped review, test, and extend. RISE is also actively working with SpacemiT on the very first BSP for the RVA23-compliant K3 Pico-ITX, which is being tested before final review.

To assist in tracking and maintaining meta-riscv, RISE has built basic CI/CD infrastructure using open-source software and with a hardware-in-the-loop component. Doing so allows us to perform nightly boot tests on various BSPs using the latest changes in Yocto, meaning that regressions are caught early, and it can also be used to test out new features we are developing. This has already proven successful in identifying bugs as new submissions arrive in the layer, and we hope that it will be an inspiration to others who are looking to automate their development workflow.

What’s Next?

Here are some things that RISE is working on over the coming months:

  1. The aforementioned BSP for the K3 Pico-ITX, which will continue to receive new features. This the “vendor” type for now, serving as a reference as K3 support improves in the upstream Linux Kernel, U-Boot, and elsewhere.
  2. Adding more RVA23 BSPs as additional platforms (K3 and otherwise) become available.
  3. Investigating further mitigations and/or optimizations of intermittent issues in the Yocto Project’s CI system.
  4. Continuing to assist with maintenance of meta-riscv and its BSPs, including consolidation of shared metadata and testing of new submissions to the layer.
  5. Discussing with the RISC-V and Yocto Project communities about goals for the future.

How to Get Involved

The Yocto Project is a collaborative effort, and it is always open to contributions, whether they’re from newcomers or industry experts. If you’d like to help improve RISC-V support in Yocto, you can start a discussion on GitHub, or visit the project’s contribution page for more info about how to contact us.

For more information on all of our work, come see our poster session “RISE and Yocto: Building a RISC-V Board Farm” at the RISC-V Summit in Bologna, June 8th-12th!

Relevant Links