Fedora for RISC-Vi, David and Rich (2024) ========================================= Abstract, slides, and video: https://pretalx.com/devconf-cz-2024/talk/Q7XB3M/ https://www.youtube.com/watch?v=qS12_HgbNog General: - RISC-V is about 12 years old - c10s is based on F40 - Fedora: - Kiwi-generated images - Works with QEMU, cloud-init, EDK2 - No bootloader (GRUB2 or 'sdboot'), direct booting the kernels - Boards with best upstream support? Landscape: - RVI (RISC-V international) is the "foundation" that controls the ISA specification. - "RVI is to RISC-V instruction set, what Red Hat is to open source software" - tech.riscv.org/groups - RHT is a member via IBM; individuals can also get access to it (but you don't have - RVI technical groups: many of them (73) - hypervisors, toolchains, runtime integrity + steering committees and task groups - "RISE" (RISC-V Software Ecosystem) - https://riseproject.dev - RHT contributes 2 full-time equivalent to RISE - It deals with the software layer, Linux distros - They also have technical steering committes (TSC): compilers & toolchains, distro integration, kernel & virt - RVI "Profiles" - this is an important concept for us - https://lists.riscv.org/g/sig-profiles - RISC-V is an "extensible" architectre: so there are many possible extensions - To construct a UNIX server, or embedded, etc - "RVA23": vector extensions, hypervisor, perf counters, cache, etc - On x86: AVX, etc provide performance - All the specs are available online - Waiting for hardware - For Fedora, we don't want to exclude people using cheaper (but reliable) boards, as they'd be common - "RVA24" — we don't know what it'll be called; because they'll be dated - For CentOS 10 Stream - the "balance" might be difficult - As of 2024 June, there are still some downstream-specific software - Working on RISC-V on Fedora: - Rich worked a lot for - Fedora Rawhide: 24K RPM packages! - CentOS 10 Stream: 2389 software (almost a 10th of Fedora) - Koji - RISC-V rocks - Being replaced by official Fedora Koji - So that Fedora packagers can submit a scratch build or a normal build - Building packages from regular Koji in the RISC-V Koji - RISC-V is not gating - the hardware is too slow - RISC-V as a primary architecture on Fedora? - Not in the immediate feature, not available enough - Rich's benchmarking from 2023: "single-thread perf is approx 4 times slower than we want it to be on the currently available hardware" - QEMU is actually worse the real-hardware (i.e. QEMU running on x86, emulating RISC-V) - Hardware availability: rackable, fast-enough, and available Q&A: - Difficult packages: - valgrind - shim / boot-related stuff (due to the signing involved) - In some langauges (incl GCC) we don't have great support for RISC-V (GCC) - e.g. Vector - OCaml: compressed extension (of RISC-V), but it's not efficient - Hypervisor support - rudimentary - Can you query what extensions are available on the hardware? (`hwprobe` syscall - the official way to get the list) - Discussion about EDK2/firmware - Vision Five 2 - ACPI, SMBIOS, etc - Rich: - "We're trying to make RISC-V as close as possible to x86 - that's our vision (may differ from RIV's vision)" - "We want it to be as boring and dull as possible"