Close

Step 1: prepare SD-card image, boot, perform initial configuration

A project log for Orange Pi Zero native network boot

Tutorial describing steps to make Orange Pi Zero boot natively from network

andriymalyshenkoandriy.malyshenko 08/11/2021 at 21:560 Comments

First we would need bootable SD-card. As mentioned before we will use it to (a) flash onboard SPI and (b) take snapshot of the root FS.

1. I'll start with Armbian, later on we might want to take another distro. Go to Armbian website and get latest image, at the moment of writing it is Armbian_21.05.6_Orangepizero_focal_current_5.10.43.img.xz

2. Insert SD card and note its name. It is sdc in my case. No need to mount or format it.

$ lsblk
[...]
sdc                     8:32   1  14,6G  0 disk  
└─sdc1                  8:33   1  14,5G  0 part  

 3. Flash the image to SD card

$ xz --decompress Armbian_21.05.6_Orangepizero_focal_current_5.10.43.img.xz
$ sudo dd if=Armbian_21.05.6_Orangepizero_focal_current_5.10.43.img of=/dev/sdc bs=1M
1144+0 records in
1144+0 records out
1199570944 bytes (1,2 GB, 1,1 GiB) copied, 214,305 s, 5,6 MB/s
$sudo sync

Let's boot it and perform initial configuration, like account creation, setting up passwords and whatever else you need to claim it ready for taking snapshot

I'll start screen to monitor boot process via USB-UART adapter by issuing command

$ screen /dev/ttyUSB0 115200

 Result is below

U-Boot SPL 2021.04-armbian (Jun 21 2021 - 15:06:33 +0000)
DRAM: 256 MiB
Trying to boot from MMC1


U-Boot 2021.04-armbian (Jun 21 2021 - 15:06:33 +0000) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi Zero
DRAM:  256 MiB
MMC:   mmc@1c0f000: 0, mmc@1c10000: 1
Loading Environment from FAT... Unable to use mmc 0:1... In:    serial
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
starting USB...

[...]

[  OK  ] Started Network Manager Script Dispatcher Service.
[  OK  ] Started Dispatcher daemon for systemd-networkd.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.

orangepizero login: root (automatic login)

  ___  ____  _   _____              
 / _ \|  _ \(_) |__  /___ _ __ ___  
| | | | |_) | |   / // _ \ '__/ _ \ 
| |_| |  __/| |  / /|  __/ | | (_) |
 \___/|_|   |_| /____\___|_|  \___/ 
                                    
Welcome to Armbian 21.05.6 Focal with Linux 5.10.43-sunxi

System load:   100%             Up time:       2 min
Memory usage:  47% of 238M      IP:            
CPU temp:      54°C             Usage of /:    8% of 15G    
RX today:      n/a        

[ General system configuration (beta): armbian-config ]

New to Armbian? Documentation: https://docs.armbian.com Support: https://forum.armbian.com

New root password:

Next step is to enable SPI flash and flash it with u-boot

Discussions