Orange Pi 5 NVMe/SATA SSD Boot Guide

Orange Pi 5 with Heat Sinks
Orange Pi 5 NVMe / SSD Boot Guide

The Orange Pi 5 has a nice M.2 NVMe slot but unfortunately most of the official images will not boot if you try to directly image a NVMe drive. Fortunately there is an easy way to get this working that people who frequent the blog will almost certainly have seen before.

We are going to bootstrap the boot process using a SD card and then clone that SD card to our SSD to be used as the root partition. This essentially will let us have our system’s root partition on the SSD (much faster).

Let’s get started!

Hardware Used

Orange Pi 5 - Top View
Orange Pi 5

The Orange Pi 5 the latest release from Orange Pi and is the most powerful model yet. It has a 6 core CPU and options from 4GB of RAM all the way up to 32GB of RAM!

Links: Amazon.com*, AliExpress*, Amazon.ca*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*

Kioxia 2230 M2 NVMe Drive
Kioxia 2230 M2 NVMe Drive

The Kioxia (Toshiba) 128GB M.2 2230 PCIe NVMe drive is much shorter than most NVMe drives (full size is 2280). It fits great with single board computers / tablets / other smaller form factors.

Links: Amazon.com*, Amazon.ca*, Amazon.co.uk*, Amazon.co.jp*, Amazon.com.au*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Geekworm Copper Heat Sink Set
Geekworm Copper Heat Sink Set

The Geekworm copper heat sink set is designed to fit many different single board computers. It uses thermal conductive adhesive which many “cheap” heat sink kits for SBCs don’t have. Eliminates hot spots and reduces throttling. Can be further enhanced by powered cooling over the heat sinks.

Links: Amazon.com*, Amazon.ca*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*

StarTech 2.5" SATA Adapter
StarTech 2.5″ SATA Adapter

The StarTech USB 3.1 to 2.5″ SATA adapter is one I have recommended for many years for use with all kinds of devices including the Raspberry Pi, Orange Pi, ODROID, Libre “Renegade” and Tinker Board. It’s widely compatible and works with gaming consoles as well.

Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Orange Pi Wireless Mouse
Orange Pi Wireless Mouse

The Orange Pi official mouse uses 2.4GHz wireless to give you a wireless mouse experience with the Orange Pi

Links: Amazon.com*, AliExpress*

Orange Pi Portable Monitor
Orange Pi Portable Monitor

The Orange Pi monitor is meant to be a portable monitor you can take anywhere. It has a resolution of 1080P and features a hinge in the back that folds out to support the monitor.

Links: Amazon.com*, AliExpress*

Note for USB Booting

Important: Only the top blue port of the Orange Pi 5 is fast for using USB storage. You can use a USB-connected SSD.

The bottom port, despite being blue, is USB 2.1.

Keep in mind that if you are using a USB SSD then in the instructions anywhere it says /dev/nvme0n1 you will need to use /dev/sda or whatever drive was assigned when you plug in your drive via USB.

Note for Official Debian / Ubuntu Images (Updated 1/10/2023)

Orange Pi has updated their official images to support directly booting from NVMe. This means that if you are using the official Ubuntu or Debian from orangepi.org then you can actually write the image directly to the SSD. This is the easiest way to get it going.

You first need to write the image to a SD card and then run:

sudo orangepi-config

Then choose System->Install->Boot from SPI and install the new updated boot loader to the SPI flash.

This did not work at launch but is working now. It is now possible to simply write the official images directly to NVMe and boot with it after updating the boot loader! The following instructions will still be useful for other operating systems or operating systems that do not support booting directly from NVMe.

Note for Armbian (Added 1/20/2023)

Armbian has a similar install utility as orangepi-config. For Armbian you will use:

sudo armbian-config

Then choose System->Install->Boot from eMMC and install the new updated boot loader to the SPI flash.

You should also install the system to Armbian using this method. The instructions in the rest of the article are meant for operating systems that will not boot natively from NVMe. It uses a SD card as the boot loader to essentially let you boot anything (even ones not designed to boot directly from NVMe).

