🛠 Boot SD/eMMC et récupération (pyamlboot) sur Amlogic S905X

Cartes Libre Computer à base d'Amlogic — libre-amlogic (produit phare : Le Potato AML-S905X-CC) · avance · Schéma : IMG-libre-amlogic-avance-1-libre-amlogic-avance-boot-sd-usb-recovery.svg — Chaîne de boot du Le Potato : microSD (U-Boot à l'offset 8 Ko) prioritaire sur l'eMMC, puis récupération USB via le bootrom Amlogic et pyamlboot.

Objectifs

Comprendre la chaîne de boot Amlogic (blobs propriétaires BL2/BL30/BL31 + U-Boot mainline signé en FIP), installer Armbian sur microSD, flasher l'eMMC depuis un système démarré, et récupérer une carte qui ne boote plus via le bootrom USB et pyamlboot. Les pannes de boot (« boucle de redémarrage », « rouge + bleu seulement ») sont le sujet de support n°1 de la carte : mauvaise SD, alimentation faible ou mélange image/bootloader incohérent.

Matériel

Code complet

# 1) Écrire l'image Armbian sur la SD (bootloader U-Boot deja integre)
xzcat Armbian_*_Lepotato_*.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
# Bootloader U-Boot construit a la main (doc officielle) : deux passes dd, offset 8 Ko
# dd if=u-boot.bin.sd.bin of=/dev/sdX conv=fsync,notrunc bs=512 skip=1 seek=1
# dd if=u-boot.bin.sd.bin of=/dev/sdX conv=fsync,notrunc bs=1 count=440

# 2) Depuis le système démarre : flasher l'eMMC puis installer
sudo apt install git && git clone https://github.com/libre-computer-project/libretech-emmc-flash-tool
cd libretech-emmc-flash-tool && sudo ./emmc-flash-tool   # outil LEFT
sudo armbian-install

# 3) Recuperation : maintenir le bouton de boot puis brancher l'USB,
#    le bootrom Amlogic apparait sur le bus USB :
sudo pip install pyamlboot
lsusb            # appareil Amlogic visible = bootrom accessible
sudo ./boot-aarch64.sh   # script pyamlboot : démarrer un noyau en RAM

Vérification attendue

cat /proc/device-tree/compatible contient libretech,aml-s905x-cc amlogic,s905x amlogic,meson-gxl ; en mode récupération, lsusb montre l'appareil bootrom Amlogic avant toute action, et pyamlboot peut charger un noyau en mémoire.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels