limine-bootloader / limine

Modern, advanced, portable, multiprotocol bootloader and boot manager.
https://limine-bootloader.org
BSD 2-Clause "Simplified" License
1.85k stars 140 forks source link

Support Linux protocol on riscv64 #370

Closed ziyao233 closed 4 months ago

ziyao233 commented 4 months ago

Initially support linux protocol on riscv64. Currently booting with UEFI + dtb is required, which is the most common case when booting on real riscv hardware (for example, u-boot emulated UEFI), since ACPI on riscv is still in draft stage,

This could make multarch distros' work easier, as said in https://github.com/limine-bootloader/limine/issues/244#issuecomment-1747749724

mintsuki commented 4 months ago

In general it all LGTM, minus the comments I reviewed with. Amazing job!

I wonder if and how much of this would be portable to aarch64 as well...

ziyao233 commented 4 months ago

In general it all LGTM, minus the comments I reviewed with. Amazing job!

I wonder if and how much of this would be portable to aarch64 as well...

Kernel image header on AArch64 is basically the same as RISCV's, but there is some different booting requirements.

I could create a new pull request later, extract some arch-independent code out then add aarch64 support as well, just as said before.

mintsuki commented 4 months ago

Sounds good! Linux booting on aarch64 has been something very desirable for a long while...

mintsuki commented 4 months ago

Thanks!