Emre Şensoy
Published © MIT

Fast & Furious - Allwinner V3S

Minimal, fast-booting Linux image for Allwinner V3s (LicheePi Zero) based on Buildroot.

IntermediateFull instructions provided2 hours7
Fast & Furious - Allwinner V3S

Things used in this project

Hardware components

CherryPi PC V3s
×1

Software apps and online services

U-boot
Linux 5.3.5 (sunxi defconfig)

Story

Read more

Schematics

Codes

Code

Logs

AsciiDoc
U-Boot 2022.01 (Mar 29 2026 - 02:38:06 +0300) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
WDT:   Not starting watchdog@1c20ca0
MMC:   mmc@1c0f000: 0
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1... In:    serial@1c28000
Out:   serial@1c28000
Err:   serial@1c28000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
292 bytes read in 2 ms (142.6 KiB/s)
## Executing script at 41900000
4183552 bytes read in 706 ms (5.7 MiB/s)
9041 bytes read in 5 ms (1.7 MiB/s)
Kernel image @ 0x41000000 [ 0x000000 - 0x3fd600 ]
## Flattened Device Tree blob at 41800000
   Booting using the fdt blob at 0x41800000
   Loading Device Tree to 42dfa000, end 42dff350 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.3.5 (test@test-virtual-machine) (gcc version 12.3.0 (Buildroot 2024.02.1)) #1 SMP Sun Mar 29 02:38:32 +03 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: Lichee Pi Zero with Dock
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x41c00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] percpu: Embedded 15 pages/cpu s30412 r8192 d22836 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 console=tty0 rootwait root=/dev/mmcblk0p2 earlyprintk rw
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 38516K/65536K available (6144K kernel code, 432K rwdata, 1632K rodata, 1024K init, 242K bss, 10636K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[    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=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set
[    0.000000] random: get_random_bytes called from start_kernel+0x2ec/0x490 with crng_init=0
[    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.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000019] Switching to timer-based delay loop, resolution 41ns
[    0.000208] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000434] Console: colour dummy device 80x30
[    0.000725] printk: console [tty0] enabled
[    0.000776] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000802] pid_max: default: 32768 minimum: 301
[    0.000956] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000988] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001835] CPU: Testing write buffer coherency: ok
[    0.002372] /cpus/cpu@0 missing clock-frequency property
[    0.002415] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003180] Setting up static identity map for 0x40100000 - 0x40100060
[    0.003424] rcu: Hierarchical SRCU implementation.
[    0.003901] smp: Bringing up secondary CPUs ...
[    0.003939] smp: Brought up 1 node, 1 CPU
[    0.003955] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[    0.003969] CPU: All CPU(s) started in HYP mode.
[    0.003981] CPU: Virtualization extensions available.
[    0.004831] devtmpfs: initialized
[    0.007630] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.007962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008014] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.008801] pinctrl core: initialized pinctrl subsystem
[    0.010125] NET: Registered protocol family 16
[    0.011294] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.012466] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.012513] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.026985] SCSI subsystem initialized
[    0.027697] usbcore: registered new interface driver usbfs
[    0.027789] usbcore: registered new interface driver hub
[    0.027898] usbcore: registered new device driver usb
[    0.028137] pps_core: LinuxPPS API ver. 1 registered
[    0.028160] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.028196] PTP clock support registered
[    0.028472] Advanced Linux Sound Architecture Driver Initialized.
[    0.029603] clocksource: Switched to clocksource arch_sys_counter
[    0.039709] thermal_sys: Registered thermal governor 'step_wise'
[    0.040049] NET: Registered protocol family 2
[    0.040709] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.040771] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.040809] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.040840] TCP: Hash tables configured (established 1024 bind 1024)
[    0.040994] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.041058] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.041305] NET: Registered protocol family 1
[    0.042299] RPC: Registered named UNIX socket transport module.
[    0.042347] RPC: Registered udp transport module.
[    0.042361] RPC: Registered tcp transport module.
[    0.042373] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.044304] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.052350] NFS: Registering the id_resolver key type
[    0.052431] Key type id_resolver registered
[    0.052448] Key type id_legacy registered
[    0.052579] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.052606] io scheduler mq-deadline registered
[    0.052620] io scheduler kyber registered
[    0.053482] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.057105] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.118599] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.121062] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pb not found, using dummy regulator
[    0.122196] printk: console [ttyS0] disabled
[    0.142515] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 32, base_baud = 1500000) is a U6_16550A
[    0.714284] printk: console [ttyS0] enabled
[    0.740955] libphy: Fixed MDIO Bus: probed
[    0.745091] CAN device driver interface
[    0.749376] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.756000] ehci-platform: EHCI generic platform driver
[    0.761385] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.767601] ohci-platform: OHCI generic platform driver
[    0.773903] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[    0.783063] sun6i-rtc 1c20400.rtc: registered as rtc0
[    0.788148] sun6i-rtc 1c20400.rtc: RTC enabled
[    0.792949] i2c /dev entries driver
[    0.797617] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    0.806278] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[    0.842807] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    0.850123] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pg not found, using dummy regulator
[    0.884775] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[    0.892843] usbcore: registered new interface driver usbhid
[    0.898440] usbhid: USB HID core driver
[    0.904353] NET: Registered protocol family 17
[    0.908855] can: controller area network core (rev 20170425 abi 9)
[    0.915256] NET: Registered protocol family 29
[    0.919763] can: raw protocol (rev 20170425)
[    0.924041] can: broadcast manager protocol (rev 20170425 t)
[    0.929730] can: netlink gateway (rev 20170425) max_hops=1
[    0.935536] Key type dns_resolver registered
[    0.939976] Registering SWP/SWPB emulation handler
[    0.953190] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    0.964757] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    0.970634] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    0.980177] hub 1-0:1.0: USB hub found
[    0.984193] hub 1-0:1.0: 1 port detected
[    0.989645] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T04:43:51 UTC (17031)
[    0.998280] ALSA device list:
[    1.001340]   No soundcards found.
[    1.005224] Waiting for root device /dev/mmcblk0p2...
[    1.010470] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.020440] mmc0: new high speed SD card at address b368
[    1.027608] mmcblk0: mmc0:b368 SD    1.88 GiB
[    1.034221]  mmcblk0: p1 p2
[    1.068297] random: fast init done
[    1.129378] EXT4-fs (mmcblk0p2): recovery complete
[    1.135163] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.143448] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    1.150402] devtmpfs: mounted
[    1.154883] Freeing unused kernel memory: 1024K
[    1.159637] Run /sbin/init as init process
[    1.411765] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    1.530956] random: seedrng: uninitialized urandom read (256 bytes read)

Welcome to Buildroot for the LicheePi Zero
licheepi-zero login:

Credits

Emre Şensoy
3 projects • 1 follower
Electronics Engineer & Embedded Systems expert. Specialized in STM32, C#, and hardware security. Building robust, open-source tech tools.

Comments