🛠 Démarrer sur un SSD NVMe et récupérer un bootloader cassé

Raspberry Pi 5 (model-5) · avance · Schéma : IMG-model-5-avance-1-model5-a1-boot-nvme-recouvrement.svg — Raspberry Pi 5 avec HAT M.2 et SSD NVMe sur connecteur FPC PCIe, câble USB-C vers un PC pour le mode recouvrement rpiboot

Objectifs

Installer le système sur un SSD NVMe branché sur le connecteur PCIe 2.0 ×1 (FPC) du Raspberry Pi 5, configurer l'ordre de démarrage du bootloader EEPROM, puis savoir remettre un bootloader en état via le mode recouvrement USB (rpiboot) en cas de brique.

Matériel

Code complet

# 1) Activer le contrôleur PCIe côté OS
sudo raspi-config -> Advanced -> PCIe -> Boot Original Firmware
# ou manuellement dans /boot/firmware/config.txt :
grep -q '^dtparam=pciex1$' /boot/firmware/config.txt || \
  echo 'dtparam=pciex1' | sudo tee -a /boot/firmware/config.txt

# 2) Copier le système en cours sur le NVMe (après redémarrage)
sudo apt install -y nvme-cli rsync
lsblk | grep nvme
sudo rsync -aHAXx --info=progress2 / /mnt/nvme/   # NVMe monté, /boot inclus

# 3) Ordre de boot EEPROM : SD -> USB -> NVMe, et sonde PCIe sans HAT+
sudo rpi-eeprom-config --edit
#   BOOT_ORDER=0xf416
#   PCIE_PROBE=1
sudo rpi-eeprom-config | grep -E 'BOOT_ORDER|PCIE_PROBE'

# 4) Recouvrement : bootloader EEPROM effacé/cassé
#   Éteindre, maintenir le bouton PWR_ON, brancher USB-C vers le PC, puis :
sudo rpiboot -d /usr/share/rpiboot/msd
#   La carte apparaît comme lecteur USB : réécrire l'EEPROM avec
#   Raspberry Pi Imager -> Bootloader administration (ou rpi-eeprom-update).

Vérification attendue

Après redémarrage, lsblk montre la racine sur /dev/nvme0n1 et dmesg | grep -i nvme trace l'énumération PCIe. Le démarrage se fait sans carte microSD. En mode recouvrement, lsusb côté PC voit un périphérique « BCM2835 Boot ROM » et le volume MSD apparaît.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels