Debian 13 (Trixie) on Banana Pi (Allwinner A20): Install, First Boot Checks, and 2026 Compatibility Notes

Terminal showing Debian 13 Trixie boot sequence on a Banana Pi Allwinner A20 single-board computer

What This Guide Covers

This guide walks through installing Debian 13 (Trixie) on the original Banana Pi board with the Allwinner A20 dual-core Cortex-A7 SoC. Trixie brings a newer glibc, systemd 256+, and kernel 6.x defaults — all of which change the baseline for Allwinner sunxi boards in ways that matter for daily operation.

If you are coming from Debian 11 or 12 on this hardware, some things work better and some things break. This guide tells you which, and what to do about it.

Prerequisites

Power warning: If you use a phone charger rated at 5V 1A, the board will appear to work until you connect a SATA drive or load the CPU. Then it reboots or corrupts the SD card. Use a proper 2A supply.

Obtaining a Debian 13 Image for Allwinner A20

Official Debian armhf installer images support the sunxi platform, but a pre-built SD card image is faster to get running. Check these sources in order:

  1. Debian official — the armhf netinst ISO works with u-boot on the Banana Pi, but requires serial console for the installer. Only use this if you are comfortable with manual u-boot setup.
  2. Armbian Debian Trixie builds — community-maintained images with the sunxi kernel and correct device tree for the Banana Pi. These are the fastest path to a working system.
  3. LeMaker-provided images — check the downloads hub for any Trixie-era images; these may lag behind upstream but include tested board support packages.

Download the image and its checksum file to the same directory.

Verify the Image and Flash to SD

Verify the checksum

# SHA-256 verification — the exact command depends on your OS
sha256sum -c Armbian_*.sha256

# Expected output:
# Armbian_24.11_Bananapi_trixie_current_6.6.xx.img.xz: OK

If the checksum does not match, re-download. Do not flash an unverified image.

Flash to microSD

# Identify the SD card device — get this wrong and you wipe a real disk
lsblk

# Decompress and flash in one step
xzcat Armbian_*.img.xz | sudo dd of=/dev/sdX bs=1M status=progress conv=fsync

# Force kernel to re-read partition table
sync
sudo partprobe /dev/sdX
Double-check /dev/sdX. The dd command has no confirmation prompt. Writing to the wrong device destroys data instantly.

First Boot Sequence and What to Expect

  1. Insert the flashed microSD card
  2. Connect Ethernet
  3. Connect power (do not connect HDMI yet if you are using serial console)
  4. Watch for the green activity LED to start blinking — this indicates u-boot has loaded the kernel

The first boot takes 60–90 seconds. Armbian images will ask you to set a root password and create a user on first login. If you are using a stock Debian image, the default credentials are typically root/1234 — change them immediately.

# Find the Banana Pi on your network
nmap -sn 192.168.1.0/24 | grep -i banana

# Or check your router's DHCP lease table
# Then SSH in:
ssh root@192.168.1.X

Post-Boot Health Checks

Run these checks immediately after first login. Do not start installing packages until all pass.

# 1. Verify you're running the expected kernel
uname -r
# Expected: 6.6.x or 6.12.x (sunxi)

# 2. Check the device tree is correct for Banana Pi
cat /proc/device-tree/model
# Expected: "LeMaker Banana Pi" or "Allwinner A20 Banana Pi"

# 3. Verify both CPU cores are online
nproc
# Expected: 2

cat /sys/devices/system/cpu/online
# Expected: 0-1

# 4. Check available RAM
free -h
# Expected: ~980M total on 1GB board

# 5. Verify Ethernet link
ip link show eth0
# Look for: state UP

# 6. Check root filesystem health
df -h /
# Ensure reasonable free space

# 7. Verify system clock (important for apt)
timedatectl status
# If NTP sync is "no", fix it:
sudo timedatectl set-ntp true
Tip: If nproc returns 1 instead of 2, check for thermal throttling or a kernel that does not enable the second core by default. Verify with dmesg | grep -i cpu.

2026 Compatibility Notes for Allwinner A20

The Allwinner A20 is a decade-old SoC. Running Debian 13 on it works, but certain components have drifted:

ComponentStatus in TrixieNotes
CPU (Cortex-A7)✅ Fully supportedsunxi device tree in mainline since 3.x
Ethernet (RTL8211E)✅ Worksstmmac driver, may need firmware-realtek on some configs
SATA✅ Worksahci-sunxi driver; hot-plug not reliable
HDMI⚠️ Partialsun4i-drm driver; some resolutions fail. Use serial console as primary.
USB✅ WorksBoth ports functional; USB OTG requires manual gadget config
GPIO⚠️ Changedsysfs GPIO is deprecated; use libgpiod / gpiod tools
IR receiver⚠️ May need configsunxi-ir driver loads but LIRC setup has changed in Trixie
Audio (analog)⚠️ Partialsun4i-codec works but ALSA defaults may need manual UCM profile

Known Driver Quirks and Workarounds

HDMI output blank or wrong resolution

# Check what the DRM driver detects
cat /sys/class/drm/card0-HDMI-A-1/status
cat /sys/class/drm/card0-HDMI-A-1/modes

# Force a specific resolution via kernel cmdline
# Edit /boot/armbianEnv.txt (Armbian) or /boot/boot.cmd:
video=HDMI-A-1:1280x720@60

GPIO access changed from sysfs to gpiod

# Old method (deprecated, may not work in Trixie):
echo 67 > /sys/class/gpio/export

# New method — install gpiod tools:
sudo apt install gpiod

# List available GPIO chips
gpiodetect

# Read a specific pin (chip 0, line 67)
gpioget gpiochip0 67

# Set a pin high
gpioset gpiochip0 67=1

System time wrong after boot (no RTC battery)

# The Banana Pi has no battery-backed RTC
# Ensure NTP is enabled:
sudo timedatectl set-ntp true

# Install fake-hwclock to save time across reboots:
sudo apt install fake-hwclock
sudo systemctl enable fake-hwclock

Kernel Considerations

Debian 13 ships with kernel 6.x. The sunxi support in mainline is mature, but if you encounter issues:

# Check for kernel errors or warnings
dmesg --level=err,warn | head -40

# Check loaded sunxi modules
lsmod | grep sun

Recovery When Boot Fails

If the Banana Pi does not boot after flashing:

  1. Check the power LED — solid red means power is present. No LED means the supply or cable is bad.
  2. Check the green LED — if it never blinks, u-boot is not loading. The SD card may not be flashed correctly or the card reader silently failed.
  3. Connect a serial console (3.3V TTL on the debug header, 115200 baud) — this shows u-boot output and kernel messages before the network comes up.
  4. Try a different SD card — cheap cards are the number one cause of boot failure. If the same image works on a different card, the first card is bad.
  5. Re-flash from scratch — if the partition table looks wrong, wipe the card first:
# Wipe the first 100 MB to clear any old partition tables or boot sectors
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=100
# Then re-flash the image
Serial console pinout: The Banana Pi debug header is a 3-pin connector near the HDMI port. Pin 1 = GND, Pin 2 = TX (connect to adapter RX), Pin 3 = RX (connect to adapter TX). Use 3.3V logic levels — 5V will damage the SoC.