Accueil » Raspberry » Guides Raspberry pi » Comment configurer le boot PCIe NVMe sur Raspberry pi 5?
Guides Raspberry pi

Comment configurer le boot PCIe NVMe sur Raspberry pi 5?

guide-comment-activer-boot-port-pcie-nvme-raspberrypi5

Le Raspberry pi 5 est le dernier né de la fondation Raspberry Pi. Nous l’avions vu au lancement puis à notre première prise en main, ce Raspberry pi 5 au-delà de proposer plus de puissance, propose également un port PCIe qui permet alors de connecter un disque SSD sans passer par le port USB.

Voyons alors dans ce nouveau guide autour du Raspberry Pi 5, comment activer ce port et démarrer dessus pour se passer de la carte SD, bonne pour les tests, mais pas sur la durée.

Quel SSD NVMe pour le Raspberry pi 5?

Mes tests ont montré que tous les SSD NVMe ne sont pas toujours compatibles avec le raspberry Pi 5. En tout cas selon le HAT utilisé, il semble que tous les SSD ne sont pas supportés. Mes tests ont été concluants avec la gamme de SSD EMTEC ci-dessous, je vous recommande alors d’opter pour un de ces SSD afin d’éviter les surprises.

24,89€
En stock
10 neufs à 22,05€
dernière maj 15 avril 2024 12 h 17 min
40,58€
En stock
16 neufs à 40,01€
dernière maj 15 avril 2024 12 h 17 min
78,20€
En stock
16 neufs à 78,20€
dernière maj 15 avril 2024 12 h 17 min

Il vous faudra également un lecteur de SSD NVMe pour le connecter à l’ordinateur. Personnellement, j’utilise ce boîtier très pratique qui est polyvalent qui me permet de préparer un SSD NVMe depuis un Mac (ports USB-C) ou un PC Windows avec les classiques ports USB-A.

Par où commencer ? Préparer le support stockage

Avant de pouvoir démarrer Raspberry Pi OS sur un SSD au travers du port PCIe du Raspberry Pi, il y a un peu de configuration à effectuer. Par défaut, il n’est pas immédiatement possible d’effectuer le premier démarrage du Rpi5 sur un SSD connecté au port PCIe. Tout simplement car le port n’est pas activé sur le Raspberry Pi 5 en sortie d’usine. Il va donc falloir effectuer un premier démarrage de paramétrage via une carte SD.

Préparez alors une carte SD avec Raspberry Pi OS ainsi que le SSD M2 en utilisant le logiciel officiel Raspberry Pi Imager. Autre point important, utilisez bien la dernière version de Raspberry Pi OS (Bookworn) pour suivre ce guide.

Démarrez alors le Raspberry Pi 5 sur carte SD dans un premier temps pour effectuer quelques paramètres nécessaires à l’activation de la prise en charge du port PCIe et du SSD NVMe.

Notez qu’il est aussi possible d’utiliser un disque SSD en USB pour démarrer et configurer le Raspberry pi 5 pour le port PCIe, le boot USB étant nativement actif sur le Raspberry pi 5.

Mettre à jour le firmware du Raspberry Pi 5

Première chose, comme souvent avant de faire quoi que ce soit au niveau du système, il faut effectuer les mises à jour systèmes et contrôler la version de l’eeprom. Pour cela rien de compliqué, déroulez simplement les commandes ci-dessous.

sudo apt update
sudo apt upgrade
sudo rpi-eeprom-update

Si la dernière commande “rpi-eeprom-update” retourne la présence d’une version plus récente disponible, effectuez la mise à jour, car sans cela il est possible que la version actuelle ne permette pas le boot via le port pcie.

Appliquez alors la mise à jour vers le nouveau firmware via l’outil raspi-config qui se lance à l’aide de la commande suivante :

sudo raspi-config

1. Une fois raspi-config lancé, rendez-vous dans Advanced option.

2. Naviguez ensuite dans le menu Bootloader version

3. Appliquez ensuite la dernière version via l’option E1.

Activer le port pcie dans le fichier config.txt

La première étape étant maintenant effectuée, passons maintenant à l’activation du port PCIe du Raspberry pi5.

1. Pour cela, lancez une fenêtre terminale et déplacez-vous dans le répertoire /boot/firmware/ puis éditez le fichier config.txt

cd /boot/firmware/
sudo nano config.txt

2. Ajoutez ensuite dans le fichier config, les deux lignes suivantes :

dtparam=pciex1
dtparam=nvme

Si vous disposez d’un SSD Gen3, il est aussi possible d’activer cette option pour de meilleures performances, même si c’est encore expérimental. Pour cela, remplacez la ligne dtpara=pciex1 par la ligne ci-dessous :

dtparam=pciex1_gen=3

3. Votre fichier config.txt doit alors ressembler à cela :

4. Il ne reste plus qu’à sauvegarder la nouvelle configuration avec la séquence de touche Ctrl+O puis Ctrl+X.

Modifier l’ordre de démarrage pour boîtier sur le port pcie en premier

Pour terminer, retournons sous l’outil raspi-config et passons le boot sur le port PCIe en première position.

1.Une fois sous l’outil raspi-config, rendez-vous dans Advanced Options.

2. Naviguez jusqu’au menu Boot Order.

3. Puis choisissez l’option B2 pour donner la priorité au boot sur le port PCIe.

4. le système vous confirme votre configuration.

5. Il ne reste plus qu’à appliquer les changements définitivement avec un redémarrage qui vous est proposé par l’outil.

Il est à présent temps de retirer la carte SD et connecter le SSD NVMe au module HAT du Raspberry Pi connecté au port PCIe et magie, le Raspberry Pi 5 boot enfin sur le SSD !

Dans mon cas, j’utilise le module HAT Geekworm X1001 ci-dessous que nous aurons l’occasion de découvrir plus en détail très prochainement. À vous de jouer les amis !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

