Add the support for riscv64 arch.

This commit is contained in:
Steven Shiau 2024-11-08 08:02:53 +08:00
parent e6efd799fc
commit 50c6509ee0
2 changed files with 24 additions and 4 deletions

View File

@ -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

View File

@ -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"