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 <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov
2025-02-07 15:06:22 +01:00
committed by Andrea Bolognani
parent 4b4a83b33f
commit b5d377d912
7 changed files with 99 additions and 6 deletions
+2 -2
View File
@@ -89,7 +89,7 @@
</oemconfig>
</type>
</preferences>
<preferences profiles="Cloud-Base-Generic" arch="x86_64,aarch64">
<preferences profiles="Cloud-Base-Generic" arch="x86_64,aarch64,riscv64">
<type image="oem" format="qcow2"
filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1"
kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off"
@@ -149,7 +149,7 @@
</oemconfig>
</type>
</preferences>
<preferences profiles="Cloud-Base-UEFI-UKI" arch="x86_64,aarch64">
<preferences profiles="Cloud-Base-UEFI-UKI" arch="x86_64,aarch64,riscv64">
<type image="oem" format="qcow2"
firmware="uefi" efipartsize="1000"
bootpartition="false"
+1 -1
View File
@@ -246,7 +246,7 @@
<package name="man-db"/>
<package name="man-pages"/>
<package name="mesa-dri-drivers"/>
<package name="mesa-va-drivers" arch="aarch64,ppc64le,x86_64"/> <!-- doesn't exist in s390x -->
<package name="mesa-va-drivers" arch="aarch64,ppc64le,x86_64,riscv64"/> <!-- doesn't exist in s390x -->
<package name="mesa-vulkan-drivers"/>
<package name="mtr"/>
<package name="nss-mdns"/>
+36
View File
@@ -71,6 +71,24 @@
</oemconfig>
</type>
</preferences>
<preferences profiles="ServerVMDisk" arch="riscv64">
<type image="oem" format="qcow2"
filesystem="xfs"
kernelcmdline="earlycon console=ttyS0,115200n8"
devicepersistency="by-uuid"
bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi"
rootfs_label="fedora"
>
<bootloader name="grub2" console="serial" timeout="0"/>
<size unit="G">10</size>
<systemdisk>
<volume name="@root"/>
</systemdisk>
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
</type>
</preferences>
<preferences profiles="ServerDisk" arch="x86_64">
<type image="oem"
filesystem="xfs"
@@ -139,6 +157,24 @@
</oemconfig>
</type>
</preferences>
<preferences profiles="ServerDisk" arch="riscv64">
<type image="oem"
filesystem="xfs"
kernelcmdline="earlycon console=ttyS0,115200n8"
devicepersistency="by-uuid"
bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi"
rootfs_label="fedora"
>
<bootloader name="grub2" console="serial" timeout="3" timeout_style="menu"/>
<size unit="G">10</size>
<systemdisk>
<volume name="@root"/>
</systemdisk>
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
</type>
</preferences>
<packages type="bootstrap" patternType="plusRecommended" profiles="ServerCore">
<package name="fedora-release-server"/>
</packages>