+++
title = "Orange Pi Zero"
date = "2026-02-08T09:30:45+01:00"
type = "index"

+++

+ Architecture: ARM Little-Endian
+ Soc: AllWinner H3
+ CPU: Quad-Core Cortex-A7
+ RAM: 512 MB
+ 100 MBit/s Ethernet
+ GPU: Mali 400 MP2
+ 2x USB 2.0
+ Micro-SD-Card
+ Serial console
+ Power via USB Mini-USB (OTG)

Serial console has a speed of 115200n8.

http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero.html

![Orange Pi Zero](/img/orange-pi-zero.jpg)

dmesg:
```
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 6.12.74-1 (wbx@fluor) (arm-openadk-linux-uclibceabihf-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.46.0.20260210) #1 SMP Sat Feb 21 09:21:15 CET 2026
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Xunlong Orange Pi Zero
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x5f000000 on node -1
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] percpu: Embedded 13 pages/cpu s21196 r8192 d23860 u53248
[    0.000000] pcpu-alloc: s21196 r8192 d23860 u53248 alloc=13*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 rootwait
[    0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 131072
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000002] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000015] Switching to timer-based delay loop, resolution 41ns
[    0.000295] Console: colour dummy device 80x30
[    0.000359] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000379] CPU: Testing write buffer coherency: ok
[    0.000429] pid_max: default: 32768 minimum: 301
[    0.000608] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000624] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001596] /cpus/cpu@0 missing clock-frequency property
[    0.001630] /cpus/cpu@1 missing clock-frequency property
[    0.001647] /cpus/cpu@2 missing clock-frequency property
[    0.001666] /cpus/cpu@3 missing clock-frequency property
[    0.001677] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003113] Setting up static identity map for 0x40100000 - 0x40100060
[    0.003325] rcu: Hierarchical SRCU implementation.
[    0.003331] rcu: 	Max phase no-delay instances is 1000.
[    0.003671] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.004342] smp: Bringing up secondary CPUs ...
[    0.015435] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.026645] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.037797] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.037936] smp: Brought up 1 node, 4 CPUs
[    0.037947] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[    0.037958] CPU: All CPU(s) started in HYP mode.
[    0.037961] CPU: Virtualization extensions available.
[    0.038815] Memory: 487768K/524288K available (8192K kernel code, 955K rwdata, 2448K rodata, 1024K init, 263K bss, 18368K reserved, 16384K cma-reserved, 0K highmem)
[    0.039433] devtmpfs: initialized
[    0.045042] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.045290] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.045317] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.046096] pinctrl core: initialized pinctrl subsystem
[    0.047947] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.049052] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.050080] thermal_sys: Registered thermal governor 'step_wise'
[    0.050307] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.050321] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.054620] /soc/mixer@1100000: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000
[    0.054665] /soc/lcd-controller@1c0c000: Fixed dependency cycle(s) with /soc/mixer@1100000
[    0.054929] /soc/interrupt-controller@1c81000: Fixed dependency cycle(s) with /soc/interrupt-controller@1c81000
[    0.055284] /soc/mixer@1100000: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000
[    0.055616] /soc/mixer@1100000: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000
[    0.055701] /soc/lcd-controller@1c0c000: Fixed dependency cycle(s) with /soc/mixer@1100000
[    0.066141] SCSI subsystem initialized
[    0.066381] libata version 3.00 loaded.
[    0.066616] usbcore: registered new interface driver usbfs
[    0.066670] usbcore: registered new interface driver hub
[    0.066715] usbcore: registered new device driver usb
[    0.066961] mc: Linux media interface: v0.10
[    0.067032] videodev: Linux video capture interface: v2.00
[    0.067138] pps_core: LinuxPPS API ver. 1 registered
[    0.067145] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.067165] PTP clock support registered
[    0.067734] Advanced Linux Sound Architecture Driver Initialized.
[    0.068904] clocksource: Switched to clocksource arch_sys_counter
[    0.079392] NET: Registered PF_INET protocol family
[    0.079640] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.080890] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.080920] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.080934] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.080989] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.081159] TCP: Hash tables configured (established 4096 bind 4096)
[    0.081268] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.081310] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.081481] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.082141] RPC: Registered named UNIX socket transport module.
[    0.082153] RPC: Registered udp transport module.
[    0.082158] RPC: Registered tcp transport module.
[    0.082163] RPC: Registered tcp-with-tls transport module.
[    0.082167] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.083471] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.084198] NFS: Registering the id_resolver key type
[    0.084261] Key type id_resolver registered
[    0.084269] Key type id_legacy registered
[    0.084392] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    0.084404] io scheduler mq-deadline registered
[    0.084411] io scheduler kyber registered
[    0.084430] io scheduler bfq registered
[    0.156502] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.167806] lima 1c40000.gpu: gp - mali400 version major 1 minor 1
[    0.167916] lima 1c40000.gpu: pp0 - mali400 version major 1 minor 1
[    0.168013] lima 1c40000.gpu: pp1 - mali400 version major 1 minor 1
[    0.168058] lima 1c40000.gpu: l2_cache0 64K, 4-way, 64byte cache line, 64bit external bus
[    0.168493] lima 1c40000.gpu: bus rate = 200000000
[    0.168511] lima 1c40000.gpu: mod rate = 297000000
[    0.168613] lima 1c40000.gpu: error -ENODEV: _opp_set_regulators: no regulator (mali) found
[    0.169365] lima 1c40000.gpu: Failed to register cooling device
[    0.169883] [drm] Initialized lima 1.1.0 for 1c40000.gpu on minor 0
[    0.172717] CAN device driver interface
[    0.173340] dwmac-sun8i 1c30000.ethernet: IRQ eth_wake_irq not found
[    0.173353] dwmac-sun8i 1c30000.ethernet: IRQ eth_lpi not found
[    0.173362] dwmac-sun8i 1c30000.ethernet: IRQ sfty not found
[    0.173430] dwmac-sun8i 1c30000.ethernet: No regulator found
[    0.173527] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[    0.173553] dwmac-sun8i 1c30000.ethernet: Current syscon value is not the default 168000 (expect 58000)
[    0.173912] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[    0.173925] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[    0.173933] dwmac-sun8i 1c30000.ethernet: COE Type 2
[    0.173941] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[    0.173950] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[    0.173957] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[    0.175585] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[    0.176097] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[    0.176112] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[    0.180497] sun6i-rtc 1f00000.rtc: registered as rtc0
[    0.180550] sun6i-rtc 1f00000.rtc: setting system clock to 1970-01-01T00:00:08 UTC (8)
[    0.180983] i2c_dev: i2c /dev entries driver
[    0.183136] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    0.184373] sun8i-ce 1c15000.crypto: Set mod clock to 50000000 (50 Mhz) from 24000000 (24 Mhz)
[    0.184801] sun8i-ce 1c15000.crypto: will run requests pump with realtime priority
[    0.186025] sun8i-ce 1c15000.crypto: will run requests pump with realtime priority
[    0.186808] sun8i-ce 1c15000.crypto: will run requests pump with realtime priority
[    0.187408] sun8i-ce 1c15000.crypto: will run requests pump with realtime priority
[    0.187818] sun8i-ce 1c15000.crypto: Register cbc(aes)
[    0.187838] sun8i-ce 1c15000.crypto: Register ecb(aes)
[    0.187849] sun8i-ce 1c15000.crypto: Register cbc(des3_ede)
[    0.187859] sun8i-ce 1c15000.crypto: Register ecb(des3_ede)
[    0.187891] sun8i-ce 1c15000.crypto: CryptoEngine Die ID 1
[    0.189424] usbcore: registered new interface driver usbhid
[    0.189435] usbhid: USB HID core driver
[    0.195026] cedrus 1c0e000.video-codec: Device registered as /dev/video0
[    0.196879] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 (8000000f) counters available
[    0.201092] NET: Registered PF_PACKET protocol family
[    0.201106] can: controller area network core
[    0.201170] NET: Registered PF_CAN protocol family
[    0.201179] can: raw protocol
[    0.201187] can: broadcast manager protocol
[    0.201198] can: netlink gateway - max_hops=1
[    0.201314] Key type dns_resolver registered
[    0.201507] Registering SWP/SWPB emulation handler
[    0.225114] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.228280] sun8i-h3-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.228871] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.229263] sun8i-h3-pinctrl 1c20800.pinctrl: supply vcc-pa not found, using dummy regulator
[    0.230848] sun8i-h3-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver
[    0.231103] sun8i-h3-r-pinctrl 1f02c00.pinctrl: supply vcc-pl not found, using dummy regulator
[    0.237019] printk: legacy console [ttyS0] disabled
[    0.257651] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 146, base_baud = 1500000) is a U6_16550A
[    0.257721] printk: legacy console [ttyS0] enabled
[    1.352194] sun8i-h3-pinctrl 1c20800.pinctrl: supply vcc-pg not found, using dummy regulator
[    1.359825] sun8i-h3-pinctrl 1c20800.pinctrl: supply vcc-pf not found, using dummy regulator
[    1.362547] usb_phy_generic usb_phy_generic.1.auto: dummy supplies not allowed for exclusive requests (id=vbus)
[    1.381205] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[    1.384450] clk: Disabling unused clocks
[    1.385024] phy phy-1c19400.phy.0: Changing dr_mode to 1
[    1.385043] ehci-platform 1c1a000.usb: EHCI Host Controller
[    1.385070] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[    1.386933] ehci-platform 1c1b000.usb: EHCI Host Controller
[    1.389774] ALSA device list:
[    1.394996] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 2
[    1.400567]   No soundcards found.
[    1.409460] ohci-platform 1c1b400.usb: Generic Platform OHCI controller
[    1.409540] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    1.409572] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 3
[    1.414946] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    1.416845] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 4
[    1.463936] sunxi-mmc 1c10000.mmc: allocated mmc-pwrseq
[    1.469789] ohci-platform 1c1a400.usb: irq 154, io mem 0x01c1a400
[    1.475951] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.484419] ohci-platform 1c1b400.usb: irq 153, io mem 0x01c1b400
[    1.485817] mmc0: new high speed SDXC card at address 0001
[    1.497574] ehci-platform 1c1b000.usb: irq 152, io mem 0x01c1b000
[    1.497607] mmcblk0: mmc0:0001 SD64G 58.3 GiB
[    1.509776] ehci-platform 1c1a000.usb: irq 151, io mem 0x01c1a000
[    1.511205]  mmcblk0: p1 p2 p4
[    1.518945] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
[    1.525855] hub 2-0:1.0: USB hub found
[    1.529746] hub 2-0:1.0: 1 port detected
[    1.548934] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    1.562504] hub 3-0:1.0: USB hub found
[    1.566327] hub 3-0:1.0: 1 port detected
[    1.576797] hub 1-0:1.0: USB hub found
[    1.580659] hub 1-0:1.0: 1 port detected
[    1.591597] hub 4-0:1.0: USB hub found
[    1.595406] hub 4-0:1.0: 1 port detected
[    1.701538] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[    1.730053] mmc1: new high speed SDIO card at address 0001
[    2.096213] EXT4-fs (mmcblk0p1): orphan cleanup on readonly fs
[    2.118696] EXT4-fs (mmcblk0p1): mounted filesystem 1da96cad-578c-48b3-915d-6dfe0d18cc88 ro with ordered data mode. Quota mode: disabled.
[    2.131325] VFS: Mounted root (ext4 filesystem) readonly on device 179:1.
[    2.139786] devtmpfs: mounted
[    2.144905] Freeing unused kernel image (initmem) memory: 1024K
[    2.151236] Run /sbin/init as init process
[    2.155346]   with arguments:
[    2.155357]     /sbin/init
[    2.155367]     earlyprintk
[    2.155378]   with environment:
[    2.155387]     HOME=/
[    2.155397]     TERM=linux
[    2.899008] EXT4-fs (mmcblk0p1): re-mounted 1da96cad-578c-48b3-915d-6dfe0d18cc88.
[    3.159559] EXT4-fs (mmcblk0p2): mounted filesystem c5c0ac34-61c1-4e2d-b38d-3177a7969215 r/w with ordered data mode. Quota mode: disabled.
[    3.576161] dwmac-sun8i 1c30000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[    3.580038] dwmac-sun8i 1c30000.ethernet eth0: PHY [mdio_mux-0.1:01] driver [Generic PHY] (irq=POLL)
[    3.580102] dwmac-sun8i 1c30000.ethernet eth0: No Safety Features support found
[    3.580126] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[    3.580144] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[    3.580822] dwmac-sun8i 1c30000.ethernet eth0: configuring for phy/mii link mode
[    3.598406] dwmac-sun8i 1c30000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   12.000772] sun8i-di 1400000.deinterlace: Device registered as /dev/video1
[  151.292557] EXT4-fs (mmcblk0p1): re-mounted 1da96cad-578c-48b3-915d-6dfe0d18cc88 r/w.
```

Have fun!
