Booting Orange Pi 3 from eMMC
In this post I'll show you how I went about flashing an Orange Pi 3 and booting from onboard eMMC storage.
Note this also worked for my Orange Pi Zero 2 albeit it was much simpler because it doesn't have all the eMMC steps.
- Download the image for your orange pi model: https://www.armbian.com/orangepi3-lts/
- I used armbian because I heard it has the best support for orange pi
- Flash it:
- On mac I used: https://etcher.balena.io/
- Tried raspberry pi imager and kept getting an error about not having a “FAT” file system even though I made sure the SD was formatted as FAT
- Plug it in to orange pi and also connect ethernet
- Find orange pi ip
- SSH into it:
- Password was 1234 though user/pass could change depending on the image you download
- If you get an error like “too many failed authentications”, try this:
ssh -o IdentitiesOnly=yes root@192.168.x.xOn mac I prefer using VSCode ssh via Microsoft’s “Remote - SSH” plugin. However, I had to use ssh from the plain terminal for armbian to walk me through the welcome setup. On vscode, to setup ssh, simply use the ssh plugin and add the host:
- Run through all the setup prompts to create user & so forth
sudo apt update
andsudo apt full-upgrade
armbian-install
Run the armbian script to boot from emmc instead of sd cardsudo shutdown -h now
- Pull the SD and reformat it so it doesn’t boot from the image on it and free up space.
- Insert SD and power on. System should still boot.
- Mount the SD on boot:
sudo cp /etc/fstab /etc/fstab.bak
back up auto mount configfdisk -l
identify the partition you want to mountsudo blkid /dev/mmcblk0p2
get the info from the partitionsudo nano /etc/fstab
add info from blkid as new line item:# my sd card is third one down:# <file system> <mount point> <type> <options> <dump> <pass>tmpfs /tmp tmpfs defaults,nosuid 0 0UUID=f26d9dc6-60b0-451b-b4ef-28a743705cex / ext4 defaults,noatime,commit=600,errors=remount-ro,x-gvfs-hide 0 1UUID=647D-3E34 /home/ao0/dev exfat defaults,uid=1000,gid=1000,umask=022 0 0sudo mount -a
df -h
to check that it was mountedtouch ~/dev/hello.txt
create a new file in the folder you mountedreboot
and see if that file is still there