Supported SSD Sizes (Updated 1/26/2023)

Important: There is also a type of M.2 drive called a M.2 SATA drive. This is an older type of drive that most of you won’t have but some of you will. This type of drive is supported by the Orange Pi 5 but you have to add a special overlay (overlays=ssd-sata). If your NVMe drive shows up as /dev/sda instead of /dev/nvme0n1 then you have a M.2 SATA SSD. If you have a M.2 SATA drive follow this excellent guide by u/jng98908 on reddit.

You can use either a 2230 or a 2242 size NVMe drive.

There are actually holes for mounting hardware at both places.

Using a 2230 size NVMe drive looks like this:

Orange Pi 5 with 2230 NVMe drive mounted
Orange Pi 5 with 2230 NVMe drive mounted

It’s totally fine to use a larger one but they will be hanging off the edge of the board. As you can see I do not have the mounts installed on my board. I just leave the 2230 drive in the port like this but it is on my to-do list to find some mounts for the M.2 drive for this board.

SD card boot loader – Preparing SD Card

First you should have a completely working installation on a SD card of the OS that you would like to use. I used the official Debian desktop image for this guide (recommended) so if your partitions are different it may be your flavor of Linux and need slightly altered instructions.

If you have an already working installation you want to move to your SSD you can use this as well most likely.

Note that some operating systems like Armbian will require you to manually go in and modify files on the “boot” partition. If you stick with the official images you should be able to follow the guide as-is but note that some operating systems may have text files (or even files that need to be recompiled with mkimage like for Armbian) for this method to work.

You should completely update first with:

sudo apt update && sudo apt full-upgrade

Preparing SSD

First we are going to completely remove all partitions from the drive so it’s completely blank. Your drive should typically be /dev/nvme0n1:

sudo gdisk /dev/nvme0n1

Now remove all partitions from the device. If you press “p” it will print out the partitions. You can then use “d” to delete them.

Here’s an example on mine:

root@orangepi5:~# sudo gdisk
GPT fdisk (gdisk) version 1.0.6

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/nvme0n1: 250069680 sectors, 119.2 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): E3017ECA-4571-4F62-A39F-4BA2A4323BD8
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 64-sector boundaries
Total free space is 8350 sectors (4.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              64            8063   3.9 MiB     0700  loader1
   2           16384           24575   4.0 MiB     0700  loader2
   3           24576           32767   4.0 MiB     0700  trust
   4           32768         1081343   512.0 MiB   EF00  boot
   5         1081344       250069646   118.7 GiB   8300  rootfs

Command (? for help): d

Keep pressing d until all the partitions are deleted. Once they are gone use the ‘w’ command to write your changes.

Cloning Installation to SSD

We’re now ready to clone your installation to the SSD. We can now copy your drive to the SSD with the following command:

cat /dev/mmcblk1 > /dev/nvme0n1

Wait for the operation to complete (there won’t be any output but you will have a cursor again and be able to type new commands). Remember that you are copying an entire drive from one to another basically with that one command.

Mine took about 30-45 minutes (although I was using a 64GB SD card and the larger SD card you use the longer it will take to copy the whole drive).

If you are having any trouble with permissions try becoming “root” first with:

sudo su

Now try running the command again and as the superuser you should not encounter any permission errors.

Change SD card’s rootfs UUID

We need to change our SD card’s UUID so that it doesn’t try to boot from that partition. We can set it to a random one with the following command:

sudo tune2fs -U random /dev/mmcblk1p2

If you get an error with the previous command regarding csums try the following command instead:

sudo tune2fs -O metadata_csum_seed -U random /dev/mmcblk1p2

We can verify that it has changed with blkid like this:

root@orangepi5:~# sudo blkid
/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="0257-2A31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="0a65713b-d4b4-0642-a3a4-ebc357e507a1"
/dev/nvme0n1p2: LABEL="opi_root" UUID="ae948e48-3646-4f5c-be01-73168e079bc8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="7490e84a-f585-944e-9ce6-f275f067a023"
/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="0257-2A31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="0a65713b-d4b4-0642-a3a4-ebc357e507a1"
/dev/mmcblk1p2: LABEL="opi_root" UUID="37a6ee0a-e61d-470a-9e53-eaf51726942c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="4f32d51c-0523-1248-9bc3-092d1f11c594"

Notice that /dev/nvme0n1p2 and /dev/mmcblk1p2 no longer have matching UUIDs. This is exactly what we want.

Change SSD’s boot UUID

Next we are going to change the boot partition’s UUID on the SSD. This will make it so that the mounted /boot folder inside your operating system actually mounts the SD card (which is your actual boot loader in this configuration).

First make sure you have mtools with:

sudo apt install mtools -y

Now we can change the UUID with:

sudo mlabel -N aaaa1111 -i /dev/nvme0n1p1 ::

You can verify these are different using the same sudo blkid command as the previous section.

Run fsck

Before we reboot run fsck on the drive like this:

sudo fsck -yf /dev/nvme0n1p2

This will prevent you from having to run fsck on the CLI the first time you try to boot.

Reboot and Verify

Now reboot the Orange Pi 5 with:

sudo reboot

With any luck you should be booted using your SSD! We can verify this with the mount command like this:

root@orangepi5:~# mount
/dev/nvme0n1p2 on / type ext4 (rw,noatime,errors=remount-ro,commit=600)
/dev/mmcblk1p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,errors=remount-ro)
/dev/nvme0n1p2 on /var/log.hdd type ext4 (rw,noatime,errors=remount-ro,commit=600)

