🛠 Démarrer le CM5 sur un SSD NVMe dans le socket M.2 de la CM5IO

Raspberry Pi Compute Module 5 (compute-module-5) · avance · Schéma : IMG-compute-module-5-avance-1-boot-nvme-m2-cm5io.svg — CM5IO Board avec un SSD NVMe M.2 M-key (2280) vissé dans le socket ; flèches : copie du système eMMC vers NVMe avec rpi-clone, puis écriture de BOOT_ORDER=0xf641 dans l'EEPROM via rpiboot depuis un PC hôte.

Objetivos

El socket M.2 M-key (2230 a 2280) de la CM5IO está conectado al host PCIe Gen 2 x1 (5 Gb/s) del BCM2712, y la documentación oficial considera NVMe como un dispositivo de arranque de primera clase: BOOT_ORDER=0xf6. Este tutorial instala el sistema en NVMe y reprograma la EEPROM del módulo (BOOT_ORDER=0xf641: NVMe, con SD/eMMC como respaldo) mediante el flujo de recuperación usbboot — el único admitido en Compute Module, ya que recovery.bin nunca se ejecuta desde el almacenamiento.

Hardware

Código completo

# --- Côté CM5 : vérifier le SSD puis cloner le système dessus ---
sudo apt install -y nvme-cli git
lsblk | grep nvme                       # nvme0n1 doit apparaître
sudo nvme list
git clone https://github.com/billw2/rpi-clone && cd rpi-clone
sudo ./rpi-clone -f nvme0n1             # copie boot + rootfs vers le NVMe

# --- Côté hôte : reprogrammer l'EEPROM (module en mode recovery, J2 posé) ---
cd usbboot/recovery
cat > boot.conf <<'EOF'
[All]
BOOT_ORDER=0xf641
EOF
./update-pieeprom.sh
sudo ../rpiboot -d .                    # écrit l'EEPROM (EEPROM_nWP non verrouillé)

# --- Retour sur le CM5 : retirer J2, alimenter, vérifier la racine NVMe ---
lsblk -o NAME,SIZE,MOUNTPOINT | head
df -h /

Verificación esperada

Tras retirar el jumper y reiniciar, df -h / y lsblk muestran la raíz en /dev/nvme0n1p2; cat /proc/cmdline contiene root=/dev/nvme0n1p2; el arranque sigue siendo posible mediante respaldo SD/eMMC si se retira el NVMe (último nibble 1). vcgencmd bootloader_version refleja la nueva compilación.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales