Standalone bring-up project and reproducible build tree for running modern mainline Linux 7.2 and Alpine Linux 3.20 on the Piranha Business II Tab, a single-core Allwinner A10 (sun4i) tablet (board identifier crane-a702jhorange).
The internal Hynix MLC NAND remains completely untouched; the entire system boots from an external MicroSD card (leveraging the A10 BROM boot order: SD → NAND → FEL). Removing the SD card restores the factory Android installation.
Because mainline Linux's goodix.c driver does not support the Goodix GT827 controller used in this tablet, this port includes a dedicated out-of-tree kernel module published at Mechres/gt827-linux-driver.
Hardware Specifications
| Component | Specification | Details / Bus |
|---|---|---|
| SoC | Allwinner A10 (sun4i) |
Single-core ARM Cortex-A8 @ 1.4 GHz |
| RAM | 1 GB DDR3 | dram_clk=432 decoded from stock FEX (script.bin) |
| GPU | ARM Mali-400 MP | Supported via mainline lima DRM driver |
| PMIC | X-Powers AXP209 | Connected on I2C0 @ 0x34 |
| Display | 800×480 Parallel RGB | Matches mainline starry,kr070pe2t; backlight enable PH7, panel power PH8, PWM0 on PB2 |
| Touchscreen | Goodix GT827 | I2C2 @ 0x5d (INT = PH21, RST = PB13); vendor Android module named gt811_ts-827-fz |
| Storage | MicroSD (mmc0) |
PF0–PF5, card detect PH1; internal Hynix H27UCG8 MLC NAND untouched |
| USB | OTG + Host | Micro-USB OTG (gadget Ethernet), USB-A host |
| Accelerometer | DMARD06 / MMA7660 | I2C1 @ 0x1c / 0x4c |
| Wireless | Realtek RTL8188CUS | Internal USB Wi-Fi (0bda:8176) soldered directly onto the mainboard |
| Audio | sun4i-codec |
Internal DAC + external speaker amplifier enabled via PA10 |
| Debug Port | None exposed | Bring-up diagnostics performed via LCD console, HDMI fallback, and persistent SD logs |
Hardware Support Status
| Subsystem | Driver / Mechanism | Status | Notes |
|---|---|---|---|
| BROM & SPL | Allwinner BROM / U-Boot SPL | Working | Boots from MicroSD written at sector 8 |
| U-Boot | Mainline U-Boot | Working | Custom uboot/piranha_a10_defconfig |
| PMIC | axp20x |
Working | AXP209 regulator & battery management on I2C0 |
| MicroSD Storage | sunxi-mmc (mmc0) |
Working | Rootfs mounted on partition 2 |
| USB Gadget | musb-sunxi + g_ether (usb0) |
Working | CDC Ethernet (10.0.0.2/24 on tablet side) |
| SSH Server | OpenSSH on Alpine Linux | Working | Accessible over USB Ethernet or Wi-Fi |
| Wi-Fi | rtl8192cu (wlan0) |
Working | Firmware loaded from rootfs/firmware/ |
| Touchscreen | Out-of-tree gt827 module |
Working | Multi-touch verified via evtest using extracted vendor configuration blob |
| Display (LCD & HDMI) | sun4i-drm + fbdev |
Working | 800×480 RGB panel + HDMI output enabled |
| Audio | sun4i-codec (ALSA) |
Working | Speaker amplifier routed via allwinner,pa-gpios (PA10) |
| GPU | lima (Mali-400) |
Working | Mainline DRM driver registers cleanly |
| Video Decoder | cedrus (/dev/video0) |
Partial | Kernel V4L2 stateless driver probes cleanly |
Boot Architecture
[BROM] → [SPL] (MicroSD sector 8)
↓
[U-Boot] (u-boot-sunxi-with-spl.bin)
└── Loads zImage + sun4i-a10-piranha.dtb from FAT boot partition
↓
[Linux Kernel 7.2 Mainline]
├── AXP209 PMIC, sunxi-mmc root mount, sun4i-drm display
├── gt827 touchscreen (I2C2 0x5d), sun4i-codec audio (PA10 amp)
└── modules-load: g_ether (usb0), gt827, rtl8192cu (wlan0)
↓
[Alpine Linux 3.20 (ARMv7, OpenRC)]
├── sshd, net.usb0 (10.0.0.2/24), wpa_supplicant
└── X11 + JWM desktop, XTerm, PCManFM
Reproducible Build Quick Start
# 1. Download Bootlin toolchain, mainline Linux 7.2, and U-Boot
bash scripts/fetch-sources.sh
# 2. Build U-Boot and mkimage
bash scripts/25-uboot-build.sh
# 3. Build Linux 7.2 kernel, sun4i-a10-piranha.dtb, and out-of-tree gt827 module
bash scripts/30-kernel-build.sh
# 4. Build the two-stage Alpine Linux 3.20 rootfs (with X11/JWM)
bash scripts/45-alpine-stage1.sh
sudo bash scripts/45-alpine-stage2.sh
Device Tags: