Overview
The Orange Pi 5 Plus can run Canonical's generic Ubuntu ARM64 distribution without depending on an Orange Pi vendor image, Armbian base, or a permanently installed SD-card bootloader.
The enabling component is EDK2 UEFI firmware for Rockchip RK3588. EDK2 gives the board a PC-like UEFI boot environment capable of starting a standard ARM64 Ubuntu installation from NVMe.
Hardware and Files Required
| Item | Purpose |
|---|---|
| Orange Pi 5 Plus | RK3588 target platform |
| NVMe SSD | Permanent Ubuntu system drive |
| microSD card | Temporary EDK2 boot media |
| USB flash drive | Ubuntu ARM64 installer |
| FAT32 USB flash drive | Holds the EDK2 image as a normal file for SPI programming |
| HDMI monitor + USB keyboard | UEFI and installation interface |
| EDK2 RK3588 UEFI v1.1 | Firmware image for Orange Pi 5 Plus |
| Ubuntu 26.04 LTS Desktop ARM64 ISO | Canonical operating system installer |
The EDK2 image used for this validated procedure was:
orangepi-5plus_UEFI_Release_v1.1.img
1. Create the Temporary EDK2 microSD
1Write the firmware image
Use Raspberry Pi Imager and choose the custom-image option. Select:
orangepi-5plus_UEFI_Release_v1.1.img
Write the image directly to the entire microSD card. Do not copy the .img file onto a formatted card as an ordinary file.
2Use the correct HDMI output
On the tested Orange Pi 5 Plus, EDK2 video output appeared on the HDMI connector located next to the Ethernet jack.
With the temporary EDK2 microSD installed, connect that HDMI output and a USB keyboard, then power the board.
2. Create the Ubuntu ARM64 Installer
Download the ARM64 version of Ubuntu 26.04 LTS Desktop. The architecture must be ARM64/AArch64—not AMD64/x86-64.
A typical filename is:
ubuntu-26.04.1-desktop-arm64.iso
On Ubuntu, Startup Disk Creator can be launched with:
usb-creator-gtk
If required:
sudo apt install usb-creator-gtk
3. Install Ubuntu to NVMe
- Leave the temporary EDK2 microSD installed.
- Insert the Ubuntu ARM64 installer USB drive.
- Boot the Orange Pi 5 Plus through EDK2.
- Select the Ubuntu USB device from the UEFI boot interface if it does not start automatically.
- Install Ubuntu to the NVMe SSD.
The NVMe device will normally appear in Linux as something similar to:
/dev/nvme0n1
Allow Ubuntu to create its normal EFI and Linux partitions. After installation, reboot once with the EDK2 microSD still installed.
4. Move EDK2 into Onboard SPI NOR
After Ubuntu boots correctly from NVMe, EDK2 can be installed permanently into the Orange Pi 5 Plus SPI NOR flash.
Prepare the firmware USB
Format a USB flash drive as FAT32. This time, do not image the drive with EDK2. Copy the EDK2 image onto the FAT32 filesystem as a normal file:
orangepi-5plus_UEFI_Release_v1.1.img
| Stage | How the EDK2 image is used |
|---|---|
| Temporary microSD boot | Write the .img as a complete disk image. |
| Permanent SPI programming | Copy the .img as an ordinary file onto a FAT32 USB filesystem. |
Enter the UEFI Shell
Boot through the temporary EDK2 SD card and press F1 to enter the UEFI Shell.
Refresh and display device mappings:
map -r
map
The UEFI shell may show mappings such as FS0:, FS1:, BLK5, and BLK6. A BLKx entry means the block device is detected; it does not mean the shell has mounted a readable filesystem.
Check available filesystems until the firmware image is visible:
ls fs0:
ls fs1:
ls fs2:
ls fs3:
When the correct filesystem is found, switch to it. For example:
fs2:
ls
The directory listing must show:
orangepi-5plus_UEFI_Release_v1.1.img
map -r.
Flash EDK2 to SPI NOR
The exact command that successfully programmed the board was:
sf updatefile orangepi-5plus_UEFI_Release_v1.1.img 0x0
The required SPI destination offset is 0x0.
After successful completion:
reset
Shut the system down, remove the EDK2 microSD card and firmware USB drive, leave the NVMe installed, and power the Orange Pi back on.
5. Verify the Finished System
Confirm the operating system:
cat /etc/os-release
Confirm ARM64 architecture:
uname -m
Expected:
aarch64
Display the kernel:
uname -r
Confirm the NVMe layout:
lsblk
Confirm UEFI boot:
ls /sys/firmware/efi
Confirm the root filesystem is on NVMe:
findmnt /
Validated Final Boot Path
The completed system boots without an SD card:
Orange Pi 5 Plus
│
▼
Onboard SPI NOR
│
▼
EDK2 UEFI v1.1
│
▼
NVMe EFI System Partition
│
▼
Canonical Ubuntu 26.04 LTS ARM64
Troubleshooting Notes
EDK2 LED activity but no HDMI
If the LED rapidly flashes and then changes to a slower heartbeat, EDK2 is likely running. On the validated board, the working firmware display was the HDMI connector adjacent to Ethernet.
Ubuntu installer USB is not detected
Move the installer to a black USB 2.0 port. USB 3.x behavior under EDK2 has been problematic on the Orange Pi 5 Plus.
USB appears only as BLK5 or BLK6
The UEFI shell detects the block device but has not mounted a readable filesystem. Format the firmware USB as FAT32, copy the EDK2 image as an ordinary file, and run:
map -r
Linux reports a Synchronous Exception
EDK2 documents an additional compatibility option under:
Device Manager
└── EFI Memory Attribute Protocol
└── Enable Protocol
If a Linux image encounters a synchronous exception during boot, EDK2 documentation recommends disabling Enable Protocol. This was not required for the validated Ubuntu 26.04 installation described here.
Mainline Linux / Device Tree mode
For modern Linux, EDK2 provides:
Device Manager
└── Rockchip Platform Configuration
└── ACPI / Device Tree
Config Table Mode: Device Tree
Compatibility: Mainline