Here we can see that our root partition (/) is indeed on /dev/nvme0n1p2 and not /dev/mmcblk0p2. We can also see that my /boot folder is properly mounted is /dev/mmcblk0p1 (the SD card which is serving as our boot loader). Success!

Resize NVMe Partition (Added 1/24/2023)

You can use Orange Pi’s built in resize application if you are using one of the official operating systems:

sudo /usr/lib/orangepi/orangepi-resize-filesystem start

Testing Performance

For the guide I used a SSSTC 128GB 2230 M.2 NVMe drive. These are available on Amazon for around $10-12 (also see Kioxia 128GB M.2 2230 module*).

You can verify the performance of your drive on Pi Benchmarks using the following command:

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash

Here are the results:

     Category                  Test                      Result     
HDParm                    Disk Read                 375.32 MB/s              
HDParm                    Cached Disk Read          381.15 MB/s              
DD                        Disk Write                234 MB/s                 
FIO                       4k random read            47080 IOPS (188321 KB/s) 
FIO                       4k random write           35128 IOPS (140514 KB/s) 
IOZone                    4k read                   75628 KB/s               
IOZone                    4k write                  67285 KB/s               
IOZone                    4k random read            35874 KB/s               
IOZone                    4k random write           70620 KB/s               

                          Score: 17,718

The full Orange Pi 5 benchmark can be viewed here on Pi Benchmarks.

That is an outstanding score. We are getting NVMe performance. This score actually even beats my ODROID M1 benchmark.

The Orange Pi 5 is without a doubt a very powerful board and is performing exactly where it should be.

Other Resources

I’ve also covered how to install Steam on the Orange Pi 5 here

I’ve also reviewed the Orange Pi portable monitor here (with the Orange Pi 5 connected)

If you are looking for alternative WiFi adapters for the Orange Pi 5 see my using E-keyed WiFi adapters with the Orange Pi 5 guide here!

I’ve written a review for the Orange Pi 5 available here

All of my single board computer reviews are available here

Subscribe
Notify of
guest

155 Comments
Inline Feedbacks
View all comments
Erik Thomsen
Erik Thomsen
1 year ago

Information on this site and in the comments are a bit misleading… Booting directly from NVMe SSD only works after installing the bootloader on SPI Flash. In order to do this, I had to first install the OS to my SD card, and boot from that. Here are the steps:

