🛠 Booter sur NVMe (M.2 PCIe 3.0 x4) et récupérer une carte brique via MaskROM
Objetivos
Instalar el sistema root en un SSD NVMe en la ranura M.2 M-Key (2280, PCIe 3.0 x4, velocidad oficial hasta 2 000 MB/s), dejar el cargador en la SPI NOR para un arranque sin tarjeta SD, y saber cómo restaurar la tarjeta a su estado operativo mediante el botón MaskROM (modo Recovery del RK3588) si el arranque falla. Orden de arranque del RK3588: SPI NOR → eMMC → microSD → USB; el MaskROM fuerza la recuperación por USB.
Material
- Orange Pi 5 Plus + SSD M.2 2280 NVMe + fuente de alimentación de 5 V / 4 A (el NVMe bajo carga añade al presupuesto de corriente)
- Tarjeta microSD de instalación, o imagen del fabricante + RKDevTool bajo Windows para la vía oficial
- Cable USB-C de datos (puerto Type-C de datos, no el de alimentación); botones MaskROM/Recovery/On-Off
Código completo
# 1. Depuis le système sur microSD : détecter le SSD et vérifier le lien PCIe Gen3
sudo fdisk -l | grep nvme # attendre /dev/nvme0n1
sudo dmesg | grep -i "pci.*link.*GT/s" # attendre « 8.0 GT/s PCIe » sur le port M-Key
sudo apt install -y fio
sudo mkfs.ext4 /dev/nvme0n1p1 2>/dev/null || sudo fdisk /dev/nvme0n1
sudo mkdir -p /mnt/nvme && sudo mount /dev/nvme0n1p1 /mnt/nvme
fio --name=nvme --rw=write --bs=1M --size=512M --direct=1 --runtime=30 \
--filename=/mnt/nvme/testfile --group_reporting # ~1500-2000 Mo/s attendus
# 2. Copier le système sur le SSD (méthode Armbian)
sudo apt install -y armbian-config
sudo armbian-install # cible NVMe/SCSI, puis flash SPI-NOR du loader
# (variante vendor wiki §2.6 : dd / RKDevTool ; variante classique : rsync + /etc/fstab)
sudo reboot
# 3. Récupération MaskROM (boot cassé) : carte hors tension,
# maintenir MaskROM, brancher USB-C data vers le PC, relâcher, puis :
sudo apt install -y rkdeveloptool
lsusb | grep -i '2207' # le RK3588 apparaît en « Rockchip USB RAM »
sudo rkdeveloptool ld # liste le périphérique en MaskROM
sudo rkdeveloptool wl 0x0 image-sdcard.img # réécrit la SPI NOR/eMMC selon la cible
sudo rkdeveloptool rd # redémarrage
Verificación esperada
Tras armbian-install y reiniciar sin tarjeta SD, lsblk muestra la raíz en /dev/nvme0n1 y dmesg confirma el enlace a 8.0 GT/s. fio alcanza 1 500–2 000 MB/s en un buen SSD Gen3. En modo MaskROM, lsusb muestra un dispositivo Rockchip (vendor 0x2207) y rkdeveloptool ld lo lista.
Errores frecuentes
- Descargar la imagen OpenWrt incorrecta: la wiki distingue la imagen «SPI flash» de la imagen «TF card, eMMC and NVME SSD boot» — elegir la del medio correcto.
- SSD no detectado: verificar el montaje del módulo (tornillo 2280), realizar un reinicio MaskROM/Power para renegociar el enlace PCIe, probar otro SSD.
- Confundir los dos puertos Type-C: el flasheo con RKDevTool/rkdeveloptool se realiza a través del puerto de datos, no del puerto de alimentación.
- >
Otros tutoriales para esta placa
- Allumer une LED via le GPIO 40 broches (libgpiod)
- Lire un bouton poussoir et afficher dans la console
- Premier script Python : fiche signalétique de la carte et LED
- Variation d'intensité d'une LED avec PWM (sysfs pwm)
- Lire un capteur I2C (BMP280) depuis le bus du connecteur
- Exploiter le double Ethernet 2,5 GbE et sécuriser le SSH
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash