🛠 Boot eMMC/microSD et récupération
Objectifs
Installer proprement le système de l'ODROID-XU4, comprendre le dual boot microSD / module eMMC (le port eMMC roule en 8-bit HS400 200 MHz sous mainline — nettement plus rapide et plus endurant qu'une carte SD), migrer d'un support à l'autre, et savoir récupérer une carte qui n'affiche plus rien.
Matériel
- ODROID-XU4, module eMMC Hardkernel (16/32/64 GB) et/ou microSD
- Adaptateur eMMC-USB ou seconde carte SD pour l'amorçage de secours
- Image Armbian odroidxu4 (U-Boot mainline, odroid-xu4_defconfig — pas de blobs propriétaires)
Code complet
# 1) Graver l'image Armbian sur la microSD (vérifier le disque !)
sudo dd if=Armbian_*_odroidxu4.img of=/dev/sdX bs=4M status=progress oflag=sync
# 2) Amorcé sur SD, copier la SD entiere vers le module eMMC
# (sdX = carte SD, sdY = module eMMC vu comme disque USB/SD)
sudo dd if=/dev/sdX of=/dev/sdY bs=4M status=progress oflag=sync
sync
# 3) Redemarrer SANS la SD : la carte doit booter sur l'eMMC
sudo poweroff
# 4) Recuperation : carte muette ? Re-graver une image Armbian sur SD,
# démarrer dessus, puis diagnostiquer ; en dernier recours la console
# série ttySAC2 (1,8 V !) affiche le log U-Boot/noyau.
sudo dd if=Armbian_neuve.img of=/dev/sdX bs=4M status=progress oflag=sync
Vérification attendue
Après migration, lsblk montre la racine sur le périphérique eMMC et dmesg | grep -i mmc mentionne un mode HS400 ou HS200. Le démarrage sans microSD fonctionne. Un dd de récupération ramène une carte SD « morte » à la vie.
Erreurs fréquentes
- Écrire sur le mauvais périphérique avec dd : toujours vérifier avec
lsblkavant, le device change quand on branche l'adaptateur eMMC. - Laisser la SD en place après migration : la carte peut rebooter dessus au lieu de l'eMMC.
- Utiliser une image arm64 : l'Exynos5422 est ARMv7 32-bit uniquement, prendre l'image odroidxu4 (armhf).
- Rester sur un vieux noyau vendor 3.10 : migrer vers Armbian/mainline (4.9 LTS minimum, 6.6.x actuel).
- Adapterateur secteur sous-dimensionné : exiger du 5 V/4 A, sinon brownouts et cartes SD corrompues.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash