🛠 Booter sur NVMe, eMMC ou SD et récupérer une carte bloquée

ODROID-M1 (Hardkernel) · avance · Schéma : IMG-odroid-m1-avance-1-odroidm1-boot-nvme.svg — les trois supports de démarrage de l'ODROID-M1 (microSD, module eMMC, SSD M.2 NVMe), le switch SPI Boot Select et la puce SPI NOR 16 Mo avec Petitboot

Objetivos

Instalar el sistema en el SSD NVMe M.2 (PCIe 3.0 x2, aproximadamente 1600 MB/s medidos a la salida) y dominar la cadena de arranque particular del M1: Boot ROM RK3568, flash SPI NOR de 16 MB precargada con Petitboot y conmutador físico SPI Boot Select. También saber cómo volver atrás (SD de respaldo).

Material

Código completo

#!/usr/bin/env bash
set -euo pipefail
# 1) Démarrer sur la SD, vérifier que le NVMe est vu (nvme0n1)
lsblk -o NAME,SIZE,MODEL,TRAN
sudo apt-get install -y nvme-cli && sudo nvme list

# 2) Copier le système SD vers le NVMe avec le bootloader
sudo armbian-install -o current -t nvme

# 3) Éteindre, mettre le switch SPI Boot Select en position SPI,
#    retirer la SD, rallumer : Petitboot propose l'entrée NVMe.
sudo poweroff

# Récupération : switch en position non-SPI + SD Armbian neuve
# -> la carte reboote sur la SD, le NVMe reste lisible pour diagnostic.

Verificación esperada

Tras retirar la SD, el sistema arranca en /dev/nvme0n1 (df -h /, lsblk muestra la raíz en nvme0n1); una lectura con dd alcanza varios cientos de MB/s, coherente con PCIe 3.0 x2.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales