Installing Ubuntu on the Orange Pi 5 Max with eMMC and NVMe

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
458
Reaction score
520
Credits
19,806
In 2024, Orange Pi released a new Single Board Computer (SBC). This is a system with an ARM processor.

The specs are:
  • Rockchip RK3588 8-core 64-bit ARM processor with 4 Cortex-A76 (2.4GHz), 4 Cortex-A55 (1.8GHz) and independent NEON coprocessor
    • NEON coprocessor - a Single Instruction, Multiple Data (SIMD) allows the same instruction to be used on multiple elements
  • Mali-G610 GPU
    • Built-in 3-D GPU
    • Compatible with OpenGL ES1.1/2.0/3.2, OpenCL 2.2 and Vulkan 1.2
  • Video
    • 2 HDMI 2.1 (up to 8k@60FPS)
    • 1 MIPI DSI TX 4 Lane
  • Audio
    • CODEC:ES8388 (high power, low energy)
    • 1 Audio 3.5mm jack with mic
    • 1 MIC In
    • 1 HDMI 2.1 Enhanced Audio Return Channel (eARC)
  • NPU - Supports 6 TOPS
  • RAM
    • LPDDR5 496PIN
    • eMMC sockets, optional solid-state chip add-on
    • MicroSD card slot
    • M.2 M-KEY slot: Supports NVMe SSD (PCIe 3.0 4 Lane)
  • USB
    • 2 USB 3.0
    • 2 USB 2.0
  • Ethernet (RTL8125BG)
    • 1 PCIe 2.5G LAN
    • Prioritization of gaming traffic (Dragon Feature)
  • Wi-Fi and Bluetooth (AP6611)
    • Wi-Fi 6E + Bluetooth 5.3/BLE
    • Wi-Fi interface - SDIO3.0
    • Bluetooth interface - UART/PCM
  • PMU - RK806-1, Power Management Unit (PMU)
  • Button
    • 1 BOOT key
    • 1 On/Off key
  • Power
    • Type-C power supply
    • 5Volts 5Amps
  • QSPI Nor Flash - 16 MB
    • Quick-SPI non-volatile
    • Stores firmware, such as NVME firmware for booting
  • Fan
    • 5V 2PIN 1.25mm socket
These are the major highlights of the SBC. It uses the faster LPDDR5 RAM, has eMMC sockets to allow for an eMMC chip to be added, or even an M.2 NVMe for use as storage for the Operating System (OS). Also, note that the SBC has an on/off button and this can make it easier to power the device on or off.

Do not intend to use the SPI for storing boot data. The boot order is:
  1. SD Card
  2. NVME
  3. eMMC
You can use ‘sudo orangepi-config’ to start the configuration program for the Orange Pi, but keep in mind that some items which appear in the program may work for this board. Once in the configuration program, select ‘System’ and then click on ‘Firmware’. Choose ‘Yes’ to update the firmware and reboot.

Operating Systems

I will not write information on the benchmarks of this board itself, but go through the process of setting up an OS, in this case Ubuntu, and making it into a minimal install before we move it to the eMMC. Once on the eMMC, we can then install the Graphical User Interface (GUI) we want instead of the default that came with the image.

NOTE: This board is quite fast. If you want an SBC to work with, this is a good choice. Also, my calling this OS a minimal install is not quite correct. To make it truly a minimal install, we would have to remove all the GUI apps that are pre-installed on it. Since we are intending to put a different GUI on the system, we do not need to remove them, but I will term it a minimal install. Technically, it is an installation with no GUI Desktop interface.

The Orange Pi 5 Max has many Operating Systems that you can install. You can go to 'http://www.orangepi.org/html/hardWa...lers/service-and-support/Orange-Pi-5-Max.html' to get an image link to:
  • OpenWRT
  • Orange Pi OS (Arch)
  • Orange Pi OS (Droid)
  • Ubuntu
  • Debian
  • Android
  • Diet Pi
  • Bred OS
If you want other systems to try, you can go to 'http://www.orangepi.org/orangepiwiki/index.php/Third_Party_Images', here you can also find:
  • Batocera
  • RebornOS
  • Armbian
  • Manjaro OS
  • Windows on ARM
NOTE: the Orange Pi 5 Max can run most Operating Systems that are made for the Orange Pi 5 since they use the same Rockchip RK3588.

SBC Lights

The SBC has lights, which are next to the power button, as shown in Figure 1, and has two colors: red and green.

Figure 1.JPG

FIGURE 1

The meaning of the colors are:
  • Red - power
  • Green - the green light turns on when the kernel is loading and starts flashing to show the software is running
Ubuntu Installation

For my example, I am going to use 'Orangepi5max_1.0.0_ubuntu_jammy_desktop_xfce_linux6.1.43.7z '. This is an Ubuntu desktop version 22.04, with the XFCE GUI and Kernel version 6.1.43.

Once you download the file, you will need to extract it.

Use Balena Etcher or some other image program to copy the image to an SD Card.

Place the SD Card into the SD Card slot on the bottom of the SBC. In my case, I am also installing an eMMC that is 256 GB on the bottom of the SBC as well.

Hook up your HDMI to the SBC and a display, a keyboard and mouse, and the USB-C cable for power to a device that will support 5V and 5A.

If needed, you may need to press the power button that is next to the MIC, which is in the corner next to the HDMI port, as shown in Figure 1.

The system should boot into a graphical system. At the login prompt, keep in mind that the password is 'orangepi' most times. Before we get to copying it to the eMMC, we need to update the system. So, perform the following commands:

Code:
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

Now, we need to clear up all we can and remove the GUI, so that way we have a minimal installation that starts to a Command-Line Interface (CLI). So, do:

Code:
sudo apt purge xubuntu-desktop xfce4*
sudo apt autoclean
sudo apt clean
sudo apt autoremove -y

After we have removed anything we don't need, we can then set the system to boot to the Command-Line Interface instead of the GUI, which is now gone. After this, we reboot the system:

Code:
sudo systemctl set-default multi-user.target
sudo reboot now/code]

Once the system reboots, we should now have an OS that is basically a minimal install. The system runs GRUB as a bootloader, which we can use.

Install to eMMC

If you run 'lsblk', you can see that the eMMC is 'mmcblk0' and the SD Card is 'mmcblk0'.

So, to copy the information from the SD Card to the eMMC, we can use the command:

[code]sudo dd bs=4M if=/dev/mmcblk1 of=/dev/mmcblk0 status=progress

This will copy the whole SD Card (mmcblk1) to the eMMC (mmcblk0). This includes all partitions. If the SD Card is smaller than the eMMC, then we can extend the partition to include all the unused space.

Once the copy completes, which could take almost an hour, you need to shut down the system, remove the SD Card and then power the SBC on to boot from the eMMC.

New GUI

After the system boots, you should be at a command line. Now, we need to install the GUI that we want.

NOTE: You can use the SD Card to make an image to use later if you want to go back to a minimal install.

Let's choose Plasma, so to install it:

Code:
sudo apt install plasma-desktop -y

Since we changed the default boot method to a command line, we need to change it back to a Graphical Interface:

Code:
sudo systemctl set-default graphical.target

Now, you can reboot and come back to a Graphical User Interface (GUI). The login prompt uses the Simple Desktop Display Manager (SDDM), which is the default for Plasma.

Final Changes

If you want to change the default password, you can use the command:

Code:
passwd

The system will prompt you for the current password and then ask twice for a new password.

If your SD Card is smaller than the eMMC, then you should increase the partition to include the whole available space.

Open 'Gparted' and type in the password, if needed, since it requires elevated privileges.

Select the option to 'FIX' the storage if it asks. Right-click on the root partition, which should be 'mmcblkp1', and select 'resize/move'.

Click on 'Free Space Following:' and change the value to '0'. Press the TAB key so is changes the value of 'New Size' to include the unused space. Select the 'Resize' button and then click on the check mark button, which is 'Apply All Operations'. When prompted if you are sure, select 'Apply'. Once the resize is complete, you need to close Gparted.

Install to NVME

You install the M.2 NVMe on the bottom of the SBC. Once installed, you can boot the system from your eMMC or SD Card. After the Operating System loads, you can open a terminal, if you have a GUI, and use the following command to copy the disk data from the eMMC to the NVMe:

Code:
sudo dd bs=4M if=/dev/mmcblk0 of=/dev/nvme0n1 status=progress

My system took about 17 minutes to copy all the data from the partitions on the eMMC to the NVMe.

If you are using the SD Card instead of the eMMC, then the input file would be ‘/dev/mmcblk1’. You can use the command ‘lsblk’ to determine the naming of each device on your system.

Remove the SD card if you have one and reboot the system. The SBC should boot from the NVMe, and you should notice an increase in speed and load time.

Storage Speeds

I said before that I would not do system benchmarks, but the speeds between the three storage types is very interesting to see.

The three storage types are:
  1. SD Card
  2. eMMC
  3. NVME
The SD Card I used was a SanDisk 128GB Class 10 (C10), UHS Speed Class 1 (U1) and Application Performance Class 1 (A1). The benchmarks using Gnome-Disks, show the following:
  • Average Read Speed - 66.7 MB/s
  • Average Write Speed - 28.6 MB/s
  • Average Access Time - .40 ms
This seems not too bad, and the performance seems very nice.

After the Operating System is copied to the eMMC, we can get the same specs on the eMMC:
  • Average Read Speed - 296.2 MB/s
  • Average Write Speed - 262.8 MB/s
  • Average Access Time - .17 ms
Running an OS from the eMMC makes the board seem so much faster. You probably think that using the eMMC is a better choice, which it is. But let’s look at using an NVMe, which is an M.2 2280 PCIe NVMe Gen4 x4 and is 1 TB in size. The specs are:
  • Average Read Speed - 2.7 GB/s
  • Average Write Speed - 2.0 GB/s
  • Average Access Time - .01 ms
Now, you are looking at a system that is lightning fast. The OS loads super fast and is very responsive.

Conclusion

If you are looking for a fast board, this is definitely the one you want, especially with an NVMe to get the faster speed, if you need it.

I noticed the NVMe slot had no mounting screw, and I had to get one from somewhere else, which is a minor issue.

I hope you can see that you can take their image that is provided by Orange Pi and use it as a template. Their image has the proper kernel and other additions needed for everything to work.
 


I never knew this even existed!
 


Follow Linux.org

Staff online

Members online


Top