Booter un Raspberry sur une clé USB ou un Disque Dur

RPi_USB

Si vous êtes un bidouilleur et vous utiliser régulièrement un Raspberry Pi, vous avez du surement au moins une fois se heurter au probleme de la carte SD qui ne répond plus ! Et oui, durée de vie de la carte SD, et toute autres mémoire flash, dépende de son nombre de cycles d’écriture. Au repos, les cartes SD dépourvues d’alimentation propre ont pour une durée de vie plus de 100 ans. Mais en écriture, elles nécessitent l’application d’une tension électrique supérieur à celle nécessaire à la lecture. Bref.. cette durée de vie dépend du nombre de cycles d’écriture.

  • pour une carte SD elle est d’environs 10 000 cycles
  • pour une clé USB elle est d’environ 100 000 cycles
  • pour un disque SSD elle est de plus de 100 000 cycles

(donnée moyenne pour matériel MLC (Multi Level Cell) soit 2 bits de données par cellule)

Alors pourquoi de n’est pas booter sur clé USB ou disque SSD ce qui peut être une bénédiction pour les systèmes ayant de nombreuses lectures écritures (Jeedom, Domoticz, Serveur HA-Bridge, LAMP, LMS etc…). L’avantage est de supporté les vitesses de transferts propres à l’USB 2, le système est bien plus réactif que sur une simple carte SD et éviter les problèmes  de système se corrompu.

Matériels nécessaire:

Procédure pour un Raspberry Pi 3.

  1. Mise à jour de la framboise
    1
    
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get update && sudo apt-get upgrade
  2. Reprogrammer OTP (One-Time Programmable)
    1
    
    echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
    echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
  3. Redémarrer avec
    1
    
    sudo reboot
    sudo reboot
  4. Verifier si le changement a bien été pris en compte
    1
    
    $ vcgencmd otp_dump | grep 17:
    $ vcgencmd otp_dump | grep 17:
  5. Si 17:3020000a s’afficher alors c’est bon 😉
  6. Arrêter votre RPi
  7. installer une image vierge de Raspbian sur votre Clé USB
    ou
    installer une copie de sauvegarde de votre carte SD sur votre clé USB
  8. brancher la clé sans la carte SD et démarrer votre RPI
  9. Le démarrage est un peu plus long mais une fois fait, ça ronronne…

Pour un Raspberry Pi 1 et 2 essayer une mise a jour de firmware avec
sudo rpi-update puis continuer avec les étapes cité plus haut.
si cela ne fonctionne pas télécharger, installer sur une carte SD le fichier bootcode.bin et démarrer votre RPI pour modifier le firmware.

PS: On peut raccourcir le délai de boot sur USB en insérant une carte micro SD vierge.

J’ai fait tourner sur USB un serveur HA-Bridge, mon LSM et bientôt je vais faire passer mon Jeedom sur un SSD.
mes système désormais sont bien plus réactif que sur une simple carte SD, que du bonheurs 😉

Attention, tous les clé USB ne sont pas compatible, ci joint  les clés testées.

Matériels compatible.

Gearbest Clé USB 32 Go
Clé USB 32 Go

Gearbest Clé USB 64 Go
Clé USB 64 Go

Gearbest Disque SSD 120 GBDisque SSD 120 GB

 

 

12 réflexions au sujet de « Booter un Raspberry sur une clé USB ou un Disque Dur »

  1. Bonjour
    Cela fonctionne impecablement. Merci pour ce tuto.
    Penser cependant à vérifier que /boot est bien positionné sur la clé USB (ou le SSD dans mon cas) dans le fichier /etc/fstab.

  2. bonjour,

    merci pour le tuto

    petite question : si on laisse la carte microSD et on branche également la clé USB, sur quelle périphérique le rapsberry va démarrer ?

    merci

  3. Bonjour !
    Tout d’abord, merci pour ce tuto !
    Je souhaiterai passer sur clé USB mon Jeedom qui est installé sur une micro carte de 8 Go géré par un Pi3.
    Mais comme je ne suis pas un expert dans le domaine, je préfère poser quelques questions !
    Si je comprends bien, les étapes 1 à 6 seront faites avec la carte SD actuellement installée dans mon Pi3.
    C’est à partir de l’étape 7 que je ne comprends pas bien:
    Étape 7: j’installe une image vierge de raspbian (stretch light actuellement)
    Étape 8: brancher la clé sans la carte SD: alors on ne se sert pas de ce qui a été fait dans les étapes 1 à 6 ??
    Autre choix:
    Etape 7: installer une copie de sauvegarde de votre carte SD sur votre clé USB: On parle bien ici d’installer une image de la carte SD ? (faite avec Win32DiskImager ou Etcher, par ex)
    Si c’est cela, et avec le second choix, mon Jeedom sera opérationnel de suite ?

    C’est peut être des questions idiotes, mais avant de faire une bêtise…
    En vous remerciant de votre aide,
    Cordialement,
    Philippe

    Etape 7:

    • Bonjour,
      L’étape a 1 à 6 permet d’activer le multiboot sur RPi. Il peut être fait avec n’importe quelle carte SD.
      Les étapes 7 à 9 installe une nouvelle distribution sur la clé USB.
      Pour transferer ton Jeedom il faut que tu fasse 1 à 6.
      tu clones ton SD avec Win32DiskImager par exemple
      attention à la taille si besoins (USB > SD) tu dois redimensionner ta partition sur la clé, si non tu va te retrouver avec seulement 8 Go sur une clé plus grande.
      après tu insères ta clé USB avec Jeedom cloné et tu démarre ta Framboise (sans la SD).

      • Bonsoir,

        Merci beaucoup pour vos réponses!!
        OK, je n’avais pas compris que l’activation du multiboot se faisait sur le RPi et non sur la carte SD !!
        OK pour graver une image de mon Jeedom sur la clé USB. Dans ce cas, pas besoin d’installer une nouvelle distribution sur la clé.
        J’ai une clé de 8 Go, donc pas besoin de redimensionner la partition ! Je fais le test avec cette clé. Mais merci pour cette remarque qui me servira si je veux passer sur une clé de plus grande capacité !

        Je me lance de suite dans l’aventure !!
        Je vous tiendrai au courant du résultats !!

        Merci encore pour votre aide !!
        Philippe

        • Bonsoir,

          Retour d’expérience :
          Ça marche nickel !! Plus de carte SD !
          Merci beaucoup pour votre tuto et vos explications ! je ne devrai plus avoir de plantage comme c’était le cas avec les cartes SD.

          Pas contre suite au redémarrage du Pi3, la led verte clignote sans arrêt !
          Elle n’est plus représentative de l’activité de jeedom me semble t il.
          J’ai trouvé un tuto pour l’éteindre:

          En SSH, j’ai suivi ceci:
          Enter these commands into terminal:

          mount -o remount,rw /
          mount -o remount,rw /boot
          nano /boot/config.txt

          At the bottom of /boot/config.txt add this:

          # Disable the ACT LED.
          dtparam=act_led_trigger=none
          dtparam=act_led_activelow=off

          CTRL + X, then Y, then enter, reboot the pi. No more LED.

          Et ça à fonctionné, plus de led verte allumée !

          Si cela peut servir à d’autre, tant mieux !

          Encore merci pour votre aide.
          Philippe

  4. Bonjour ,
    j’ai une petite question , peut on revenir en arriére de cette procédure ? une fois que le boot est sur la clé USB et que l’on veut remettre une carte SD en boot comment on fait ? si on enlevé la clé USB le boot se fera automatiquement sur la carte SD ou faut il faire d’autres manipulations ?

    Merci d’avance pour vos futures réponses

    Patrice

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *