diff -uprN a/debian/control b/debian/control --- a/debian/control 2019-03-05 11:11:12.000000000 +0000 +++ b/debian/control 2019-03-11 21:38:41.354277475 +0000 @@ -12,8 +12,8 @@ Vcs-Browser: https://code.launchpad.net/ Package: ubiquity Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-debconf, ubiquity-frontend-${mangled-version}, ubiquity-artwork-${mangled-version}, laptop-detect, lsb-release, ubiquity-casper, python3-apt (>= 0.7.100.3~), ${console-setup-depends}, iso-codes, passwd, adduser, os-prober, rdate, ntfs-3g (>= 1:2011.1.15AR.4+2011.4.12-1) [any-alpha any-amd64 any-i386], cryptsetup, policykit-1, python3-icu (>= 1.0), python3-pam, language-selector-common (>= 0.4.16), archdetect-deb, dpkg-repack, apt-clone, wget, grub-common [any-amd64 any-i386], dbus-x11, sbsigntool [amd64] -Recommends: grub-pc [any-amd64 any-i386] | grub [any-amd64 any-i386] | grub-efi [any-amd64 any-i386], flash-kernel [armel armhf], u-boot-tools [armel armhf], yaboot [powerpc], hfsutils [powerpc], dmraid, btrfs-progs, ubuntu-drivers-common, lvm2 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-debconf, ubiquity-frontend-${mangled-version}, ubiquity-artwork-${mangled-version}, laptop-detect, lsb-release, ubiquity-casper, python3-apt (>= 0.7.100.3~), ${console-setup-depends}, iso-codes, passwd, adduser, os-prober, rdate, ntfs-3g (>= 1:2011.1.15AR.4+2011.4.12-1) [any-alpha any-amd64 any-i386], cryptsetup, policykit-1, python3-icu (>= 1.0), python3-pam, language-selector-common (>= 0.4.16), archdetect-deb, dpkg-repack, apt-clone, wget, grub-common [any-amd64 any-i386 any-arm64], dbus-x11, sbsigntool [amd64] +Recommends: grub-pc [any-amd64 any-i386] | grub [any-amd64 any-i386] | grub-efi [any-amd64 any-i386] | grub-efi-arm64 [any-arm64], flash-kernel [armel armhf], u-boot-tools [armel armhf], yaboot [powerpc], hfsutils [powerpc], dmraid, btrfs-progs, ubuntu-drivers-common, lvm2 Conflicts: ubuntu-express, espresso, espresso-utils, espresso-locale, espresso-keyboard-setup, espresso-kbd-chooser, espresso-timezone, user-setup (<< 0.05ubuntu6), partman, espresso-grub, espresso-yaboot Replaces: ubuntu-express, espresso, espresso-utils, espresso-locale, espresso-keyboard-setup, espresso-kbd-chooser, espresso-timezone, user-setup (<< 0.05ubuntu6), partman, espresso-grub, espresso-yaboot, ubiquity-frontend-gtk (<< 2.3.8) Description: Ubuntu live CD installer diff -uprN a/debian/ubiquity.install-arm64 b/debian/ubiquity.install-arm64 --- a/debian/ubiquity.install-arm64 1970-01-01 00:00:00.000000000 +0000 +++ b/debian/ubiquity.install-arm64 2018-10-12 09:44:38.000000000 +0000 @@ -0,0 +1,6 @@ +# grub-installer +d-i/source/grub-installer/functions.sh usr/share/grub-installer +d-i/source/grub-installer/grub-installer usr/share/grub-installer +d-i/source/grub-installer/otheros.sh usr/share/grub-installer +d-i/source/grub-installer/ensure-active usr/lib/grub-installer +ubiquity/components/grubinstaller.py usr/lib/ubiquity/ubiquity/components diff -uprN a/scripts/install.py b/scripts/install.py --- a/scripts/install.py 2019-02-27 17:26:05.000000000 +0000 +++ b/scripts/install.py 2019-03-11 21:56:23.875068449 +0000 @@ -276,7 +276,7 @@ class Install(install_misc.InstallBase): # at file copy time, we should figure out why grub still fails when # apt-install-direct is present during configure_bootloader (code # removed). - if arch in ('amd64', 'i386'): + if arch in ('amd64', 'i386', 'arm64'): # We now want grub-pc to be left installed for both EFI and legacy # since it makes sure that the right maintainer scripts are run. keep.add('grub-pc') @@ -284,6 +284,7 @@ class Install(install_misc.InstallBase): keep.add('grub-efi') keep.add('grub-efi-amd64') keep.add('grub-efi-amd64-signed') + keep.add('grub-efi-arm64') keep.add('shim-signed') keep.add('mokutil') try: diff -uprN a/scripts/plugininstall.py b/scripts/plugininstall.py --- a/scripts/plugininstall.py 2019-02-27 17:26:05.000000000 +0000 +++ b/scripts/plugininstall.py 2019-03-11 21:53:17.534875431 +0000 @@ -915,7 +915,7 @@ class Install(install_misc.InstallBase): arch, subarch = install_misc.archdetect() try: - if arch in ('amd64', 'i386'): + if arch in ('amd64', 'i386', 'arm64'): from ubiquity.components import grubinstaller while 1: dbfilter = grubinstaller.GrubInstaller(None, self.db) @@ -1401,10 +1401,10 @@ class Install(install_misc.InstallBase): arch, subarch = install_misc.archdetect() - if arch in ('amd64', 'i386'): + if arch in ('amd64', 'i386', 'arm64'): for pkg in ('grub', 'grub-efi', 'grub-efi-amd64', - 'grub-efi-amd64-signed', 'shim-signed', 'mokutil', - 'lilo'): + 'grub-efi-amd64-signed', 'grub-efi-arm64', + 'shim-signed', 'mokutil', 'lilo'): if pkg not in keep: difference.add(pkg)