Path for 'riscv64' inclusion in primary Koji #23

Open
opened 2026-06-11 23:27:23 +00:00 by kashyapc · 3 comments
Owner

Context

There is an important distinction that inclusion of riscv64 into main Koji is a part of the larger task of making riscv64 a Primary Architecture. We should first focus on the work required to move from the secondary Koji (https://riscv-koji.fedoraproject.org/) to primary Koji (https://koji.fedoraproject.org/).

Today packagers can make scratch builds in https://riscv-koji.fedoraproject.org/. The eventual goal is for packagers to be able to submit regular Fedora builds for RISC-V, just like they do for x86 and aarch64.

This ticket is based on these in-progress requirements for RISC-V as a primary arch.

(Cc: @abologna, @davidlt, @jmontleon, @hrw, @rjones)

Rough requirements for moving to primary Koji

Not all these requirements are "absolute" and may get adjusted based on reality and genuine trade-offs that we may need to make. (The numbering below doesn't imply priority order.)

  1. Rack server-grade RVA23 hardware in the Fedora data center.

    "Server-grade" here means performant hardware that will not cause unreasonable wait time for package maintainers. We can figure out what is "unreasonable" as a community, and as more RVA23 hardware shows up. (Refer to related discussion on "tentative build-time cap" for GCC.)

    Currently, all the Fedora RISC-V Koji builder hardware is community-provided and is hosted in people's homes. The above mentioned server-grade RVA23 hardware should satisfy all essential requirements of Fedora Infrastructure. We already discussed this informally with @kevin from Fedora Infrastructure back in June 2025. I'll summarize the notes in a separate comment below.

    Tracker: Add server-grade RISC-V builders in Fedora data center

  2. Provide access to RISC-V hardware to some package maintainers.

    Allow Fedora package maintainers to test/debug/build their software on RISC-V hardware. Initially, this can't be unfettered access to everyone, but more targeted.

    Tracker: Make a few RISC-V test machines available for package maintainers

  3. A Fedora kernel / OS that can run on the Fedora builders

    The said Fedora kernel should not carry non-upstream patches, modulo any sensible exceptions. Flesh out the details with the Fedora primary kernel maintainers. Today, @jmontleon maintains the Fedora RISC-V omni kernel that can boot across several boards.

  4. Benchmark Fedora package build times on RISC-V hardware

    As of this writing (12 June 2026), we have some meaningful improvements on RVA23 hardware that is available today. Details of Fedora build benchmarks here: Fedora build benchmarks on SpacemiT K3 (RVA23 hardware). That said, even this is not quite enough for inclusion to main Koji, we will need another generational leap in hardware.


Other considerations:

Fedora OpenQA: The first ticket I filed almost 9 months ago was about integrating riscv64 into OpenQA. While this is very much on our mind, it should be a non-blocking requirement for inclusion in primary Koji.

## Context There is an important distinction that inclusion of `riscv64` into main Koji is a _part_ of the larger task of making `riscv64` a Primary Architecture. We should first focus on the work required to move from the secondary Koji (https://riscv-koji.fedoraproject.org/) to primary Koji (https://koji.fedoraproject.org/). Today packagers can make scratch builds in https://riscv-koji.fedoraproject.org/. The eventual goal is for packagers to be able to submit regular Fedora builds for RISC-V, just like they do for `x86` and `aarch64`. This ticket is based on these in-progress [requirements for RISC-V as a primary arch](https://forge.fedoraproject.org/riscv/planning/issues/8). (Cc: @abologna, @davidlt, @jmontleon, @hrw, @rjones) ## Rough requirements for moving to primary Koji Not all these requirements are "absolute" and may get adjusted based on reality and genuine trade-offs that we may need to make. (The numbering below doesn't imply priority order.) 1. **Rack server-grade RVA23 hardware in the Fedora data center.** "Server-grade" here means performant hardware that will not cause unreasonable wait time for package maintainers. We can figure out what is "unreasonable" as a community, and as more RVA23 hardware shows up. (Refer to [related](thttps://forge.fedoraproject.org/riscv/planning/issues/8#issuecomment-765448) [discussion](https://forge.fedoraproject.org/riscv/planning/issues/8#issuecomment-781016) on "tentative build-time cap" for GCC.) Currently, all the Fedora RISC-V Koji builder hardware is community-provided and is hosted in people's homes. The above mentioned server-grade RVA23 hardware should satisfy all _essential_ requirements of Fedora Infrastructure. We already discussed this informally with @kevin from Fedora Infrastructure back in June 2025. I'll summarize the notes in a separate comment below. Tracker: [Add server-grade RISC-V builders in Fedora data center ](https://forge.fedoraproject.org/riscv/planning/issues/6) 2. **Provide access to RISC-V hardware to some package maintainers.** Allow Fedora package maintainers to test/debug/build their software on RISC-V hardware. Initially, this can't be unfettered access to everyone, but more targeted. Tracker: [Make a few RISC-V test machines available for package maintainers](https://forge.fedoraproject.org/riscv/planning/issues/7) 3. **A Fedora kernel / OS that can run on the Fedora builders** The said Fedora kernel should not carry non-upstream patches, modulo any sensible exceptions. Flesh out the details with the Fedora primary kernel maintainers. Today, @jmontleon maintains the Fedora RISC-V [omni kernel]( https://copr.fedorainfracloud.org/coprs/g/forge-riscv-members/riscv64_omni_kernel/) that can boot across several boards. 4. **Benchmark Fedora package build times on RISC-V hardware** As of this writing (12 June 2026), we have some meaningful improvements on RVA23 hardware that is available _today_. Details of Fedora build benchmarks here: [Fedora build benchmarks on SpacemiT K3 (RVA23 hardware)](https://forge.fedoraproject.org/riscv/planning/issues/17). That said, even this is not quite enough for inclusion to main Koji, we will need another generational leap in hardware. ------ ### Other considerations: **Fedora OpenQA**: The first ticket I filed almost 9 months ago was about[ integrating `riscv64` into OpenQA](https://forge.fedoraproject.org/quality/tickets/issues/827). While this is very much on our mind, it should be a non-blocking requirement for inclusion in *primary* Koji.
Author
Owner

Fedora datacenter rough needs

This is based on a previous informal discussion with @kevin (please correct / amend, if need be):

  • Able to remotely (re)install the hardware. (If it needs someone to insert a USB key or card or move media that's bad.)
  • Remote console access to debug problems.
  • Remote power to reset devices.
  • Remote firmware upgrades? (If they happen/are needed.)

Negotiable:

  • Dual power supply.
  • Dual network.
  • Fast network (10G or 25G).
  • Rack mount.
  • Warranty support (can we get someone to replace/fix failures)?

NB: The datacenter managers themselves might have additional requirements on top of the above requirements.

### Fedora datacenter rough needs This is based on a previous informal discussion with @kevin (please correct / amend, if need be): - Able to remotely (re)install the hardware. (If it needs someone to insert a USB key or card or move media that's bad.) - Remote console access to debug problems. - Remote power to reset devices. - Remote firmware upgrades? (If they happen/are needed.) Negotiable: - Dual power supply. - Dual network. - Fast network (10G or 25G). - Rack mount. - Warranty support (can we get someone to replace/fix failures)? NB: The datacenter managers themselves might have additional requirements on top of the above requirements.

Please ensure the new Koji builders have at least 300GiB of storage each. This is similar to x86_64 builders.
I didn't see storage requirements being mentioned anywhere.

Please ensure the new Koji builders have at least 300GiB of storage each. This is similar to x86_64 builders. I didn't see storage requirements being mentioned anywhere.
Owner

The storage capacity should depend based on maxjobs settings (the number of parallel builds one can do). We are currently running maxjobs=1 (one job per board). I checked a few machines, and we mainly use 1TB NVMe, and it goes up to 2TB NVMe. I doubt we will have a higher maxjobs setting thus storage shouldn't be a problem unless it's ridiculously expensive.

The storage capacity should depend based on `maxjobs` settings (the number of parallel builds one can do). We are currently running `maxjobs=1` (one job per board). I checked a few machines, and we mainly use 1TB NVMe, and it goes up to 2TB NVMe. I doubt we will have a higher `maxjobs` setting thus storage shouldn't be a problem unless it's ridiculously expensive.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
riscv/planning#23
No description provided.