1. Use etcher (or your preferred imaging tool) to write the OS image to an SD card
2. Use etcher again to write the same image to your NVMe SSD
3. Insert both the SD card and the NVMe SSD into the Orange Pi 5
4. Power on the Orange Pi (the first time around it will boot from the SD card)
5. SSH into the Orange Pi 5, and run: orangepi-config (or armbian-install if you’re using armbian)
6. Select boot options, then select: “Install/Update the bootloader on SPI Flash” (This might be “Install/Update the bootloader on MTD Flash” if using armbian)
7. Once this is complete, you can remove the SD card and the device will now be able to boot directly from NVMe (SD card is no longer needed — this is true even if you decide to re-image your NVMe SSD)

Razor Burn
Razor Burn
1 year ago

Your continued work covering the Orange Pi 5 hasn’t gone unnoticed James as many other reviewers have since moved on yet you continue to provide regular updates and troubleshooting advice so please don’t let the odd comment infuriate you as the written review and subsequent guides have been super helpful and shared across the community so keep up the great work!

Razor Burn
Razor Burn
1 year ago

I spent some time working at Data Centre’s and with IT so can appreciate its a specialized field with passionate people but at the end of the day we’re all just trying to get our Orange Pi 5’s working so there’s no need for rudeness and arrogance as it takes away from the valuable work being done considering the limited support from Rockchip and Orange Pi playing catch up.

As for renauld, I see him post regularly on Discord and he seems genuine with his testing and sharing his findings which has been helpful yet he did mention he met the Orange Pi team and owner prior to the pandemic so there may be some bias and the statements about the usb ports waiting for software upgrades is both puzzling and misleading as is the whole approach from Orange Pi misreporting the specs and that’s why we’re seeing reports of hdmi and usb-c not functioning correctly with certain monitors but that seems to vary depending on the distro you use adding to the already messy situation!?

I’ve held off doing any testing of my own as still waiting on some accessories to arrive and as soon as I flash an sd card with a distro it gets updated with some major fix so I’m happy to wait as judging by the consensus Android 12 offers the best experience with Armbian and the other Linux catching up and the Orange Pi Droid a mixed bag yet only Beta and Chinese version so it’ll be a while until things work as we hope and I’m happy to wait.

I hope to see some new reviews from you as surely your anticipated delivery of the Vision 2, Radxa Zero and Rock 5B are due any day now and each of those boards should make for some interesting testing and the comparisons between the real RK3588 and the watered down RK3588S are what most people will be waiting to see so keep us posted and thanks for taking the time to answer all the comments as it shows you care!

Razor
Razor
1 year ago

Sadly the internet is a magnet for various bots and trolls who pollute the traffic of information but you’re doing a good job managing things and having that interaction with people is important plus you have some very helpful people posting working solutions which is fantastic to see and long may it continue!

I am constantly searching the forums, Discord, message boards for new updates and so far it appears we have most issues ironed out and a few distro’s that seem to work 90% yet I’m shocked that bluetooth still doesn’t seem to work especially with Linux as Android tends to have issues supporting bt usb dongles which sucks as Android seems to be the best performing so far which makes the decision to remove the onboard module even more confusing but once your factor in the decision to use the slimmed down RK3588S it makes sense as compromises needed to be made to squeeze in as much as possible but then again its begs questioning why manufacturers are using the RK3588S/J, etc if it means the powerful SOC is unable to utilize PCIe 3.0, not to mention dual HDMI, USB 3.1 and yes it the Pi 5 comes with 2 x camera mpi and lcd slot but what is actually supported is unknown meaning you then need to factor in using usb but that is hard as you’ve just wasted 2 x usb for wifi and bt unless you go with the M.2 but power becomes an issue so its all a real mess!?!

We’re in a dilemma as China starts to open up just in time for Lunar New Year and if last year is anything to go by we may seem a rapid increase in cases as people leave the cities and head back to the villages yet the authorities are pressured to keep manufacturing open so how they handle things will be interesting to see and I have already seen a rush to get orders out before the shut down so here’s hoping your orders at least reach the US as my understanding the products you ordered are ready for shipment with the Vision 2 dual Gigabit Ethernet schedule for shipping in February as the early bird orders have since sold out with is encouraging. Time will tell and I see you have a new Review out for a another H616 powered board so I look forward to reading what you find… Stay safe and take care!

Алексей
Алексей
1 year ago

Не могли бы Вы мне помочь по SSH перенести Armbian на SSD NVMe? Третий день вожусь и ничего не выходит 🙁

Mahdi
Mahdi
1 year ago

Hi, thanks for sharing.

I have a two problems. I have an orange pi 5 and booted it from SD Card a few days ago with no problem. Today I tried to boot it from NVME and I used the new official Image but my orange pi did not boot from NVME. I changed it to SD Card, but now it does not boot from SD Card too. The power LED is red but green LED does not blink.

I put the SD Card to another new orange pi and it booted with no problem. But again this new orange pi did not boot from NVME.

1- Any idea to boot from SD Card in the first orange pi?
2- Any idea to boot from NVME in the second one? as you mentioned I used the new official image and used BalenaEtcher to format the SD Card.

Thanks alot.

Mahdi
Mahdi
1 year ago
Reply to  Mahdi

To complete my question: This is the output of serial debug port of orange pi when booting from NVME:

DDR Version V1.08 20220617
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x1 Samsung
CH0 RX Vref:33.7%, TX Vref:18.8%,0.0%
CH1 RX Vref:30.7%, TX Vref:20.8%,0.0%
CH2 RX Vref:29.7%, TX Vref:18.8%,0.0%
CH3 RX Vref:32.7%, TX Vref:18.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-orangepi (Dec 16 2022 - 15:38:30)
Trying to boot from MMC2
spl: mmc init failed with error: -123
Trying to boot from MMC1
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from MTD2
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(806278dba1...) + OK
## Checking uboot 0x00200000 ... sha256(25f0b45730...) + OK
## Checking fdt 0x0034bb10 ... sha256(cae21b2b19...) + OK
## Checking atf-2 0x000f0000 ... sha256(c00c7fd75b...) + OK
## Checking atf-3 0xff100000 ... sha256(71c3a5841b...) + OK
## Checking atf-4 0xff001000 ... sha256(2301cf73be...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 505.28 ms

——————
And this is when booting from SD Card:

DDR Version V1.08 20220617
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x1 Samsung
CH0 RX Vref:33.7%, TX Vref:18.8%,0.0%
CH1 RX Vref:30.7%, TX Vref:19.8%,0.0%
CH2 RX Vref:30.7%, TX Vref:17.8%,0.0%
CH3 RX Vref:31.7%, TX Vref:19.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-orangepi (Dec 16 2022 - 15:38:30)
Trying to boot from MMC2
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(806278dba1...) + OK
## Checking uboot 0x00200000 ... sha256(25f0b45730...) + OK
## Checking fdt 0x0034bb10 ... sha256(cae21b2b19...) + OK
## Checking atf-2 0x000f0000 ... sha256(c00c7fd75b...) + OK
## Checking atf-3 0xff100000 ... sha256(71c3a5841b...) + OK
## Checking atf-4 0xff001000 ... sha256(2301cf73be...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 640.640 ms

Mahdi
Mahdi
1 year ago
Reply to  Mahdi

And this is the output when in flashed a new SD Card:

DDR Version V1.08 20220617
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x1 Samsung
CH0 RX Vref:32.7%, TX Vref:18.8%,0.0%
CH1 RX Vref:30.7%, TX Vref:20.8%,0.0%
CH2 RX Vref:30.7%, TX Vref:18.8%,0.0%
CH3 RX Vref:32.7%, TX Vref:19.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-orangepi (Dec 16 2022 - 15:38:30)

Ants Neo
Ants Neo
1 year ago

Thanks for your guid. I’m almost there, but got stuck here:

orangepi@orangepi5:~$ sudo tune2fs -O metadata_csum_seed -U random /dev/mmcblk1p2
tune2fs 1.46.5 (30-Dec-2021)
Setting feature 'metadata_csum_seed' is only supported
on filesystems with the metadata_csum feature enabled.

Ants Neo
Ants Neo
1 year ago

orangepi@orangepi5:~$ sudo blkid
[sudo] password for orangepi:
/dev/nvme0n1p1: SEC_TYPE="msdos" UUID="AAAA-1111" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="048c42d4-6cf7-084d-b75a-620ce1556da2"
/dev/nvme0n1p2: LABEL="opi_root" UUID="5ead0754-b05b-4f29-8170-b0620e7ae6d2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fa1c0e08-a32a-8041-9d42-f4e654dab880"
/dev/zram0: UUID="be0edc2b-6782-4f0a-a1c1-6761358c5c8f" TYPE="swap"
/dev/zram1: LABEL="log2ram" UUID="6d9308ca-2411-461a-b0a5-42f319e7eaae" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mtdblock0: PTUUID="311a2be6-c13a-4853-a08f-616708bfd0d3" PTTYPE="gpt"
/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="4CA7-1DD8" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="048c42d4-6cf7-084d-b75a-620ce1556da2"
/dev/mmcblk1p2: LABEL="opi_root" UUID="5ead0754-b05b-4f29-8170-b0620e7ae6d2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fa1c0e08-a32a-8041-9d42-f4e654dab880"

I have flashed the TF with Orangepi5_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.110.7z

/dev/mmcblk1p2 is labeled opi_root when I see it in GParted app.

Thanks a lot for helping me with this!

Ants Neo
Ants Neo
1 year ago

orangepi@orangepi5:~$ sudo tune2fs -U random /dev/mmcblk1p2
[sudo] password for orangepi:
tune2fs 1.46.5 (30-Dec-2021)
orangepi@orangepi5:~$ sudo blkid
/dev/nvme0n1p1: SEC_TYPE="msdos" UUID="AAAA-1111" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="048c42d4-6cf7-084d-b75a-620ce1556da2"
/dev/nvme0n1p2: LABEL="opi_root" UUID="5ead0754-b05b-4f29-8170-b0620e7ae6d2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fa1c0e08-a32a-8041-9d42-f4e654dab880"
/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="4CA7-1DD8" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="048c42d4-6cf7-084d-b75a-620ce1556da2"
/dev/mmcblk1p2: LABEL="opi_root" UUID="8f0abe7e-6f62-41e5-b6ef-8babdd1c449e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fa1c0e08-a32a-8041-9d42-f4e654dab880"
/dev/zram0: UUID="8b36c1b6-ff39-4952-9e6b-115fba86cdca" TYPE="swap"
/dev/zram1: LABEL="log2ram" UUID="3e4b9bf4-b6c0-4bd2-8e0d-c524dd71d2d8" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mtdblock0: PTUUID="311a2be6-c13a-4853-a08f-616708bfd0d3" PTTYPE="gpt"

Trying sudo reboot

Ants Neo
Ants Neo
1 year ago
Reply to  Ants Neo

Orange Pi OS still boots from TF. But this time icon of opi_root (SD) appears on Desktop. Address in file manager is /media/orangepi/opi_root/ and I can see the root folder is marked with X. The same in the File System folder, but no address here /

Do I need to press any key for boot on nvme01p1?

/dev/nvme0n1p1
fat16
AAAA-1111
bootfs
bls_boot

/dev/nvme0n1p2
ext4
opi_root
5ead0754-b05b-4f29-8170-b0620e7ae6d2

I can see the TF is still bootfs and symbol of locked key /dev/mmcblk0n1p1

I’m still learning the linux command world. Decided to leave MacOS home office and not use Windows at work anymore. Enjoy my learning curve and have impressed colleagues even that they still ask why, ha ha…

Am I right, understanding the bootfs is locked on TF, so I need some command to unlock, or just go to the permissions to unlock. Checking…

Ants Neo
Ants Neo
1 year ago

Ok, Im doing the
sudo fsck -yf /dev/nvme0n1p2
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
/dev/nvme0n1p2 is mounted.
e2fsck: Cannot continue, aborting.

Then mount
(cut some of the text here)
/dev/nvme0n1p2 on
/dev/mmcblk1p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,errors=remount-ro)
/dev/nvme0n1p2 on /var/log.hdd type ext4 (rw,noatime,errors=remount-ro,commit=600)

now doing sudo reboot

Ants Neo
Ants Neo
1 year ago

Aha, then i totally miss the understanding of how to install an OS on this machine. I thought the downloaded Orangepi5_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.110.7z to TF, was enough when cloned to SSD to boot from? Have to find out how to start it then?

Ants Neo
Ants Neo
1 year ago

Hi James, I thank you for your explanation and time your spent. I think I understand little more now but will read your replys again to get it even better. I thought I installed Ubuntu by doing this? Sorry my confusion, now I’m even more confused by what is what in the Linux world? But learning by my mistakes! I want to play around with this machine first and then land in having a stable computer setup for home and work. Leave Mac

Gospa
Gospa
1 year ago

Just found out an easiest painless way to boot from m.2 NVMe storage without having a microSD plugged in. It only works with official OrangePi 5 images, I tried official Ubuntu and Debian only. I used official Radxa USB C 3.1 GEN2 TO M.2 NVME case from allnetchina.
This enclosure is based on jmicron JMS583 chipset.
This enclosure/case does accept 2280, 2260 and 2242 m.2 M-Key NVMe drives.
Just place your m.2 storage inside adapter, flash official OrangePi5 image directly with Etcher, unplug, plug it into OrangePi5 m.2 slot and Voila!.
I tried so far with 5 different NVMe 2280 m.2 drives such as Samsung 980Pro, Samsung 970Evo plus, WD Black SN750, WD SN550 and WD Black SN850X. They all worked every time without having to do anything else. Cheers!

Gospa
Gospa
1 year ago

Those mentioned above are the ones I downloaded from Official OrangePi main site in english…I downloaded them yesterday and was playing with NVMe booting until I tried this method this morning…You can see I got the 2nd highest score on OrangePi5 booting from NVMe with Official OrangePi Ubuntu Jammy. Benchmark #65608 with a score of 22,244

Gospa
Gospa
1 year ago

More good news. Latest armbian jammy xfce trunk 0132 now boots directly from NVMe….I tried every single release from them and this is the 1st one booting directly from NVMe(previous 0130 and older weren’t). There a noticeable difference in performance when booting from NVMe vs booting from uSD(MicroSD).
For those who wants to try..so far seems very stable and can be installed Panfrost(Panfork) HW on it very easy:
File name:
Armbian_23.02.0-trunk.0132_Orangepi5_jammy_legacy_5.10.110_xfce_desktop.img.xz
File size:
829MB

Razor Burn
Razor Burn
1 year ago
Reply to  Gospa

Fantastic work there Gospa!

Cadu
Cadu
1 year ago

im having a problem in this part
sudo tune2fs -O metadata_csum_seed -U random /dev/mmcblk1p2

the answer is

This operation requires a freshly checked filesystem.

Please run e2fsck -f on the filesystem.

i tried but doesnt work

Robert
Robert
1 year ago

I run this command “sudo mlabel -N aaaa1111 -i /dev/nvme0n1p1” and I get this response:

$ sudo mlabel -N aaaa1111 -i /dev/nvme0n1p1
init :: non DOS media
Cannot initialize '::'
mlabel: Cannot initialize drive

Where do I go from here? Thank you. -Bob

renaud
renaud
1 year ago

Hello James, Thanks for your article. I want to point a point: the 2 blue USB port are the same, but there is a software error and for the moment only the top port is full speed. It just a question of time to have the 2 ports running at FULL Speed.

berin camelia
berin camelia
1 year ago

There are 2 pads on the bottom of the OPI5 they are close to the RTC chip. One pad is “RTC1” the other is GRD1. I’m 99% sure they are for RTC battery backup. I have looked at the circuit schematic but am unable to tell what kind of battery setup would work?

1 2 3 5