🛠 Boot sur microSD et eMMC, procédure de recouvrement

ODROID-C4 (Hardkernel) · avance · Schéma : IMG-odroid-c4-avance-1-odroidc4-boot-emmc.svg — ODROID-C4 en coupe fonctionnelle : emplacement microSD sur le bord, connecteur eMMC avec son petit levier de sélection, flèches de priorité de boot vers le SoC S905X3.

Objectifs

Comprendre la chaîne de boot Amlogic de l'ODROID-C4 (BL1 dans l'OTP du SoC, blob BL2/DDR propriétaire, puis U-Boot), installer Armbian sur microSD, migrer le système vers un module eMMC (jusqu'à 256 GB, piloté en HS200 sous mainline), et savoir repartir d'une carte corrompue. C'est la base de tout déploiement 24/7 fiable.

Matériel

Code complet

#!/usr/bin/env bash
# 1) Écrire l'image sur la microSD (périphérique à vérifier !)
zcat Armbian_*_Odroidc4_bookworm_current_*.img.xz | sudo dd of=/dev/sdb bs=4M status=progress conv=fsync
sync
# 2) Démarrer sur SD, puis identifier les stockages
lsblk -o NAME,SIZE,MODEL,MOUNTPOINT   # mmcblk0 = eMMC, mmcblk1 = SD (typique)
cat /proc/device-tree/memory@0/reg | xxd | tail -1  # vérifier les 4 GB vus
# 3) Cloner SD -> eMMC (carte NE DOIT PAS être la racine active)
sudo dd if=/dev/mmcblk1 of=/dev/mmcblk0 bs=16M status=progress conv=fsync
sync && sleep 5
# 4) Redémarrer éjecté-SD pour valider le boot eMMC ; en cas d'échec,
#    remettre la SD de secours : elle reprend la main (boot de repli).
sudo poweroff

Vérification attendue

Après écriture, la LED bleue passe du mode heartbeat au rythme lent une fois le système lancé ; lsblk montre la racine sur mmcblk1p2 (SD) puis sur mmcblk0p2 après migration. free -h doit confirmer ~4 GB (ou 2 GB selon SKU) — si 1 GB seulement, le bootloader n'a pas corrigé le nœud mémoire du DTS. hdparm -Tt /dev/mmcblk0 compare SD et eMMC (HS200).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels