RISC-V support #28

Open
opened 2022-12-21 03:36:52 +00:00 by RaitoBezarius · 3 comments
RaitoBezarius commented 2022-12-21 03:36:52 +00:00 (Migrated from github.com)

I want SecureBoot on RISC-V, that's all.

I want SecureBoot on RISC-V, that's all.
RaitoBezarius commented 2022-12-21 03:37:25 +00:00 (Migrated from github.com)
  • OVMF support in nixpkgs
  • QEMU test support
  • Lanzatool/Lanzaboote support
- [ ] OVMF support in nixpkgs - [ ] QEMU test support - [ ] Lanzatool/Lanzaboote support
RaitoBezarius commented 2023-01-02 01:47:15 +00:00 (Migrated from github.com)

I will receive my VF2 on 5 Jan. apparently, will see how hard is it to setup at least a remote builder for software and even a testbed (???).

I will receive my VF2 on 5 Jan. apparently, will see how hard is it to setup at least a remote builder for software and even a testbed (???).
sreehax commented 2024-04-06 07:11:21 +00:00 (Migrated from github.com)

Part of the trouble will be in compiling rust onto riscv uefi. I have tried this in the past, and the issue I ran into was that LLVM did not seem to want to build a RISC-V PE/COFF object file at all. The only workarounds for this are either 1. fix LLVM or 2. actually create a riscv ELF binary, but create a faux COFF header with assembly that jumps to the ELF code. This is what the linux kernel uses to boot as EFISTUB on arm64. All of this work will probably fall onto uefi-rs (https://github.com/rust-osdev/uefi-rs/issues/241).
References:
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/kernel/head.S
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/arm64/booting.rst

Part of the trouble will be in compiling rust onto riscv uefi. I have tried this in the past, and the issue I ran into was that LLVM did not seem to want to build a RISC-V PE/COFF object file at all. The only workarounds for this are either 1. fix LLVM or 2. actually create a riscv ELF binary, but create a faux COFF header with assembly that jumps to the ELF code. This is what the linux kernel uses to boot as EFISTUB on arm64. All of this work will probably fall onto uefi-rs (https://github.com/rust-osdev/uefi-rs/issues/241). References: [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/kernel/head.S [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/arm64/booting.rst
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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: raito/lanzaboote#28
No description provided.