🛠 Premier boot d'Armbian sur la PINE A64 (microSD, console série, rootfs)
Objectifs
Découvrir la PINE A64 / PINE A64+ (SoC Allwinner A64, 4× Cortex-A53 64 bits, la première carte « 64 bits à 15 $ » lancée sur Kickstarter en décembre 2015) avec le système que la communauté utilise réellement : Armbian. La fiche du wiki officiel l'affirme : « la majorité des distributions Linux pour la PINE A64 utilisent mainline Linux », et Armbian reste activement maintenu pour cette carte (config board pine64, noyaux current, edge et legacy). Tu vas graver l'image, démarrer, te connecter en console série sur le connecteur EXP, et comprendre ce qui se passe au premier boot.
Matériel
- 1 × PINE A64 ou PINE A64+ (512 MB, 1 GB ou 2 GB de DDR3)
- 1 × carte microSD de qualité (le wiki officiel borne à 256 GB max — et mets une carte vérifiée : la contrefaçon de SD est le premier mode de panne de cette classe de cartes)
- 1 × alimentation 5 V / 2 A à connecteur barrel (le jack est l'entrée d'alimentation recommandée ; le micro-USB et le connecteur VBAT Li-ion sont aussi listés comme entrées par le wiki, mais le micro-USB subit les chutes de tension)
- 1 × adaptateur USB-TTL 3,3 V sur le connecteur EXP 2×5 (UART0, broches PB8/PB9)
- PC pour graver (balenaEtcher ou
dd)
Code complet
# 1) Graver l'image Armbian (board « pine64 ») sur la microSD (ex. /dev/sdX)
xzcat Armbian_*_Bookworm_current_pine64.img.xz | sudo dd of=/dev/sdX bs=4M status=progress
sync
# 2) Brancher USB-TTL sur l'EXP (RX/TX croisés + GND, niveau 3,3 V !), puis :
picocom -b 115200 /dev/ttyUSB0 # ou : sudo minicom -D /dev/ttyUSB0 -b 115200
# 3) Alimenter avec le barrel 5V — la console série affiche U-Boot puis le kernel.
# Le device tree mainline impose la console : stdout-path = "serial0:115200n8"
# 4) Premier boot Armbian : création du user, mot de passe root, puis le
# rootfs s'étend automatiquement sur toute la microSD.
# 5) Vérifier la carte vue par le noyau mainline :
cat /proc/device-tree/compatible
# -> attend « pine64,pine64 » ou « pine64,pine64-plus » + « allwinner,sun50i-a64 »
Vérification attendue
Sur la console série à 115200 8N1, tu vois défiler U-Boot (config pine64_plus_defconfig sur les images Armbian) puis le noyau mainline, jusqu'au prompt de création de compte. cat /proc/device-tree/compatible renvoie une chaîne contenant allwinner,sun50i-a64 : la carte est bien reconnue par le noyau mainline, sans BSP propriétaire. Après le premier boot, df -h / montre un rootfs occupant l'essentiel de la microSD (redimensionnement automatique Armbian). La consommation annoncée par le wiki officiel est d'environ 2,5 W : la carte reste tiède sans radiateur.
Erreurs fréquentes
- Alimenter par un câble micro-USB de mauvaise qualité : les chutes de tension sur le 5 V provoquent des pannes SD/USB aléatoires (le rapport d'histoire d'Armbian en fait un classique) — utilise le barrel 5 V 2 A.
- Boot muet : la console est sur le connecteur EXP 2×5 (UART0, PB8/PB9), pas sur le connecteur Pi-2 40 broches (son UART à lui, UART2, est désactivé par défaut). Vérifie aussi RX/TX croisés et le GND commun, niveau 3,3 V.
- Carte microSD contrefaite ou trop lente : c'est le mode de panne n°1 documenté — le wiki officiel lie lui-même les outils de détection h2testw et f3. Teste la carte avant d'accuser la carte fille.
- Attendre Android ou Ubuntu Touch sur un modèle 512 MB : la version 512 MB ne tourne qu'avec Arch Linux et les distributions Debian ; les OS lourds exigent un modèle 1 GB+.
- Chercher une mémoire flash embarquée : il n'y en a aucune — seul le microSD (ou un module eMMC enfichable sur son connecteur dédié) amorce la carte ; pas de SPI NOR non plus.
Autres tutoriels pour cette carte
- PINE A64 ou PINE A64+ ? Le pièg du réseau gigabit dès le premier regard
- Faire clignoter une LED avec libgpiod (numérotation GPIO du A64 : PB0 = 32)
- Benchmark Ethernet iperf3 : mesurer le piège 10/100 vs gigabit
- Lire un capteur I²C (BME280) sur le bus i2c-1 du connecteur Pi-2
- Un serveur maison qui consomme 2,5 W : Docker léger sur la PINE A64
- Construire sa propre image Armbian pour la PINE A64 (armbian/build)
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash