From b5d377d912dd9cfd48b89e3084d6dd49ed9bbcad Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Thu, 28 Nov 2024 16:31:59 +0200 Subject: Initial riscv64 support Most of the changes are self-explanatory and just follow what's already happening for existing architectures. Two things are worth pointing out: * we need to use shim-unsigned instead of shim-signed because riscv64 is not fully integrated into Fedora yet and so we can't do Secure Boot signing for the time being; * we use ext4 as bootfilesystem since in most cases the underlying firmware is going to be U-Boot, which needs to be able to load the board's DTB from /boot and doesn't support XFS. Signed-off-by: David Abdurachmanov --- components/boot.xml | 8 +++++++- components/liveinstall.xml | 9 +++++++++ grub-riscv64.cfg.iso-template | 41 +++++++++++++++++++++++++++++++++++++++++ teams/cloud/cloud.xml | 4 ++-- teams/cloud/container.xml | 2 +- teams/server.xml | 36 ++++++++++++++++++++++++++++++++++++ uki-editbootconfig.sh | 5 +++-- 7 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 grub-riscv64.cfg.iso-template diff --git a/components/boot.xml b/components/boot.xml index ee27d4f..d801c01 100644 --- a/components/boot.xml +++ b/components/boot.xml @@ -7,7 +7,7 @@ - + + + @@ -94,6 +96,7 @@ + @@ -101,6 +104,7 @@ + @@ -109,6 +113,7 @@ + @@ -121,5 +126,6 @@ + diff --git a/components/liveinstall.xml b/components/liveinstall.xml index 814dd76..ea6029a 100644 --- a/components/liveinstall.xml +++ b/components/liveinstall.xml @@ -23,6 +23,15 @@ + + + + + " { + menuentry "Start ${title} in basic graphics mode" --class fedora --class gnu-linux --class gnu --class os { + linux ($$root)${bootpath}/${kernel_file} ${boot_options} $${basicgfx} + initrd ($$root)${bootpath}/${initrd_file} + } +} diff --git a/teams/cloud/cloud.xml b/teams/cloud/cloud.xml index b38b508..b6874c4 100644 --- a/teams/cloud/cloud.xml +++ b/teams/cloud/cloud.xml @@ -89,7 +89,7 @@ - + - + - + diff --git a/teams/server.xml b/teams/server.xml index fbcf610..02f3915 100644 --- a/teams/server.xml +++ b/teams/server.xml @@ -71,6 +71,24 @@ + + + + 10 + + + + + false + + + + + + + 10 + + + + + false + + + diff --git a/uki-editbootconfig.sh b/uki-editbootconfig.sh index 32cb463..a2e2bcc 100755 --- a/uki-editbootconfig.sh +++ b/uki-editbootconfig.sh @@ -3,8 +3,9 @@ echo "###" "$0" "$@" # set arch-specific variables case "$(uname -m)" in - aarch64) arch="aa64"; ARCH="AA64";; - x86_64) arch="x64"; ARCH="X64";; + aarch64) arch="aa64"; ARCH="AA64";; + riscv64) arch="riscv64"; ARCH="RISCV64";; + x86_64) arch="x64"; ARCH="X64";; esac # figure where shim.efi and BOOT.CSV are located -- cgit v1.3.1+13