🛠 Boot eMMC/microSD et récupération
Objetivos
Instalar correctamente el sistema del ODROID-XU4, comprender el arranque dual entre microSD y módulo eMMC (el puerto eMMC funciona a 8 bits HS400 200 MHz bajo mainline — mucho más rápido y duradero que una tarjeta SD), migrar de un soporte a otro y saber recuperar una tarjeta que ya no muestra nada.
Material
- ODROID-XU4, módulo eMMC Hardkernel (16/32/64 GB) y/o microSD
- Adaptador eMMC-USB o una segunda tarjeta SD para el arranque de emergencia
- Imagen Armbian odroidxu4 (U-Boot mainline, odroid-xu4_defconfig — sin blobs propietarios)
Código completo
# 1) Graver l'image Armbian sur la microSD (verifier 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,
# demarrer dessus, puis diagnostiquer ; en dernier recours la console
# serie 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
Verificación esperada
Tras la migración, lsblk muestra la raíz en el dispositivo eMMC y dmesg | grep -i mmc menciona un modo HS400 o HS200. El arranque sin microSD funciona. Una recuperación con dd revive una tarjeta SD «muerta».
Errores frecuentes
- Escribir en el dispositivo equivocado con dd: siempre verificar con
lsblkantes, el dispositivo cambia al conectar el adaptador eMMC. - Dejar la SD puesta tras la migración: la tarjeta puede arrancar desde ella en lugar de desde el eMMC.
- Usar una imagen arm64: el Exynos5422 es ARMv7 de 32 bits únicamente, usar la imagen odroidxu4 (armhf).
- Quedarse en un kernel vendor antiguo 3.10: migrar a Armbian/mainline (4.9 LTS como mínimo, 6.6.x actual).
- Adaptador de corriente insuficiente: exigir 5 V/4 A, de lo contrario se producen caídas de tensión y tarjetas SD corruptas.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash