Arch Linux on Orange Pi Zero

Orange Pi Zero is a new small development board containing H2+ Quad-core Cortex-A7 CPU from Xunlong Software CO.,Limited. On this single board computer you can officially run Android, Ubuntu, Lubuntu or Debian. Because the CPU is compatible with Allwinner H3, it’s possible to run standard Linux kernel compiled for this CPU.

Arch Linux disk image

Compatibility with H3 also allows to deploy Arch Linux, which is not officially supported. For this purpose, I created an image archlinuxarm-orange_pi_zero-20170620.img.gz that can be used for SD card of size at least 1 GB. Disk image contains Arch Linux update 2017-06-20 without any custom packages and settings.

But there is a problem with the image. It’s not possible to use WiFi and other features specific for H2+ CPU, because of lack right Device Tree Overlays and WiFi drivers. For now, the WiFi device is working. Also, if you want to try I2C or SPI interfaces, please download and replace DT sun8i-h2-plus-orangepi-zero.dtb in the /boot/dtbs/ directory. (EDIT 2017-06-20)

So, if you want to use Orange Pi Zero as small network server, ADS-B receiver or DVB-T IP box, there is no problem.

On Windows, you can use Win32 Disk Imager to transfer image to SD. If you are using GNU/Linux, the dd is suffice.

The image use partition /dev/mmcblk0p1 for kernel and /dev/mmcblk0p2 for root filesystem. The reason is, that you can move root filesystem to USB HDD/SSD (sda1), copy /boot/boot_sda1.scr to /boot/boot.scr, and edit /etc/fstab to coresponding partition. (EDIT 2017-06-20)

Access to Arch Linux

After system boots, Arch Linux is accessible over ethernet via SSH. The IP address is assigned by the DHCP. It’s impossible to login as root, instead of please use alarm account and for switch to privileged account root have to use su - command.

It’s also possible to use serial console over 3-pin header located next to ethernet connector. Serial debug connector pinout is 1- GND, 2 – RXD, 3 – TXD. Logic levels are compatible with 3.3 V TTL. Serial speed is 115200 baud.

As you can see, the identification strings are
CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi One
But don’t warry, it’s not derived from the board.

Default root password is also root.

Default alarm password is also alarm.

Resize filesystem

If you are logged in, use fdisk and resize2fs utilities for resize (enlarge) root partition and filesystem.

  1. Run fdisk /dev/mmcblk0,
  2. remove the root partition (key d),
  3. create new primary partition (key n) with own parameters,
  4. save partition table (key w) – if Linux kernel still use old partition table, it’s necessary to reboot system,
  5. run resize2fs /dev/mmcblk0p2,
  6. done

After reboot:

 

CPU

Related

How to compile Linux kernel for Orange Pi Zero

22 komentářů u „Arch Linux on Orange Pi Zero

  1. Pingback: How to compile Linux kernel for Orange Pi Zero | brichacek.net

  2. Andreas

    Do you think OTG conncetions via the micro-USB connector should work?

    If so I have another problem because the commands ‚modproe g_serial‘ and
    ‚ .. g_ehter‘ for the OTG part of USB produce:

    udc-core: couldn’t find an available UDC – added [g1] to list of pending drivers

    cheers

  3. Roman Spychała

    If you don’t care about WiFi you can now use kernel from original linux-armv7-rc (4.15.rc6) package without patching/compiling custom kernel. DTB from this kernel works fine.

    Your DTB enables only one (upper) USB port on Expansion Board (https://aliexpress.com/store/product/New-Orange-Pi-Zreo-Expansion-board-Interface-board-Development-board-beyond-Raspberry-Pi/1553371_32770665186.html).

    Also you can try to build/use my packages from http://github.com/RoEdAl/alarm-orangepi-armv7.

    orangepi-dtbs package installs only one additional DTB – sun8i-h2-plus-orangepi-zero-exbrd.dtb which enables additional devices/ports on Expansion Port.

    uboot-orangepi-zero and uboot-orangepi-zero-exbrd (requires orangepo-dtbs package) are just U-Boot bootloaders (PKGBUILD based on uboot-sunxi’s build script).

    In short:
    – Orange Pi Zero requires linux-armv7-rc uboot-orangepi-zero.
    – Orange Pi Zero with Expansion Board requires linux-armv7rc, uboot-orangepi-zero-exbrd, orangepi-dtbs.

  4. Pingback: Linux kernel 4.15-rc2 for OrangePi Zero and OrangePi Zero Plus (H5) | brichacek.net

Leave a Reply