From 50c6509ee017c87cf59c450e670b2196af7f31e1 Mon Sep 17 00:00:00 2001 From: Steven Shiau Date: Fri, 8 Nov 2024 08:02:53 +0800 Subject: [PATCH] Add the support for riscv64 arch. --- scripts/build/binary_grub-efi | 16 +++++++++++++++- scripts/build/installer_debian-installer | 12 +++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/scripts/build/binary_grub-efi b/scripts/build/binary_grub-efi index 41a8c526e..7eb86ec7f 100755 --- a/scripts/build/binary_grub-efi +++ b/scripts/build/binary_grub-efi @@ -54,6 +54,9 @@ case "${LB_ARCHITECTURE}" in armhf) Check_package chroot /usr/lib/grub/arm-efi/configfile.mod grub-efi-arm-bin ;; + riscv64) + Check_package chroot /usr/lib/grub/riscv64-efi/configfile.mod grub-efi-riscv64-bin + ;; esac Check_package chroot /usr/bin/grub-mkimage grub-common Check_package chroot /usr/bin/mcopy mtools @@ -83,6 +86,11 @@ case "${LB_ARCHITECTURE}" in _SB_EFI_NAME="arm" _SB_EFI_DEB="arm" ;; + riscv64) + _SB_EFI_PLATFORM="riscv64" + _SB_EFI_NAME="riscv64" + _SB_EFI_DEB="riscv64" + ;; esac # Restoring cache @@ -136,7 +144,7 @@ case "${LB_UEFI_SECURE_BOOT}" in esac # Cleanup files that we generate -rm -rf binary/boot/efi.img binary/boot/grub/i386-efi/ binary/boot/grub/x86_64-efi binary/boot/grub/arm64-efi binary/boot/grub/arm-efi +rm -rf binary/boot/efi.img binary/boot/grub/i386-efi/ binary/boot/grub/x86_64-efi binary/boot/grub/arm64-efi binary/boot/grub/arm-efi binary/boot/grub/riscv64 # This is workaround till both efi-image and grub-cpmodules are put into a binary package case "${LB_BUILD_WITH_CHROOT}" in @@ -243,6 +251,10 @@ case "${LB_ARCHITECTURE}" in gen_efi_boot_img "arm-efi" "arm" "debian-live/arm" PATH="\${PRE_EFI_IMAGE_PATH}" ;; + riscv64) + gen_efi_boot_img "riscv64-efi" "riscv64" "debian-live/riscv64" + PATH="\${PRE_EFI_IMAGE_PATH}" + ;; esac @@ -324,6 +336,7 @@ rm -f chroot/grub-efi-temp/bootnetia32.efi rm -f chroot/grub-efi-temp/bootnetx64.efi rm -f chroot/grub-efi-temp/bootnetaa64.efi rm -f chroot/grub-efi-temp/bootnetarm.efi +rm -f chroot/grub-efi-temp/bootnetriscv64.efi mkdir -p binary cp -a chroot/grub-efi-temp/* binary/ @@ -331,6 +344,7 @@ rm -rf chroot/grub-efi-temp-x86_64-efi rm -rf chroot/grub-efi-temp-i386-efi rm -rf chroot/grub-efi-temp-arm64-efi rm -rf chroot/grub-efi-temp-arm-efi +rm -rf chroot/grub-efi-temp-riscv64-efi rm -rf chroot/grub-efi-temp-cfg rm -rf chroot/grub-efi-temp diff --git a/scripts/build/installer_debian-installer b/scripts/build/installer_debian-installer index 96ee4a4c5..e8f650094 100755 --- a/scripts/build/installer_debian-installer +++ b/scripts/build/installer_debian-installer @@ -106,7 +106,7 @@ case "${LB_ARCHITECTURE}" in DI_REMOTE_BASE_GTK="${DI_REMOTE_BASE}/gtk" ;; - powerpc) + powerpc|riscv64) case "${DI_IMAGE_TYPE}" in cdrom) DI_REMOTE_BASE="${LB_ARCHITECTURE}/cdrom" @@ -267,7 +267,7 @@ case "${LB_DERIVATIVE}" in # Set architecture-specific variables case "${LB_ARCHITECTURE}" in - arm64) + arm64|riscv64) TARGETS="build_cdrom_gtk build_cdrom_grub" ;; @@ -365,7 +365,7 @@ DOWNLOAD_GTK_INSTALLER=false if [ "${LB_DEBIAN_INSTALLER_GUI}" = "true" ] then case "${LB_ARCHITECTURE}" in - amd64|i386|arm64) + amd64|i386|arm64|riscv64) DOWNLOAD_GTK_INSTALLER=true ;; @@ -437,6 +437,12 @@ then DI_REQ_PACKAGES="yaboot" DI_PACKAGES="linux-image-powerpc linux-image-powerpc64 linux-image-powerpc-smp" ;; + + riscv64) + DI_REQ_PACKAGES="grub-efi-riscv64 efibootmgr" # UEFI (required for d-i, includes suggested packages) + DI_REQ_PACKAGES="${DI_REQ_PACKAGES} grub-efi grub-efi-riscv64-bin grub2-common grub-efi-riscv64-unsigned" # UEFI (required by Calamares) + DI_PACKAGES="linux-image-riscv64" + ;; esac DI_PACKAGES="${DI_PACKAGES} busybox cryptsetup mdadm lvm2 xfsprogs jfsutils"