🛠 Installer et booter le système sur un SSD NVMe (M.2 M-Key)
Objetivos
Aprovechar el slot M.2 M-Key 2280 de la ROCK 3B — eléctrico PCIe 3.0 x2 (confirmado por el device tree mainline que activa el controlador pcie3x2; la «x1» del artículo de CNX es una errata, su propia lista de especificaciones indica x2) — para instalar Radxa OS en un SSD NVMe y arrancar desde él. También verá la recuperación en modo MaskROM cuando el bootloader está dañado.
Hardware
- Radxa ROCK 3B (2/4/8 GB), SSD M.2 2280 NVMe (un modelo de gama de entrada es suficiente: el enlace x2 Gen3 alcanza ~1,6 GB/s)
- Fuente de alimentación USB-C PD 12 V / 2 A, microSD para el arranque inicial
- PC con Linux con
rkdeveloptool(o Windows + RKDevTool) para el modo MaskROM; cable USB-C de datos
Código completo
# 1. Depuis Radxa OS sur microSD : vérifier vue et vitesse du lien
sudo lspci -vv | grep -A2 -i nvme # attendu : LnkSta Speed 8GT/s (Gen3), Width x2
sudo fdisk -l | grep nvme # /dev/nvme0n1
# 2. Écrire une image système directement sur le NVMe (depuis le PC) :
# balenaEtcher / Rufus / dd ciblent /dev/nvme0n1 — voir docs « Install the
# system to NVME » ; le chargeur U-Boot est posé sur la SPI NOR de la carte.
sudo dd if=radxa-os.img of=/dev/nvme0n1 bs=4M status=progress conv=fsync
# 3. Benchmark (DÉTRUIT les données du disque cible — SSD vierge uniquement)
sudo apt install fio
sudo fio --name=nvme --rw=randrw --bs=4k --size=512M --runtime=30 \
--filename=/dev/nvme0n1 --ioengine=libaio --direct=1 --group_reporting
# 4. Recouvrement si la carte ne boote plus (MaskROM) :
# éteindre -> maintenir la touche de recovery -> USB-C vers le PC ->
# lsusb : « Rockchip USB Peripheral » ; puis rkdeveloptool ld / wl / rst.
# Si le bootloader SPI est vérouillé : page docs « Clear SPI Flash manually ».
Verificación esperada
Tras reiniciar sin microSD: lsblk muestra / en /dev/nvme0n1, lspci muestra el enlace a 8 GT/s con ancho x2, y fio supera ampliamente a SATA (hasta ~1,5 GB/s en secuencial según el SSD). En MaskROM, lsusb lista el dispositivo Rockchip y rkdeveloptool ld responde.
Errores frecuentes
- SSD SATA en el slot M-Key (es un slot NVMe/PCIe; SATA está en el socket B-Key para cellular) — verificar el formato 2280.
- Esperar 3,5 GB/s: el enlace es PCIe 3.0 x2, no x4 — la mitad del ancho de banda.
- El modo MaskROM es caprichoso en esta placa (comentarios en foros): insista en el timing del botón + USB, repita la operación con la placa apagada y, como último recurso, siga la página oficial «Clear SPI Flash manually».
- Olvidar que el cargador reside en la SPI NOR: formatear el SSD sin reescribir la imagen completa deja la placa muda.
dden el disco equivocado: verificarlsblkantes, la escritura es destructiva.
Otros tutoriales para esta placa
- Faire clignoter une LED via le GPIO avec libgpiod
- Lire un bouton poussoir en Python avec python3-libgpiod
- Premier réseau : Ethernet double gigabit, Wi-Fi optionnel et SSH
- Interroger un capteur I2C sur le connecteur 40 broches
- Surveiller température et fréquence CPU, piloter le ventilateur PWM
- Routeur / passerelle réseau double Gigabit avec OpenWrt et PoE
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash