🛠 Booter sur un SSD NVMe et récupérer une carte bloquée (MaskROM)

Orange Pi 3B (Rockchip RK3566) · avance · Schéma : IMG-orangepi-3b-avance-1-opi3b-boot-nvme.svg — Orange Pi 3B avec SSD NVMe dans le slot M.2, ordre de boot SPI NOR → eMMC → microSD → USB et touche MaskROM

Objectives

Install the system on an NVMe SSD in the M.2 M-Key slot (the RK3566 boots via a small loader written to the 16/32 MB SPI NOR, while the rootfs remains on the SSD) and know how to restore the board to MaskROM mode if the bootloader is corrupted.

Hardware

Complete code

# 1. Depuis Armbian sur microSD : vérifier que le kernel voit le SSD (slot &pcie2x1 activé)
sudo fdisk -l | grep nvme             # attendu : /dev/nvme0n1
sudo dmesg | grep -i "pci.*link.*Gen" # attendu : "2.5 GT/s PCIe" (Gen2 x1)

# 2. Benchmark de cohérence (attendu ~300-450 MB/s, pas 3000+)
sudo apt install fio
fio --name=nvme --rw=write --bs=1M --size=256M --numjobs=1 --direct=1 \
    --filename=/mnt/ssd/testfile --runtime=30 --group_reporting

# 3. Copier le système en cours sur le SSD (écrit le chargeur en SPI NOR puis le rootfs en NVMe)
sudo apt install armbian-config
sudo armbian-install                # cible "NVMe", puis redémarrer sans la microSD

# 4. Recouvrement : carte qui ne boote plus
#   Éteindre -> maintenir la touche MaskROM -> brancher l'USB-C vers le PC -> RKDevTool
#   détecte « Found OneDevice » (USB 2.0 device) : réécrire mini-loader / uboot puis
#   effacer la SPI NOR, ou reflasher eMMC, puis rebooter sur microSD propre.

Expected verification

After armbian-install and rebooting without the microSD card: lsblk shows / on /dev/nvme0n1, uname -a starts, and the boot follows the RK3566 ROM order: SPI flash → eMMC → microSD → USB. In MaskROM mode, lsusb (Linux) lists a "Rockchip USB Peripheral" device.

Common errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials