# How to install umbrel headless on OrangePi5 with linux

**URL:** <https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143>\
**Category:** Guides\
**Created:** [January 18, 2023, 4:12am UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143 "2023-01-18T04:12:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rikser](https://avatars.discourse-cdn.com/v4/letter/r/4bbf92/32.png) [@Rikser](https://community.umbrel.com/u/Rikser)\
**Post date:** [January 18, 2023, 4:12am UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/1 "2023-01-18T04:12:19Z")

</div>

Here is my installation guide to set up an OrangePi5 with Linux and umbrel.  
If you install umbrel without this guide, you will see that umbrel does not grab the external hard drive, which makes loading the blockchain pointless without a 1TB SD card.

**Installation type:** headless via ssh  
**Used OS:** Orangepi5\_1.0.8\_ubuntu\_jammy\_server\_linux5.10.110  
**Connection:** via ethernet at router  
**SD card required**

**Preliminary information:**  
I did this the same way on my OrangePi5 and it runs flawlessly. Orangepi-config is still in beta, so expect unexpected errors.  
For me, despite everything, it won’t boot without an SD card, so it just gets stuck in the eMMC block. It doesn’t bother me.  
I tried the SPI installer directly under the orangepi-config, which didn’t succeed.  
Therefore I did everything via terminal via ssh.

**Notice:**  
I can’t reach Umbrel itself via ssh after the installation so far, Despite entering a password the connection is denied.

**Here now my procedure:**  
Flash the SD card with the image provided by orangepi ([www.orangepi.org](https://www.orangepi.org)) and start the OrangePi5.  
Open terminal or command line (under Windows) and connect to the Orangepi5 via ssh.  
(ssh orangepi@orangepi-local or orangepi@IPaddress, password: orangepi).

Start under  
`sudo orangepi-config`  
the configuration, set timezone and do all updates. I have assigned another hostname for my own reasons.

Connect your external hard drive to the USB3.0 port (upper one of the two) and check integration under  
`sudo lsusb`  
This then looks like this, for example:  
`Bus 006 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge`,

With the command  
`sudo lsblk`  
you see the hard disk ‘sda’ (example with a new Crucial MX500 1TB):  
` NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS`  
` sda 8:0 0 931,5G 0 disk`  
` mtdblock0 31:0 0 16M 0 disk`  
` mmcblk1 179:0 0 59,5G 0 disk`  
`├─mmcblk1p1 179:1 0 256M 0 part /boot`  
` └─mmcblk1p2 179:2 0 58,6G 0 part /var/hdd.log`  
` /`  
` zram0 254:0 0 7,7G 0 disk [SWAP]`  
` zram1 254:1 0 200M 0 disk /var/log`

Is your external hard drive described such as:  
` NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS`  
` sda 8:0 0 931,5G 0 disk`  
`├─sda1 8:1 0 256M 0 part`  
` └─sda2 8:2 0 921,9G 0 part`

format it and delete all partitions on the external hard disk with  
`sudo mkfs.ext4 /dev/sda`.  
So that the pure disk is displayed (see above under sda).

**Important intermediate step:**  
Prepare another storage medium like an USB-Stick and save on it exactly the image you flashed before. Make sure that you choose a format that linux can read and that you do not have to install other things separately. This can interfere with the rest of the installation.  
So in this case we copied ‘_Orangepi5\_1.0.8\_ubuntu\_jammy\_server\_linux5.10.110.img_’ to a USB stick with format ‘_NTFS_’. It is important to extract the image from the 7z format beforehand, otherwise we won’t be able to do anything with it later.  
Connect the stick to the OrangePi5 (I took the USB-C with adapter, with the adapter I had to pay attention to the orientation ‘up/down’. The OrangePi5 recognized the stick only in correct orientation top ‘up’).

Let you with  
`sudo blkid`  
show the nominal data of the hardware. You need the UUID for ‘_fstab_’ to mount the stick later.  
It is best to save the data in a text document.  
Now start  
`sudo nano /etc/fstab`  
There you add the necessary entries for the USB stick accordingly.

So in my case:  
`UUID=<deineUUIDvomStick /media/usb1 ntfs auto,nofail,sync,users,rw 0 0`  
Then save the file and close it with ^ + O, Return, ^ + X

Now create a folder with  
`sudo mkdir -p /media/usb1`  
(exactly as written in the fstab file. I use sep. listing of the USB slots to avoid confusion, therefore ‘usb1’)  
Now mount the stick with  
`sudo mount /dev/sdb2`.

With  
`sudo lslbk`  
and  
`sudo df -h`  
check if the stick has been mounted correctly.

Now continue with the installation process and start the ‘_emmc, usb, sata Installer_’ with  
`sudo nand-sata-install`  
and select ‘Install/Update the bootloader on SPI Flash’. The process will take some time. Drink a glass of water and relax for a while.  
When the process is finished, you will see ‘Done’ (bottom left).

Now we create a folder under ‘_/home/orangepi_’ with  
`sudo mkdir -p /home/orangepi/downloads`  
(I have chosen the folder by name to be able to store data there later if necessary).

Navigate to the folder on the USB stick with the image:  
`cd /media/usb1/linux`  
(in my case ‘linux’)  
Now copy the previously saved image ‘_Orangepi5\_1.0.8\_ubuntu\_jammy\_server\_linux5.10.110.img_’ from the USB stick into the just created folder ‘downloads’ with  
`cp Orangepi5_1.0.8_ubuntu_jammy_server_linux5.10.110.img /home/orangepi/downloads`  
Now navigate to the folder where the image is now stored with  
`cd /home/orangepi/downloads`.

Check with  
`ls`  
whether the image is stored there.  
Now continue with  
`sudo fdisk -l | grep "sda"`  
The external hard disk should now be displayed with the following information:  
`Disk /dev/sda: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors`  
Now ‘burn’ the image from the ‘downloads’ folder to the external hard disk with the following command:  
`sudo dd bs=1M if=Orangepi5_1.0.8_ubuntu_jammy_server_linux5.10.110.img of=/dev/sda status=progress`  
After finishing the process, enter the following command:  
`sudo fix_mmc_ssd.sh`  
This will fix the problem of having the same data (so now we have linux booting twice), because u-boot always has priority to the SD card. You will see this later.

After finishing you look with  
`sudo lsblk`  
what your structure looks like now:  
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS  
sda 8:0 0 931,5G 0 disk  
├─sda1 8:1 0 256M 0 part  
└─sda2 8:2 0 2,8G 0 part  
mtdblock0 31:0 0 16M 0 disk  
mmcblk1 179:0 0 59,5G 0 disk  
├─mmcblk1p1 179:1 0 256M 0 part /boot  
└─mmcblk1p2 179:2 0 58,6G 0 part /var/hdd.log  
/  
zram0 254:0 0 7,7G 0 disk [SWAP]  
zram1 254:1 0 200M 0 disk /var/log

You now have two partitions from flashing on the SD card under mmcblk1 and exactly the same two partitions on the external hard disk under sda.  
Now you look with  
`sudo blkid`  
to see how the entries are there.  
Check with  
`cat /etc/fstab`  
whether the two partitions sda1 & sda2 and mmcblk1p1 & mmcblk1p2 have the same UUID.

With  
`tune2fs -U random /dev/mmcblk1p2`  
you assign a random UUID to the second partition of the SD card ‘_mmcblk1p2_’. This prevents the partition of the SD card from being selected again during the boot process.  
Now mount both partitions of the external hard disk with  
`sudo mount /dev/sda1`  
` sudo mount /dev/sda2`

It will look like this:  
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS  
sda 8:0 0 931,5G 0 disk  
├─sda1 8:1 0 256M 0 part /boot  
└─sda2 8:2 0 2,8G 0 part /var/log.hdd  
/  
mtdblock0 31:0 0 16M 0 disk  
mmcblk1 179:0 0 59,5G 0 disk  
├─mmcblk1p1 179:1 0 256M 0 part /boot  
└─mmcblk1p2 179:2 0 58,6G 0 part /var/log.hdd  
/  
zram0 254:0 0 7,7G 0 disk [SWAP]  
zram1 254:1 0 200M 0 disk /var/log.

Unmount the two partitions of the SD card ‘_mmcblk1_’ with  
`sudo umount /dev/mmcblk1p1`  
`sudo umount /dev/mmcblk1p2`  
Shutdown the Orangepi5  
`sudo shutdown`  
Remove the SD card and restart the OrangePi at the button.

**Notice:**  
After removing the SD card, the OrangePi5 did not boot correctly from the external hard drive. In the end the bootloader got the boot partition of the SD card again, for whatever reason. As written in the beginning, I don’t care, the important thing for me is that umbrel takes the external hard drive for the further purposes.

So you have to insert the SD-Card and boot the OrangePi5 with this SD-Card.  
With  
`cd /boot`  
navigate to the Bootfolder of the boot partition of the external harddisk and with  
`ls`  
you will find the file ‘_orangepiEnv.txt_’.  
You open this with  
`sudo nano orangepiEnv.txt`  
and find the entries.

Under ‘rootdev’ change the entry to ‘/dev/sda2’, which then looks like this:  
`verbosity=1`  
`bootlogo=false`  
`overlay_prefix=rk3588`  
`fdtfile=rockchip/rk3588s-orangepi-5.dtb`  
`rootdev=/dev/sda2`  
`rootfstype=ext4`  
`usbstoragequirks=0x2XX7:0xXX66:u,0xXX37:0x1XXX:u`  
(in the last line I have ‘X’ some out.)

After that I checked again under the ‘orangepi-config’ for updates and then install umbrel with the command  
`curl -L https://umbrel.sh | bash`  
Under the IP address previously assigned by me then umbrel started in the web interface and set up.  
The external hard drive is used as storage and the synchronization of Blockchain over the Internet took 62 h.

---

<div class="post-metadata">

**Author:** ![Rikser](https://avatars.discourse-cdn.com/v4/letter/r/4bbf92/32.png) [@Rikser](https://community.umbrel.com/u/Rikser)\
**Post date:** [January 18, 2023, 6:10am UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/2 "2023-01-18T06:10:37Z")

</div>

Please note that the OrangePi5 is new and the operating system and orangepi-config are not yet perfectly tuned. Beta phase  
Problems may occur.

Found so far:

- no access to umbrel directly via ssh yet.
- Connection via Tor from BitBox app to Electrs on the Node buggy, means I can’t connect the BitBox app from my laptop to the Node via Tor.
- Unable to install external hard drive as boot and work media, no boot.

I am in the process of testing multiple systems.  
This includes ubuntu\_jammy\_desktop, debian\_bullseye\_server as well as debian\_bullseye\_desktop.  
As soon as the OrangeOS is released, I will have a look at that as well.

I’m basically trying headless first, but will do some tests with monitor, mouse and keyboard as well.

---

<div class="post-metadata">

**Author:** ![Opi5](https://avatars.discourse-cdn.com/v4/letter/o/57b2e6/32.png) [@Opi5](https://community.umbrel.com/u/Opi5)\
**Post date:** [January 20, 2023, 10:39pm UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/3 "2023-01-20T22:39:37Z")

</div>

Hi @Rikser!

First of all, thanks a lot for your guide - I was precisely trying to do this but had no clue about where to start (after trying with the RPi image with no success).

I’ve been able to replicate what you did up until the “Important intermediate step” (even though I wasn’t able to connect via ssh, but just connected a screen to the OrangePi instead).

However, right on that step, I’m unable to copy the img file in NTFS using Rufus (it’s directly setup as FAT32 with no possibility to change), hence I’m also unable to find ‘fstab’ in the very next step to then change the /etc/fstab file.

Would it be any other way to perform those steps, please?

Thanks a million!

---

<div class="post-metadata">

**Author:** ![Rikser](https://avatars.discourse-cdn.com/v4/letter/r/4bbf92/32.png) [@Rikser](https://community.umbrel.com/u/Rikser)\
**Post date:** [February 8, 2023, 5:24am UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/4 "2023-02-08T05:24:14Z")

</div>

Hello and good morning

Have you tried Balena Etcher yet?  
I can’t tell you anything else, except that it worked for me.

Keep in mind that a connection to umbrel via ssh is not possible, so far.  
I also have not been able to get a .onion connection to the node, access is denied.  
I have postponed the project for now, we are completely renovating our house, so I am maxed out.

On the website of orangepi you can go to the download area.  
There you will find a manual describing the whole procedure, finally. 🙂

---

<div class="post-metadata">

**Author:** ![Rikser](https://avatars.discourse-cdn.com/v4/letter/r/4bbf92/32.png) [@Rikser](https://community.umbrel.com/u/Rikser)\
**Post date:** [March 20, 2024, 6:06am UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/5 "2024-03-20T06:06:33Z")

</div>

Here an update for orangepi5 user.

I’ll setup my orangepi5 with umbrelOS 1.0.0 on linux, when umbrelOS arrived in april.  
Thats my new project.

I hope, there will be no issues with the connection BitboxApp to Electrs via Tor or other.  
Maybe other user will try it too and we can help us together.

---

<div class="post-metadata">

**Author:** ![charleshaper](https://avatars.discourse-cdn.com/v4/letter/c/dfb087/32.png) [@charleshaper](https://community.umbrel.com/u/charleshaper)\
**Post date:** [May 19, 2024, 2:22pm UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/6 "2024-05-19T14:22:17Z")

</div>

curl -L [https://umbrel.sh](https://umbrel.sh) | bash

Este comando foi desativado pelos desenvolvedores, eles acabaram de matar muitos nós de muita gente com essa atualização. como instalar agora em um linux sem ter que perder seu sistema ou virtualizar ?

---

<div class="post-metadata">

**Author:** ![jean](https://avatars.discourse-cdn.com/v4/letter/j/fbc32d/32.png) [@jean](https://community.umbrel.com/u/jean)\
**Post date:** [June 13, 2025, 5:08pm UTC](https://community.umbrel.com/t/how-to-install-umbrel-headless-on-orangepi5-with-linux/11143/7 "2025-06-13T17:08:44Z")

</div>

big up , same here , orange 5 16gb  
cant install umbrel anymore ,big nub here ,  
using gemini ,installed linux and commande line for install umbrel  
after 1h30 umbrel send me to download iso …  
sure iso for raspberpi but not for orange 5 …  
this iso working on orange 5 ? ,  
made some search but no result here ☹
