I believe you are right that 64-bit ARM will require its own bootloader setup, and that may be distro-specific as well (for Fedora we install grub2-efi and grub2-tools, but those packages do not exist for Ubuntu, while grub-common and grub-efi-arm64 do).
so I think we are hitting platform-specific code for running grub(2)-install:
if [[ "$ARCH" =~ "ppc" ]] ; then
$GRUBNAME --modules="part_msdos" $GRUB_OPTS $BOOT_DEV --no-nvram
else
$GRUBNAME --modules="biosdisk part_msdos" $GRUB_OPTS $BOOT_DEV
fi
Note: the error may be related to the fact that I am running this on an EFI host.
There may be other platform-specifics (and/or distro-specifics) in bootloader/finalise.d/50-bootloader that need to be addressed, i.e. setting GRUB_CFG, and creating /etc/default/grub.
I can help with the changes required for Fedora (aarch64), but will need someone familiar with setting up Ubuntu for the arm64 changes.
Thank you for your reply.
I believe you are right that 64-bit ARM will require its own bootloader setup, and that may be distro-specific as well (for Fedora we install grub2-efi and grub2-tools, but those packages do not exist for Ubuntu, while grub-common and grub-efi-arm64 do).
I manually added:
elif [[ "$ARCH" =~ "ppc" ]]; then
install- packages grub-ieee1275
install- packages -m bootloader grub-pc
+ elif [[ "$ARCH" == "arm64" ]]; then
+ install-packages grub-efi-arm64 grub-efi-arm64-bin
+ elif [[ "$ARCH" == "aarch64" ]]; then
+ install-packages grub2-tools grub2-efi
else
as a test, and it gets past the error (although I don't know if those are the right packages for Ubuntu arm64).
It then fails with:
+ /usr/sbin/ grub-install '--modules=biosdisk part_msdos' --force /dev/loop0 sbin/grub- install: error: cannot find EFI directory.
Installing for arm64-efi platform.
/usr/
so I think we are hitting platform-specific code for running grub(2)-install:
if [[ "$ARCH" =~ "ppc" ]] ; then "part_msdos" $GRUB_OPTS $BOOT_DEV --no-nvram
$GRUBNAME --modules=
else
$GRUBNAME --modules="biosdisk part_msdos" $GRUB_OPTS $BOOT_DEV
fi
Note: the error may be related to the fact that I am running this on an EFI host.
There may be other platform-specifics (and/or distro-specifics) in bootloader/ finalise. d/50-bootloader that need to be addressed, i.e. setting GRUB_CFG, and creating /etc/default/grub.
I can help with the changes required for Fedora (aarch64), but will need someone familiar with setting up Ubuntu for the arm64 changes.