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

Libre Computer Amlogic boards — libre-amlogic (flagship: 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.

Objectives

Understand the Amlogic boot chain (proprietary BL2/BL30/BL31 blobs + mainline U-Boot signed in FIP), install Armbian on microSD, flash the eMMC from a running system, and recover a non-booting board via USB bootrom and pyamlboot. Boot failures ("boot loop", "red + blue LED only") are the board's #1 support topic: bad SD card, weak power supply, or inconsistent image/bootloader mix.

Hardware

Full Code

# 1) Ecrire 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 systeme demarre : 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 : demarrer un noyau en RAM

Expected Verification

cat /proc/device-tree/compatible contains libretech,aml-s905x-cc amlogic,s905x amlogic,meson-gxl; in recovery mode, lsusb shows the Amlogic bootrom device before any action, and pyamlboot can load a kernel into memory.

Common Errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials