Armbian Image Types: CLI vs Desktop, Current vs Edge
Armbian ships four main image variants for each supported board. Picking the wrong one wastes hours. Here's what each combination means:
| Variant | Kernel | Desktop | Use Case |
|---|---|---|---|
| Bookworm CLI, current kernel | 6.6 LTS | None | Headless server, most stable |
| Bookworm Desktop, current kernel | 6.6 LTS | Xfce | Light desktop use |
| Bookworm CLI, edge kernel | 6.12+ | None | Newer driver support, headless |
| Bookworm Desktop, edge kernel | 6.12+ | Xfce | Newer hardware acceleration |
What "Community Support" (CSC) Actually Means
Armbian classifies boards into support tiers. The Banana Pi Pro sits in the CSC (Community Support Configuration) tier. In practice this means:
- Images are auto-built from the Armbian build system but not regularly tested by maintainers
- Bug reports against CSC boards get lower priority — often no response
- Kernel config and device-tree patches rely on community contributors
- The board may break after a kernel bump with no immediate fix
- You are the QA team
apt upgrade blindly on a production system. If something works, snapshot it before touching the kernel.
Choosing the Right Image for Banana Pi Pro
For a headless Banana Pi Pro running as a home server or network appliance in 2026:
- Pick Armbian Bookworm CLI with the current (6.6 LTS) kernel
- Avoid Jammy-based images — Ubuntu on Armbian CSC boards gets even less testing
- Skip desktop images unless you specifically need a GUI — they consume 300-400 MB extra RAM
- If you need WiFi/Bluetooth on the Banana Pi Pro's onboard AP6210, check the AP6210 WiFi/Bluetooth guide — the firmware situation is the same regardless of distro
Download and Verify the Image
Always verify the image checksum before flashing. Corrupted downloads cause mysterious boot failures.
# Download the image and its SHA-256 checksum
wget https://dl.armbian.com/bananapipro/archive/Armbian_24.11_Bananapipro_bookworm_current_6.6.x_minimal.img.xz
wget https://dl.armbian.com/bananapipro/archive/Armbian_24.11_Bananapipro_bookworm_current_6.6.x_minimal.img.xz.sha
# Verify
sha256sum -c Armbian_24.11_Bananapipro_bookworm_current_6.6.x_minimal.img.xz.sha
If the checksum doesn't match, delete the file and re-download. Don't flash it.
Safe Flashing Procedure
Option A: balenaEtcher (GUI)
- Download balenaEtcher
- Select the
.img.xzfile directly — Etcher handles decompression - Select your SD card (double-check the target device)
- Flash and wait for the built-in verification pass to complete
Option B: dd (Linux/macOS)
# Identify the SD card device (NOT a partition)
lsblk
# Decompress and flash — replace /dev/sdX with your device
xzcat Armbian_24.11_Bananapipro_bookworm_current_6.6.x_minimal.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
# Force write cache flush
sudo sync
dd will overwrite your laptop's SSD just as happily as an SD card. Run lsblk before and after inserting the card to confirm which device appeared.
Read-back verification after dd
# Read back and compare hash
sudo dd if=/dev/sdX bs=4M count=$(stat -c '%s' image.img | awk '{print int($1/4194304)+1}') | sha256sum
Compare this against the hash of your decompressed image file. If they differ, your SD card may be defective.
First Boot Checklist
Power on with a serial console connected if possible (see the Debian 13 first-boot guide for serial setup). Then:
- Wait 60-90 seconds — Armbian resizes the root partition on first boot
- Login as
rootwith password1234 - Armbian forces an immediate password change and user creation
- Confirm the board is detected correctly:
cat /etc/armbian-release | grep BOARD # Expected: BOARD=bananapipro - Check the kernel version:
uname -r # Should show 6.6.x for current branch - Check available storage:
df -h / # Root partition should span the full SD card after resize - Check SATA detection if you have a drive connected:
lsblk dmesg | grep ata
Post-Boot Updates
# Update package lists and upgrade — but read the warning below first
sudo apt update
sudo apt upgrade
apt upgrade may pull in a new kernel that breaks your setup. Before upgrading, pin your current working kernel:
# Check what kernel packages are installed
dpkg -l | grep linux-image
# Hold (pin) the current kernel
sudo apt-mark hold linux-image-current-sunxi
# Now safe to upgrade other packages
sudo apt upgrade
# To un-hold later when you deliberately want to update the kernel:
sudo apt-mark unhold linux-image-current-sunxi
armbian-config for board-specific settings — it handles kernel switching, WiFi, timezone, and other common tasks through a guided menu. Run sudo armbian-config to launch it.
Troubleshooting First Boot Failures
| Symptom | Likely Cause | Fix |
|---|---|---|
| No serial output, no HDMI | Bad flash, wrong image, dead card | Re-flash with verification; try a different SD card |
| U-Boot prompt but no kernel | Corrupt kernel image or wrong DTB | Re-flash; check if you downloaded the correct board image |
| Kernel panic on boot | SD card read errors, filesystem corruption | Check dmesg via serial; try a different SD card |
| Boot hangs at "Starting kernel..." | DTB mismatch or kernel config issue | Try the edge kernel image; report to Armbian forums with serial log |
| No network after boot | Ethernet driver not loaded | Check ip link; Armbian should load sunxi-gmac automatically |
For WiFi-specific issues on the AP6210, see the dedicated AP6210 guide. The firmware loading process is identical on Armbian.
Rollback Notes
The simplest rollback strategy with Armbian on SD cards:
- Before any major change, image your working SD card:
sudo dd if=/dev/sdX bs=4M status=progress | gzip > armbian-working-backup.img.gz - To restore, flash that image back:
gunzip -c armbian-working-backup.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync - If you only need to roll back a kernel, use
apt:# List installed kernel packages dpkg -l | grep linux-image # Remove the broken kernel sudo apt remove linux-image-edge-sunxi # Reinstall the current kernel sudo apt install linux-image-current-sunxi