10 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Bonjour et merci pour ce tuto qui fonctionne à merveille. Pour apporter ma pierre à l’édifice, j’ai installé un ssd Sabrent 500Go gen4 qui fonctionne très bien.
    A signaler que le boitier d’origine n’est pas compatible.
    Sur le lien commercial est proposé le boitier qui va bien, donc à commander en même temps que le Hat de préférence.
    Le temps de reboot est plus court et les accès disques sont bien améliorés. Même si le prix augmente fortement, le RPI devient une très belle alternative.

  • Hello !

    J’ai deux questions, je ne sais pas si vous pouvez me répondre.

    Un samsung 990 PRO 1 To est compatible ? Ou il y a meilleur que celui ci ?

    Jeedom n’est toujours pas compatible avec le pi5 ?

    Bonne soirée

      • Bonjour,
        Merci pour ta réponse 🙂
        Je pense que je vais me laisser tenter par cet adaptateur M2, en espérant que ça tienne dans le boitier pi 5 officiel rouge (ça c’est autre chose..)
        Est ce que tu penses qu’il y a des différences avec les autres adaptateurs M2 du marché ? (niveau perf / compatibilité)
        Pour Jeedom, si tu as des news, je suis preneur 🙂
        Bonne journée

      • Cet adaptateur est très bon, vu le prix, rien à redire. je n’utilise pas le boitier officiel, mais un boitier alu dans lequel le module et le disque + ventilateur, tout rentre sans probleme.
        Pour jeedom, j’ai discuté avec l’équipe ce matin, ce n’est pas encore supporté nativement.

  • Merci pour le tuto
    Test avec :
    – Geekworm X1001 M.2 Key-M NVMe SSD Shield
    – Lexar NM610PRO SSD, M.2 2280 PCIe Gen3x4 NVMe 1.4 SSD

    J’ai réalisé l’install de PI OS Lite 64bits sur la carte SD
    J’ai réalisé les modifications du tuto puis installé l’OS depuis Pi Imager sur le NVME

    Au boot (avec et sans la carte SD)
    – j’ai comme première ligne, le pcie en link down (ce qui laisse penser à un pb avec le support NVME ou le NVME lui même)
    – j’ai ensuite :
    “Gave up waiting for root file syste device. Common problems :
    – Boot args (cat /proc/cmdline)
    – Check de rootdelay= (did the system wait long enough?)
    – Missing modules (cat /proc/modules; ls /dev)
    ALERT ! PARTUUID=45aeef01-02 does not exist. Dropping th a shell!”

    Puis j’ai l’invite de commande “(initramfs)”

    A noter qu’avant ces lignes, il repette quelques dizaines de fois :
    “Begin: Running /script/local-bloc … done.”

    le résultat du “cat /proc/cmdline” :
    reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pci_bus_safe snd_bcm2385.enable_compt_alsa=0 snd_bcm2385.enable_hdmi=1 smsc95xx.macaddr=2C:CF:67:1C:B1:7F cv_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x400000000 console=ttyAMA10.115200 console=tty1 root=PARTUUID=45aeef01-02 rootfstype=ext4 fsck.repai=yes rootwait systemd.run=/boot/firstrun.sh systemd.run_sucess_action=reboot sustemd.unit=kernel-command-line.target

    le résultat du “cat /proc/modules; ls/dev”
    spidev ….
    spi_bcm2835 …
    i2c_brcmstb ….
    gpio_keys ….

    autofs fb0 loop-controle pts ttyAMA10
    block fd loop (0 à 7) ram (0 à 15) ttyprintk
    bus full mem random urandom
    cachefiles gpiochip (0 à 4) mmcblk0 rtc vc-mem
    char hidraw0 mmcblk0p1 rtc0 vcio
    console hwrng mmcblk0p2 serial0 vcs…
    cpu_dma_latency input null spidev10.0 vga_arbiter
    disk kmsg port stderr/in/out watchdog
    dma_heap kvm ptmx tty0 à 63 zero

    Pourquoi ne boot-il pas au moins sur la carte SD ?
    Quelqu’un saurait comment corriger la situation ?

    • le pb semble venir du hat.
      – pas de problème en bootant qu’avec la carte SD (j’en profite pour remettre la SD en premier support de boot)
      – pas de problème avec la carte NVME via usb

      le problème n’est présent qu’avec le hat et le boot principal sur le support NVME qui est installé dessus.

      • Quand j’ai eu ce genre de pb, cela venait du bootloader pas à jour. Une fois le firmware à jour et activation du port PCIe, le boot sur le HAT était OK.
        C’est peut être aussi la nappe, mal connectée sinon.

  • Est ce possible de garder la microsd en boot principal et le ssd en secondaire de telle sorte que le rp5 essaye de booter sur la microsd, mais si aucune n est presente dans le lecteur, il boot sur le ssd?

    Je pose cette question car j ai des microsd avec differentes choses dessus (recalbox, android, retropie) , j aimerais garder la possibilite de pouvoir switcher de l un a l autre facilement sans devoir modifier la config du boot a chaque fois

construction et domotique
promos domotique
Choix box domotique
promos domotique

Quel SSD NVMe pour le Raspberry pi 5?

Mes tests ont montré que tous les SSD NVMe ne sont pas toujours compatibles avec le raspberry Pi 5. En

Par où commencer ? Préparer le support stockage

Avant de pouvoir démarrer Raspberry Pi OS sur un SSD au travers du port PCIe du Raspberry Pi, il y

Mettre à jour le firmware du Raspberry Pi 5

Première chose, comme souvent avant de faire quoi que ce soit au niveau du système, il faut effectuer les mises

Activer le port pcie dans le fichier config.txt

La première étape étant maintenant effectuée, passons maintenant à l’activation du port PCIe du Raspberry pi5.

Modifier l’ordre de démarrage pour boîtier sur le port pcie en premier

Pour terminer, retournons sous l’outil raspi-config et passons le boot sur le port PCIe en première position.

  • Quel SSD NVMe pour le Raspberry pi 5?
  • Par où commencer ? Préparer le support stockage
  • Mettre à jour le firmware du Raspberry Pi 5
  • Activer le port pcie dans le fichier config.txt
  • Modifier l’ordre de démarrage pour boîtier sur le port pcie en premier