🛠 Construire sa propre image Armbian pour la PINE A64 (armbian/build)

Pine64 PINE A64 / PINE A64+ (Allwinner A64) · avance · Schéma : IMG-pine64-avance-1-construire-image-armbian.svg — PC x86 avec Docker lancant armbian/compile.sh, fleches de compilation vers une carte microSD etiquetee Armbian pine64, encart config BOARD=pine64 BRANCH=current, BOOTCONFIG pine64_plus_defconfig, CRUSTCONFIG a64_defconfig, chaine de boot BROM -> U-Boot -> kernel DTB

Objectifs

Ne plus dépendre des images binaires : compiler toi-même le système de la PINE A64 avec le framework armbian/build, dont la config board pine64 est toujours maintenue (family sun50iw1, KERNEL_TARGET="current,edge,legacy"). Tu verras la chaîne de boot complète propre à Allwinner — BROM du SoC → U-Boot (mainline, defconfig pine64_plus_defconfig) → noyau + DTB, le tout lu depuis la microSD (pas de SPI NOR sur cette carte) — et le firmware ARM Trusted Firmware remplacé ici par CRUST (a64_defconfig), le port mainline du BSP ARM Trusted d'Allwinner.

Matériel

Code complet

# Cloner le framework de build Armbian
git clone --depth=1 https://github.com/armbian/build
cd build

# Compiler une image CLI Debian Bookworm, noyau mainline LTS (BRANCH=current)
# Le framework lit config/boards/pine64.conf :
#   BOOTCONFIG=pine64_plus_defconfig   (U-Boot mainline)
#   CRUSTCONFIG=a64_defconfig          (ARM Trusted Firmware pour A64)
#   KERNEL_TARGET="current,edge,legacy"
./compile.sh BOARD=pine64 BRANCH=current DISTRIBUTION=bookworm \
             BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no

# Image produite :
ls -lh output/images/   # Armbian_*_Bookworm_current_pine64.img.xz

# Graver et booter (console EXP 115200 8N1 pour voir le U-Boot custom) :
xzcat output/images/Armbian_*_Bookworm_current_pine64.img.xz | sudo dd of=/dev/sdX bs=4M
sync

Vérification attendue

En fin de build, output/images/ contient l'image .img.xz avec le noyau current, U-Boot u-boot-sunxi-with-spl.bin et le DTB sun50i-a64-pine64*.dtb. Sur la console série, le banner U-Boot s'affiche puis le noyau démarre sur serial0:115200n8 (le chosen stdout-path du device tree mainline). uname -a sur la carte confirme la version du noyau que tu viens de compiler — et tu peux désormais patcher le noyau ou le DTS, rebuilder, et voir ton changement au boot suivant.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels