Investigate systemd-boot for RISC-V images #24

Open
opened 2026-06-14 10:18:27 +00:00 by kashyapc · 6 comments
Owner

(This is a follow-up from Flock 2026.)

Zbigniew (from systemd) suggested to investigate systemd-boot on RISC-V.

First build in the main Koji here: https://koji.fedoraproject.org/koji/buildinfo?buildID=3017451

(Cc: @zbyszek)

(This is a follow-up from Flock 2026.) Zbigniew (from systemd) suggested to investigate `systemd-boot` on RISC-V. First build in the main Koji here: https://koji.fedoraproject.org/koji/buildinfo?buildID=3017451 (Cc: @zbyszek)
Author
Owner

@zbyszek: Hey, so Charles Mirabile was saying on Fedora RISC-V Matrix that we do build it for riscv64 as part of our systemd build:https://riscv-kojipkgs.fedoraproject.org/koji/buildinfo?buildID=90738

And he does use it for all of his machines instead of Grub, "but to do that you need to grab special install media (everything netinstall), and set a boot paremeter in grub, then make sure to set up the partitions correctly in the installer".

@davidlt was also talking about some limitations of systemd-boot, but the basics seem to work.

@zbyszek: Hey, so Charles Mirabile was saying on Fedora RISC-V Matrix that we do build it for `riscv64` as part of our systemd build:https://riscv-kojipkgs.fedoraproject.org/koji/buildinfo?buildID=90738 And he does use it for all of his machines instead of Grub, "but to do that you need to grab special install media (everything netinstall), and set a boot paremeter in grub, then make sure to set up the partitions correctly in the installer". @davidlt was also talking about some limitations of `systemd-boot`, but the basics seem to work.
Owner

We know that sdboot works on riscv64 as it was used by other distributions too. I also considered using it for Fedora/RISC-V as we had troubles getting GRUB2 working. I think, this was at a time Fedora added sdboot as an options, and I had earlier switched x86_64 to sdboot. Sadly at the time I was looking into sdboot for riscv64 it was broken IIRC.

@zbyszek It would be nice if there was a Kiwi image with sdboot to verify that it always works.

We know that `sdboot` works on riscv64 as it was used by other distributions too. I also considered using it for Fedora/RISC-V as we had troubles getting GRUB2 working. I think, this was at a time Fedora added `sdboot` as an options, and I had earlier switched x86_64 to `sdboot`. Sadly at the time I was looking into `sdboot` for riscv64 it was broken IIRC. @zbyszek It would be nice if there was a Kiwi image with `sdboot` to verify that it always works.

hi @kashyapc 👋, @davidlt 👋

Clarification: systemd-boot/sd-boot + systemd-stub/sd-stub are built as part of the systemd srpm. This produces the systemd-boot-unsigned rpm. Then a separate systemd-boot srpm is "built" in the special koji channel and this produces the systemd-boot-$arch rpms with the binary signed for SecureBoot.

Speaking for upstream: I'm happy to hear that sdboot works on riscv64. AFAIK it's not being regularly tested, so it'd be great to get feedback if something breaks.

Speaking for downstream: the official koji builds currently cover three EFI architectures, producing three noarch binary rpms systemd-boot-{x64,ia32,aa64}. This is governed by ExclusiveArch: %efi, so it's possible that riscv builds will happen automatically when the primary koji starts to cover riscv. But for the signing to work, I think the riscv build will need to be added to the appropriate channel. But this is something to answer when riscv joins the primary koji.

@kashyapc wrote in #24 (comment):

Hey, so Charles Mirabile was saying on Fedora RISC-V Matrix that we do build it for riscv64 as part of our systemd build:https://riscv-kojipkgs.fedoraproject.org/koji/buildinfo?buildID=90738

Yes, but that is an unsigned build. So it's a necessary step, but not the full story.

It would be nice if there was a Kiwi image with sdboot to verify that it always works.

Yeah. Not sure where/how this happens.

hi @kashyapc :wave:, @davidlt :wave: Clarification: systemd-boot/sd-boot + systemd-stub/sd-stub are *built* as part of the `systemd` srpm. This produces the `systemd-boot-unsigned` rpm. Then a separate `systemd-boot` srpm is "built" in the special koji channel and this produces the `systemd-boot-$arch` rpms with the binary signed for SecureBoot. Speaking for upstream: I'm happy to hear that sdboot works on riscv64. AFAIK it's not being regularly tested, so it'd be great to get feedback if something breaks. Speaking for downstream: the official koji builds currently cover three EFI architectures, producing three noarch binary rpms `systemd-boot-{x64,ia32,aa64}`. This is governed by `ExclusiveArch: %efi`, so it's possible that riscv builds will happen automatically when the primary koji starts to cover riscv. But for the signing to work, I think the riscv build will need to be added to the appropriate channel. But this is something to answer when riscv joins the primary koji. @kashyapc wrote in https://forge.fedoraproject.org/riscv/planning/issues/24#issuecomment-821918: > Hey, so Charles Mirabile was saying on Fedora RISC-V Matrix that we do build it for `riscv64` as part of our systemd build:https://riscv-kojipkgs.fedoraproject.org/koji/buildinfo?buildID=90738 Yes, but that is an unsigned build. So it's a necessary step, but not the full story. > It would be nice if there was a Kiwi image with sdboot to verify that it always works. Yeah. Not sure where/how this happens.
Owner

@zbyszek Fedora official Kiwi descriptions live here: https://pagure.io/fedora-kiwi-descriptions This has not yet moved to Forge (?!).

All the images described there are currently are GRUB2 based, or UKI based. There is also ELN stuff there. If you want a regular testing on sdboot (signed or unsigned [in our case]) it would highly advice to add an image description for one image.

For example, there is Fedora-Cloud-Base-UEFI-UKI. Maybe something like Fedora-Cloud-Base-UEFI-SDBOOT. You could add those to Pungi composes in upstream Koji instance (might need an approval? well, it's fully standalone change not affecting anything else). We could also build as part of your images set and boot it.

The one we deliver for physical boards (SBCs) is Fedora-Server-Host-Generic.

Simply put if you could have a template (kiwi description) for an image that is based on sdboot instead of GRUB2 it would testing a lot easier, and it's quick. We build Cloud Base image in ~25 minutes on SiFive P550 board. It's almost 1 hour for the server image.

Again, just a suggestion. As long as there is Kiwi description (Cloud or/and Server) it's not that hard for us to spin it.

@zbyszek Fedora official Kiwi descriptions live here: https://pagure.io/fedora-kiwi-descriptions This has not yet moved to Forge (?!). All the images described there are currently are GRUB2 based, or UKI based. There is also ELN stuff there. If you want a regular testing on `sdboot` (signed or unsigned [in our case]) it would highly advice to add an image description for one image. For example, there is `Fedora-Cloud-Base-UEFI-UKI`. Maybe something like `Fedora-Cloud-Base-UEFI-SDBOOT`. You could add those to Pungi composes in upstream Koji instance (might need an approval? well, it's fully standalone change not affecting anything else). We could also build as part of your images set and boot it. The one we deliver for physical boards (SBCs) is `Fedora-Server-Host-Generic`. Simply put if you could have a template (kiwi description) for an image that is based on `sdboot` instead of `GRUB2` it would testing a lot easier, and it's quick. We build Cloud Base image in ~25 minutes on SiFive P550 board. It's almost 1 hour for the server image. Again, just a suggestion. As long as there is Kiwi description (Cloud or/and Server) it's not that hard for us to spin it.

fedora-kiwi-descriptions are now in https://forge.fedoraproject.org/releng/kiwi-descriptions

OK, it sounds like we need to figure out how to add some image definitions that use sd-boot. I'll put this on the TODO list. I hope people interested in the topic can help.

fedora-kiwi-descriptions are now in https://forge.fedoraproject.org/releng/kiwi-descriptions OK, it sounds like we need to figure out how to add some image definitions that use sd-boot. I'll put this on the TODO list. I hope people interested in the topic can help.
Author
Owner

@zbyszek wrote in #24 (comment):

fedora-kiwi-descriptions are now in https://forge.fedoraproject.org/releng/kiwi-descriptions

OK, it sounds like we need to figure out how to add some image definitions that use sd-boot. I'll put this on the TODO list. I hope people interested in the topic can help.

@zbyszek I'm interested here, although I haven't spent a lot of time with Kiwi hands-on (only theoretically :D). I've added this to my queue too.

@zbyszek wrote in https://forge.fedoraproject.org/riscv/planning/issues/24#issuecomment-866755: > fedora-kiwi-descriptions are now in https://forge.fedoraproject.org/releng/kiwi-descriptions > > OK, it sounds like we need to figure out how to add some image definitions that use sd-boot. I'll put this on the TODO list. I hope people interested in the topic can help. @zbyszek I'm interested here, although I haven't spent a lot of time with Kiwi hands-on (only theoretically :D). I've added this to my queue too.
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#24
No description provided.