🛠 Maîtriser la chaîne de boot SD/eMMC/SPI NOR et le recouvrement
Objetivos
Comprender y dominar la cadena de arranque específica del ODROID-N2: un interruptor deslizante SW1 selecciona la ruta SPI NOR o eMMC/SD; una memoria flash SPI NOR de 8 MB (Macronix MX25U6435F) puede alojar el U-Boot mainline flasheado mediante flashcp (procedimiento Armbian, u-boot-spi.bin hacia /dev/mtd0). El objetivo: arrancar desde eMMC, mantener la SD como respaldo y saber recuperar una tarjeta que no arranca. Atención a la trampa n.º 1: los pines eMMC D4–D7 están compartidos con el SPI NOR — activar el SPI requiere un DTB dedicado (-spi) y la posición correcta de SW1. Nota: no hay NVMe en N2/N2+ (el almacenamiento rápido pasa por la eMMC extraíble o USB 3.0, ~340 MB/s medidos).
Material
- ODROID-N2/N2+, microSD (respaldo) + módulo eMMC Hardkernel (sistema principal)
- Fuente de alimentación 12 V/2 A; acceso a consola serie mediante el header de depuración de 4 pines (recomendado)
- Imagen Armbian «server» escrita en ambos soportes (balenaEtcher o
dd)
Código completo
# 1. Premier boot sur SD (SW1 en position SD/eMMC), puis installation eMMC :
sudo armbian-install -t emmc # copie le système vers l'eMMC
# 2. (Avancé) Flasher U-Boot mainline dans le SPI NOR — ATTENTION :
# il faut le DTB « -spi » (bus 4 bits) ET SW1 en position SPI.
sudo apt install mtd-utils
fdtget /boot/dtb/amlogic/*.dtb / compatible # vérifier le DTB actif
cat <<'EOF' | sudo tee /boot/armbianEnv.txt
fdtfile=amlogic/meson-g12b-odroid-n2-plus-spi.dtb
EOF
sudo flashcp -v u-boot-spi.bin /dev/mtd0
# 3. Recouvrement : SD de secours insérée, SW1 côté SD/eMMC, alimenter.
# Si l'eMMC est corrompue : booter la SD puis réécrire l'eMMC.
sudo dd if=Armbian.img of=/dev/mmcblk1 bs=4M status=progress oflag=sync
Verificación esperada
Tras armbian-install, retirar la SD y reiniciar: la tarjeta arranca desde la eMMC (verificar lsblk — / en mmcblk1 o equivalente). Con U-Boot en el SPI NOR y SW1 en el lado SPI, la consola serie muestra el banner de U-Boot antes incluso de leer la SD. La recuperación funciona: con la SD de respaldo, la tarjeta reinicia pase lo que pase en la eMMC.
Errores frecuentes
- Olvidar que SW1 precede a todo: posición incorrecta = la tarjeta no ve ni la eMMC ni el SPI, pantalla negra.
- Activar el SPI sin el DTB
-spi: conflicto de pines eMMC/SPI, eMMC ilegible (problema conocido n.º 1 de la tarjeta). - Confundir N2 y N2+: U-Boot anuncia
n2_pluspero el kernel esperan2-plus— Armbian parchea esto, una imagen de terceros puede fallar al arrancar. - Retirar la eMMC con la alimentación conectada: el módulo es extraíble pero no admite conexión en caliente (hot-plug).
- Imagen Android con U-Boot mainline: las imágenes Android requieren el bootloader vendor de Amlogic, no mezclar.
- >
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