Systems.md 3.5 KB

Tested Operating Systems

Ubuntu

Ubuntu 18.04 LTS has been tested and confirmed to work, on a Raspberry 3 Model B, including the installation process. Note however that network installation and networking may not work on the Model B+, due to the lan78xx Linux driver still requiring some support.

Below are the steps you can follow to install Ubuntu LTS onto SD/USB:

  • Download the latest Ubuntu LTS ARM64 mini.iso.
  • Partition the media as MBR and create a ~200 MB FAT32 partition on it with MBR type 0x0c. Note: Do not be tempted to use GPT partition scheme or 0xef (EFI System Partition) for the type, as none of these are supported by the Raspberry Pi’s internal boot rom.
  • Extract the full content of the ISO onto the partition you created.
  • Also extract the GRUB EFI bootloader bootaa64.efi from /boot/grub/efi.img to /boot/grub/. Note: Do not be tempted to copy this file to another directory (such as /efi/boot/) as GRUB looks for its modules and configuration data in the same directory as the EFI loader and also, the installation process will create a bootaa64.efi into /efi/boot/.
  • If needed, copy the UEFI firmware files (RPI_EFI.fd, bootcode.bin, fixup.dat and start.elf) onto the FAT partition.
  • Boot the pi and let it go into the UEFI shell.
  • Navigate to fs0: then /boot/grub/ and launch the GRUB efi loader.
  • Follow the Ubuntu installation process.

Note: Because Ubuntu operates in quiet mode by default (no boot messages), you may think the system is frozen on first reboot after installation. However, if you wait long enough you will get to a login prompt.

Once Linux is running, if desired, you can disable quiet boot, as well as force the display of the GRUB selector, by editing /etc/default/grub and changing:

  • GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT_STYLE=menu
  • GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"GRUB_CMDLINE_LINUX_DEFAULT=""

Then, to have your changes applied run update-grub and reboot.

Other Linux distributions

  • Debian ARM64 does not currently work, most likely due to missing required module support in its kernel. However its installation process works, so it may be possible to get it running with a custom kernel.

  • OpenSUSE Leap 42.3 has been reported to work on Raspberry 3 Model B.

  • Other ARM64 Linux releases, that support UEFI boot and have the required hardware support for Pi hardware are expected to run, though their installation process might require some cajoling.

Windows

Windows 10 1809 for ARM64 (build 17763) has been tested and confirmed to work (after replacing C:\Windows\System32\Drivers\WppRecorder.sys with an older version, since the one from 1809 appears to be buggy across all archs, and results in a similar BSOD when trying to run Windows To Go on x64 with native drivers for instance).

Windows 10 1803 for ARM64 and earlier do not work due to the presence of a hardware ASSERT check in the Windows kernel, that was removed in later versions.

You probably want to look at https://www.worproject.ml/ as well as the Windows thread in the original RaspberryPiPkg for installation details.

Other platforms

Details you may need to run other platforms, including FreeBSD, is provided in the Readme from the original RaspberryPiPkg.