Banana Pi resources

Summary
This page collects the practical Banana Pi material people actually need at the bench: download links, checksum checks, flashing steps, and the first things to verify after boot. It is aimed at anyone bringing up a board from a fresh image, especially if the first attempt has failed because of a bad download, a poor write, or a power supply that looked fine on paper and turned out not to be.
The emphasis here is on avoiding the common traps. Check the image, flash it cleanly, then confirm the board has an address, working DNS, a resized root partition, and a sane boot log. That sequence saves time.
Before you start
A reliable 5V DC supply rated for at least 2 A is not optional. Cheap or under-spec supplies cause random reboots and filesystem corruption, and once that happens the rest of the diagnosis gets messy fast.
Use a known-good microSD card from a recognisable brand such as SanDisk, Samsung, or Kingston. 8 GB is the floor; 16 GB or 32 GB is a better starting point.
You will also need SHA256 or GPG tools - sha256sum on Linux or macOS, Get-FileHash on Windows - so the image can be checked before it is flashed. For writing the image, Etcher, Raspberry Pi Imager, or dd will do the job if you are comfortable with the command line.
A serial console is optional, but it is the first thing to reach for when HDMI stays blank or SSH never comes up. A 3.3V USB-to-UART adapter and a terminal program such as screen, minicom, or PuTTY make boot messages visible instead of leaving you guessing.
Available image downloads
Each image is distributed as a compressed archive, usually .zip, .xz, or .7z. Verify the checksum before flashing. That part matters more than people like to admit.
# Linux / macOS:
sha256sum BananaPi_Armbian_23.02.1.img.xz
# Compare the hash with the published checksum on the downloads page.
# Windows (PowerShell):
Get-FileHash -Algorithm SHA256 BananaPi_Armbian_23.02.1.img.xz
If the checksum does not match, re-download the file. Do not flash a corrupted or incomplete image.
Step-by-step flashing procedure
These instructions apply to Banana Pi microSD boot. If SATA is the end goal, start from microSD first, install a boot loader, and then clone or install the system to the SATA drive.
Step 1: Extract the image
# For .xz archives:
unxz BananaPi_Armbian_23.02.1.img.xz
# or on Windows: use 7-Zip or similar.
Step 2: Identify the target device
Insert the microSD card into your workstation. Use lsblk on Linux, diskutil list on macOS, or Device Manager on Windows to confirm the device path before you write anything. Example on Linux:
lsblk
# Look for a removable device, e.g. /dev/sdb or /dev/mmcblk0.
Warning: Writing to the wrong device destroys data. Double-check that you are writing to the microSD card, not your main system drive.
Step 3: Flash the image
Using Etcher, which is the least fussy option for beginners:
- Open Etcher, select the .img file, choose your microSD device, and click Flash.
- Etcher verifies the write automatically. Let it finish.
Using dd on Linux or macOS:
sudo dd if=BananaPi_Armbian_23.02.1.img of=/dev/sdb bs=4M status=progress conv=fsync
# Replace /dev/sdb with your actual device.
When the write is finished, run sync and wait a few seconds before removing the card.
Step 4: Prepare for first boot
- Eject the microSD card cleanly. Do not just pull it out.
- Insert the card into the Banana Pi.
- Connect Ethernet, HDMI, keyboard, or the serial console, then power the board.
- First boot usually takes 60-90 seconds while the system expands the root partition and runs its initial setup tasks.
Post-flash verification checklist
Once the system boots, check these items in order:
- Obtain an IP address via DHCP: Run ip a and confirm the interface is up with an IPv4 address.
- Internet connectivity: ping -c 2 1.1.1.1 to test basic routing.
- DNS resolution: ping -c 2 example.com to confirm DNS is working.
- Root partition expansion: df -h should show the full capacity of the microSD card, not just the 2-4 GB of the compressed image.
- No critical errors in the journal: journalctl -b -p err lists boot-time errors. A few informational warnings are normal; critical or emergency messages need attention.
- System time synchronisation: timedatectl status checks that NTP or systemd-timesyncd is active and the clock is set correctly.
- Update and reboot under supervision: Run sudo apt update && sudo apt upgrade on Debian-based images, then sudo reboot. Watch the serial console or HDMI output to confirm the boot cycle stays clean.
Troubleshooting common problems
System does not boot (no activity on HDMI or serial console):
- Check the power supply voltage and current rating. Under-powered boards show erratic or no boot.
- Try a different microSD card; even name-brand cards fail occasionally.
- Re-flash the image and verify the checksum again.
- Confirm the Banana Pi board is compatible with the chosen image. Some distributions only support specific boards.
Boots but no network:
- Connect via serial console or HDMI plus keyboard to diagnose the problem.
- Run ip link to confirm the interface is detected.
- Run sudo dhclient eth0, or the appropriate interface name, to request a DHCP lease manually.
- Check your router or DHCP server logs for lease requests.
Root filesystem is read-only or shows "out of space" errors:
- The first-boot expansion script may have failed. Many distributions provide a manual resize tool, such as armbian-config or a raspi-config equivalent.
- Check df -h to see whether the partition is actually full or simply was not expanded.
- If the microSD card has bad sectors, the filesystem may remount read-only to protect data. Replace the card.
System boots but runs slowly or hangs randomly:
- Confirm the power supply can deliver sustained current. Cheap supplies sag under load.
- Check dmesg for I/O errors or under-voltage warnings.
- Try a different microSD card. Performance varies a lot between brands and models.
- Monitor CPU temperature with cat /sys/class/thermal/thermal_zone0/temp. The value is in millidegrees Celsius. If it exceeds 75-80'C, add a heatsink or fan.
Advanced: SATA boot and other options
The Banana Pi has an on-board SATA interface, which gives better sustained I/O performance than microSD. The usual route looks like this:
- Boot from microSD with a standard image.
- Connect a 2.5-inch SATA SSD or HDD to the board.
- Use a cloning tool - dd, armbian-config, or a distribution-specific installer - to copy the root filesystem to the SATA drive.
- Update the boot loader configuration, usually kept on the microSD card, so it points to the SATA root partition.
- Reboot. The board still reads the boot loader from microSD but runs the operating system from SATA.
Consult the distribution's documentation for the exact SATA boot procedure. Most Armbian and Debian-based images include automated SATA migration tools, but the details still vary by image.
Frequently asked questions
Q: Which operating system should I choose?
A: Armbian, which is Debian-based, is the most widely supported and actively maintained distribution for Banana Pi. It includes kernel patches, hardware drivers, and the armbian-config utility. If you need a specific desktop environment or application stack, check the Armbian download page for XFCE, LXDE, or minimal server images.
Q: How do I resize the root partition manually?
A: Most modern images resize automatically on first boot. If that fails, use armbian-config on Armbian or run sudo resize2fs /dev/mmcblk0p1, adjusting the partition name as needed. If resizing fails at runtime, unmount it or run from a live environment first.
Q: Can I use the Banana Pi without a display or keyboard (headless)?
A: Yes. Most images enable SSH by default. Connect via Ethernet, find the board's IP address in your router's DHCP leases, and ssh user@192.168.x.x. Default credentials are in the image documentation, typically root/1234 or something similar. Change the password immediately.
Q: How often should I update the system?
A: Run sudo apt update && sudo apt upgrade weekly for security patches. For kernel updates, reboot once under supervision so you know the system still boots cleanly. Avoid unattended automatic upgrades on production systems unless there is a rollback plan.
Q: What if the system does not boot after an update?
A: Keep a second microSD card with a working image for emergencies. Use the serial console to read boot messages and diagnose kernel panics or filesystem errors. If the boot loader is corrupted, re-flash the boot partition from the working card.
Q: Can I run Docker or Kubernetes on a Banana Pi?
A: Yes, but the dual-core A20 CPU and 1 GB of RAM are tight for heavy container workloads. Small services such as Pi-hole, Home Assistant, and lightweight web apps run fine. Multi-node Kubernetes clusters need more memory, so the HiKey boards are the better fit for that job.
Q: Is there a recommended backup strategy?
A: For small systems, clone the entire microSD card periodically with dd or imaging software. For active services, use rsync or Borg Backup to copy critical directories such as /etc, /home, and application data to network storage. Test the restore procedure at least once.
Q: How do I enable WiFi on the Banana Pi?
A: The original Banana Pi does not have built-in WiFi. Use a USB WiFi adapter and check Linux driver support before buying, or use the Banana Pro, which includes integrated WiFi and Bluetooth.
Q: Where can I find community support?
A: The Armbian forums, the LeMaker forums - check the forum index on this site - and the Banana Pi community on Reddit and Discord are active. When asking for help, include the board model, image version, and relevant log output such as dmesg and journalctl.
Related guides
- Quick Start Guide
- Banana Pi product overview
- Banana Pi specifications
- OpenMediaVault for Banana Pi
- Bananas Distribution
- Banana Pi Resources
- GPU Documentation (Wiki)
- LCD Module (Wiki)
- SD Card Installation (Wiki)
- Banana Pro/Pi FAQs (Wiki)
- Boot and Storage Notes for SBCs
Author: LeMaker Documentation Team
Last updated: 2026-01-10