Publié le 26 juillet 2017 - par

Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3

La Fondation a dû avoir les retours sur les dégâts que le  Raspberry Pi occasionne aux cartes SD. C’est sans doute pour pallier à ce problème qu’elle a développé des moyens de s’affranchir de la carte SD, le maillon faible du Raspberry. Dyox vous propose ce tutoriel pour éliminer la carte micro SD du Raspberry Pi.

Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3

Nous devons cet article à Jean-François (@dyox), lecteur assidu et attentif du blog, et participant actif au forum framboise314. Il a publié ce tutoriel il y a quelques jours sur le forum.

[stextbox id=’info’ caption=’Lexique’]OTP : One-Time Programmable
MSD : Mass Storage Device (pour dire disque dur ou clé USB)
DD : Disque Dur[/stextbox]

Si c’est une nouvelle installation :Sinon, il faut refaire une image complète de la carte micro SD pour la mettre sur le MSD.

Les prérequis

  • Un Raspberry Pi 3 (BCM2837)
  • Une version de Raspian >= 2017-04-10 (actuellement 2017-07-05)
  • Le nouveau bootcode.bin pour les Raspberry Pi (BCM2835), Raspberry Pi 2 (BCM2836) et si la méthode conventionnelle pour le Raspberry Pi 3 ne fonctionne pas.

Nota : Le tutoriel qui suit concerne le Raspberry Pi 3 avec une nouvelle installation de Raspian, en l’occurrence la version du 2017-07-05.

Tutoriel

Sur PC (pour ma part sous Windows) :

  1. Installez Raspian sur la SD ET ensuite sur le MSD avec la procédure conventionnelle.
  2. Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt de la carte SD. Pour cela, aucune difficulté. Bien que la SD possède au moins 2 partitions, seule la 1ère (la partition de boot), qui est en FAT32, est accessible sous Windows et donc le fichier config.txt peut être modifié sous Windows
  3. Démarrer le Raspberry Pi avec la carte microSD et on vérifier tout de suite la modification du registre 17 de l’OPT :
    $ vcgencmd otp_dump | grep 17
    17:3020000a  la réponse doit être cette valeur, sinon il est inutile de continuer

On peut maintenant effacer ou commenter la ligne program_usb_boot_mode=1

Vous pouvez éteindre le Raspberry Pi et enlever la carte micro SD.

Branchez le MSD et démarrez le Raspberry Pi. Si le MSD est compatible, on boote dessus. Le temps de démarrage se situe entre 5 et 10s.

Les résultats


Pour ma part, cela fonctionne avec un -très vieux- DD 2,5 » 40Go (Momentus, 0,47A) PATA branché sur hub alimenté car directement sur le Raspberry Pi il « gratte », même avec son cordon double USB. Et je n’ai pas besoin de ralentir la séquence de boot (voir plus loin).

Si cela ne fonctionne pas pour vous voir la section dépannage.

Voilà c’est fini ! Votre Raspberry Pi peut maintenant booter sur USB et LAN, en plus de la micro SD bien sûr ! Si celle-ci est présente, elle reste prioritaire lors de la séquence de boot.

Dépannage

  • Si cela ne fonctionne pas, essayez d’étendre la durée d’initialisation du MSD (5s au lieu de 2s) avec l’option program_usb_timeout=1 dans le config.txt.
  • Augmentez l’intensité des ports USB avec l’option max_usb_current=1 dans le config.txt (1200mA au lieu de 600mA) pour un DD. Inutile car automatique sur la v3 !
  • Essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une carte microSD formatée en FAT32. Si cela ne fonctionne toujours pas, ajoutez un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s.
  • Si cela ne fonctionne toujours pas, alors le MSD n’est pas compatible.

Astuces

On peut raccourcir le délai de boot sur MSD en insérant une carte micro SD vierge (5s de gagnées)

Si le MSD est une clé USB, pensez à utiliser le système de fichier F2FS.

Pour en savoir plus

Lisez les articles pointés par des liens dans les sources, tout est bien documenté et expliqué en particulier sur https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/README.md

Pour info

Mes clés OCZ ATV USB2 32Go et INTEGRAL USB2 32Go (ci-dessus) n’ont pas fonctionné

Par contre cette clé Transcend 16 Go a fonctionné sans « artifice », comme mon DD.

Sur les Pi 1 et 2 et la manip du bootcode.bin modifié (pas besoin du fichier timeout ) :
Cette clé fonctionne, mes précédentes clés, toujours pas… et mon DD a toujours besoin de son hub.
Le boot sur le Raspberry Pi 3 avec NOOBS sur ma clé USB Transcend fonctionne également.

Bon maintenant, j’ai besoin de motivation :mrgreen:
L’objectif est de modifier rpi-clone pour que le clonage se fasse sur MSD et si c’est une clé qui est détectée, celle-ci sera formatée en F2FS.

Conclusion

L’article sur le boot du Raspberry Pi 3 que j’avais publié en août 2016 n’est plus d’actualité car la Fondation a fait évoluer les méthodes de boot pour tous les Raspberry Pi.

Merci à Jean-François @dyox pour ce tutoriel publié sur le forum framboise314 🙂 et dont il a autorisé la reprise sur le blog, afin qu’un maximum de lecteurs en profite.

Bien entendu si @dyox aboutit dans sa modification de rpi-clone, les pages de framboise314 lui sont ouvertes 😀

Si vous utilisez la méthode de Jean-François, n’hésitez pas à signaler dans les commentaires ci-dessous les modèles de clés, disques durs… qui fonctionnent et ceux qui restent récalcitrants malgré vos efforts.

Sources

Bootez votre Raspberry Pi 3 sur une clé USB

 

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

151 réflexions au sujet de « Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3 »

    1. dyox

      Bonjour et merci Pascal,
      Concernant votre lien, le tuto date du 16/05/2017, et il manque la version de Raspian en tant que prérequis. Si c’était la version 2017-04-10, mon tuto aurait été applicable car seules les versions >= 2017-04-10 fonctionnent. Je l’avais marqué dans les prérequis mais François a décidé de le faire sauter, étant donné que je pars sur une nouvelle installation.
      Et c’est pourquoi j’affectionne particulièrement la section « prérequis » dans les tutos. Nous avons une vision chronologique du déroulement, quelles versions ont été utilisées… Cela évite bien des surprises !
      La différence avec la nouvelle méthode est que celle-ci permet de s’affranchir complètement de la SD (au détriment de 5s supplémentaires). De plus il est évident qu’elle est extrêmement simple. La Fondation a fait de l’excellent travail !

      Voici en plus quelques clés compatibles
      https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/

      Répondre
      1. François MOCQ Auteur de l’article

        oups désolé pour la modif je n’avais pas fait attention
        j’ai rajouté l’info pour la version 🙂
        et mea culpa c’est vrai que j’indique rarement quelle version j’ai utilisée

        Répondre
  1. Bruno

    Bonjour,
    Tout grand merci pour cet article à vous et à Jean-François.
    Je souhaiterais un peu d’explication sur ce que vous entendez lorsque vous parlez de la méthode conventionnelle quand celle-ci est appliquée au MSD ? J’ai essayé d’écrire un fichier img vers mon DD mais celui-ci n’apparaît pas.
    Il faut qu’il soit formater en Fat32 ?
    Bruno

    Répondre
  2. Seb

    Bonjour,
    Etes vous sûr que booter sur l’usb réduit le risque de corruption ?
    D’après ce que j’ai pu lire, les clés USB sont aussi sensibles à l’usure et aux corruptions (lors de coupure de courant) que les cartes SD.
    F2FS semble avoir une meilleure gestion de l’usure.
    Les seules solutions vraiment fiables seraient de passer le système en read only (avec tmpfs comme OpenEnergyMonitor ou overlayFS comme Domoticz). On peu passer en RW une fois par jour pour y écrire les données et la remettre ensuite en RO.

    Répondre
    1. dyox

      Merci Seb, j’attendais avec impatience cette réflexion. 🙂 Il est sûr que si le MSD est une clé est que celle-ci n’est pas « retravaillée » et est donc l’image de la SD, on reporte le problème de la SD sur la clé… Je pense quand même la clé légèrement plus résistante mais ce n’est que mon ressenti/fantasme !
      Je pense aussi que la Fondation à proposer le boot usb pour principalement brancher un DD. Cela renforce leur idée que la Pi peut être considérée comme un mini-ordinateur, pouvant se subsituer à un pc pour des petites tâches. Peut-être aussi une valeur ajoutée pour papie/mamie, cela fait plus sérieux !
      Si j’étais vendeur de matériel, je me lancerai sur le créneau : vendre une Pi déverrouillée + dd compatible + boitier + alim. Du clef en main en quelque sorte. Certes il y a WDlabs mais ils utilisent encore l’ancienne méthode.
      Pour prendre soin de la mémoire flash, on doit utiliser F2FS, mettre les logs en ram, désactiver le swap, virer l’horadage des fichiers(timestamp)…
      Voici quelques liens:
      https://www.blaess.fr/christophe/2015/10/19/renforcer-une-distribution-raspbian-jessie/
      https://github.com/azlux/log2ram (merci à je ne sais plus qui du forum 🙂 )
      https://www.framboise314.fr/et-si-on-se-passait-du-swap/

      Répondre
  3. dyox

    Mais de rien.
    J’entends par méthode conventionnelle celle appliquée ici par François ou par la Fondation, à savoir utiliser de préférence Win32DiskImager pour windows…
    Voir ici : https://www.raspberrypi.org/documentation/installation/installing-images/README.md
    Personnellement, je l’ai fait avec Win32DiskImager.
    Et il faut savoir que dans le fichier .img, c’est lui qui impose son type de FS (File System). Vous avez beau formaté votre SD ou MSD en FAT32 ou NTFS, celui-ci se retrouvera toujours pour Raspian avec la 1ère partition en FAT32 (type 0C) et la 2ème en EXT4 (type 83).
    Si vous voulez en savoir plus, j’avais posé une réflexion sur le forum (d’ailleurs c’était mon tout 1er post 🙂 ):
    http://forums.framboise314.fr/viewtopic.php?f=63&t=464

    Répondre
  4. Julien

    Bonjour,

    Merci pour cet article très intéressant.

    Juste une question concernant le titre qui fait mention des Pi1, 2 et 3.

    À la lecture de l’article, je ne comprends pas le rapport avec les Pi1 et 2…?!

    Julien

    Répondre
    1. dyox

      Il est vrai que ce n’est pas très clair pour les v1 et v2.
      En résumant, il faut mettre le nouveau bootcode.bin (lien dans les prérequis) SEUL sur une carte SD formatée en FAT32. Si cela ne fonctionne toujours pas, ajoutez un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s.
      Et bien sûr si cela ne fonctionne toujours pas, le MSD n’est pas compatible.

      Répondre
      1. Geo

        salutations,
        donc pour les version 1 et 2, si le MSD est compatible, après avoir booté avec seulement la SD remplie uniquement par le nouveau bootcode.bin (+timeout 6s), il n’est plus nécessaire de laisser la SD dans le Rpi… ceci est la méthode pour modifier la séquence de bootage du Rpi 1 et 2 (mise à jour du microcode ?), mais peux éventuellement marcher sur une Rpi 3 si les méthodes pour ce modèle ont échoué.
        Me suis-je trompé quelque part ?

        Utiliser une SD vierge fait gagner 5s… pareil avec un SD précédemment grillé ?

        PS: (concernant le Rpi 3) qu’est-ce que l’OTP ? -> la EPROM du Rpi ?
        « en ajoutant program_usb_boot_mode=1 à la fin du fichier », ce fichier ce situe où… dans l’OTP ?

        dernier point sur l’alimentation des DD :
        est-ce uniquement le pic au démarrage de la rotation du DD qui pose problème ?
        Un simple Y (dédoubleur) micro USB sur l’alim ne résoudrait-il pas le problème ?… à moins que l’appel de courant du DD + la consommation du Rpi surpasse la capacité de l’alim -> voir la doc pour chaque DD (datasheet).

        personnellement j’utilise un SSD 32Go (0,5 Watt) avec un adaptateur USB/SATA récupéré dans un boitier de DD externe 2″5… je ne suis pas sujet à ce problème =)

        Répondre
        1. dyox

          Bonjour,
          Pour les 1 et 2, il faut obligatoirement une SD car comme l’OTP n’a pas été modifié, le système s’attend à trouver le bootcode.bin sur la carte SD, et ceci à chaque redémarrage. Oui, c’est bien ça pour le reste de la question.
          Pour en savoir plus sur la séquence de boot :
          https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/
          https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/bootflow.md

          Je ne sais pas pour une SD grillée. J’aurai tendence à dire non mais il faut tester. Dites le nous ! 🙂

          On peut comparer l’OTP comme un BIOS. François l’a bien expliqué. Voir mon 1er lien au dessus.
          Comme je disais en point 2.
          « Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt de la carte SD. Pour cela, aucune difficulté. Bien que la SD possède au moins 2 partitions, seule la 1ère (la partition de boot), qui est en FAT32, est accessible sous Windows et donc le fichier config.txt peut être modifié sous Windows ».
          Sinon, sous Raspian, ce fichier est accessible sous « /boot/config.txt »
          En fait, une fois Raspian démarré, la 1ère partition se retrouve en /boot/

          Oui, alim faiblarde d’où le hub.

          Répondre
  5. Adrien

    Bonjour,

    Dans l’article il est fait mention de bootcode.bin pour les versions 1 & 2 du raspberry.

    Par contre en est-il de même pour les versions zero et zero w ? Au pire je peux tester et vous faire un retour.

    Répondre
  6. yann

    Bonjour à tous !

    Merci pour ce tuto, je vais m’empresser de le tester sur un DD externe!

    Avant, je vais vous faire part de mon expérience d’utilisation et de fiabilité du Raspberry comme PC familial…

    Au départ j’ai acheté un Raspberry par curiosité,poussé par framboise314 afin de faire des bidouilles électroniques.

    J’ai été rapidement étonné par la puissance de cette carte…

    En parallèle je songeais à remplacer le PC familial fixe sous windows XP (17 ans d’âge) dont l’alimentation commençait à donner des signes de faiblesse…un condensateur hs je parie!

    Et j’ai eu une idée farfelue…pourquoi ne pas utiliser un Raspberry à la place de ce PC…moins coûteux qu’une nouvelle alimentation ou qu’un nouveau pc ! Utopique ?

    Est-ce que le Raspberry peut faire tout ce que fait mon poste XP :

    Traitement texte, tableur, impression et scanner via mon imprimante Canon, connexion aux appareils photos, lecture de DVD, Web évidemment, et éventuellement du développement.

    Il fallait aussi pouvoir lire tous les fichiers créés sur le poste Windows !

    Après des jours de recherches dans les dépôts et d’essais…je me décide de me lancer dans l’achat d’un disque SATA, d’un adaptateur USB / SATA avec alimentation, d’un adaptateur HDMI / VGA, d’un hub USB alimenté et d’un lecteur/graveur DVD.

    Voici le résultat…

    Pour remplacer le pack Office :

    Libre office que l’on peut trouver en dernière version dans le dépôt backports https://backports.debian.org/changes/jessie-backports.html, après près de 6 mois d’utilisation, aucun problème de lecture de formats word et excel (si on n’utilise pas de macro VBA).
    En prime avec la dernière version on peut éditer des fichiers PDF ! Génial!

    Pour l’impression / Scan :
    J’étais un peu dubitatif sur la possibilité d’utiliser mon imprimante / scanner Canon…
    Erreur, avec CUPS aucun souci, et pour scanner, simple-scan et gscan2pdf, c’est même beaucoup plus rapide que sous mon PC windows!

    Pour remplacer l’explorateur :
    Comme explorateur on a le choix, Nautilus + nautilus-image-converter pour retailler les photos en un clic, xfe (pratique et léger !), Thunar, il y en a pour tous les goûts !

    Pour la lecture de DVD :
    Après quelques paramétrages trouvés sur le net on peut utiliser VLC…un peu déçu du résultat malgré tout, notamment pour l’ergonomie…mais c’était avant de tomber sur KODI – épatant !

    Pour le WEB :
    Chromium me parait le meilleur, il faut simplement éviter d’ouvrir plusieurs onglets, le manque de RAM se ressent…mais ce n’est pas vraiment un problème il suffit de le savoir.

    En prime j’ai installé Sweet Home 3D pour modéliser des pièces d’appartement ! ça marche !

    On peut trouver aussi des tas de jeux, qui peuvent paraître ringards mais qui font le bonheur des petits et des grands…

    Pour faire un peu de développement, après de longues recherches d’un vrai environnement intégré, permettant de faire des IHM sans jongler avec des outils abscons et assez léger pour ma Framboise, j’ai trouvé Lazarus pour compiler du pascal (finalement c’est le seul compilateur en dehors du C/C++)!
    Lazarus intègre un vrai générateur d’IHM, sans nous noyer dans des lignes de codes, et rien n’empêche de faire des appels Python via du code Pascal. Génial ! Mais il y a aussi l’étonnant gambas3 ! Tout cela marche impec sur raspberry !

    Pour en revenir dans le sujet, au cours de mes essais j’ai grillé 2 cartes SD avec le Raspberry sans vraiment comprendre pourquoi. Peut-être une mauvaise qualité.

    En tout cas depuis presque 6 mois mon PC Framboise fonctionne à merveille avec la même carte SD, j’ai appliqué la méthode
    https://www.framboise314.fr/et-si-on-se-passait-du-swap/. J’ai un double de la carte SD en cas de pépin.

    La Framboise est utilisée tous les jours, il boote en 30 secondes (mon pc Windows c’étaient plusieurs minutes), il consomme presque rien. On découvre régulièrement des nouveaux logiciels (je crois qu’il y en a près de 20000 !).

    Enfin la sauvegarde est faite via grsync sur un disque externe USB.

    Merci à François et Framboise314 qui m’ont fait découvrir cette merveille !

    Répondre
    1. msg

      Bonjour ,

      Canon comme imprimante est à éviter sous linux , préférer plutôt HP , Brother , Samsung …. dont la mention Linux figure sur les OS supportés .
      J’ai une Canon LBP1120 , c’est une catastrophe sous linux , sous windows , elle fonctionne nickel , la faute aux drivers Linux de chez Canon .

      Quelques utilitaires intérressant Linux , certains fonctionne sous interface KDE:
      K3B : gravure / copie , CD , CD-RW , DVD
      Xsane : Scanner documents
      Audacity : enregistrement et traitement du son
      Gimp : dessin / retouche photo (photoshop)
      Ksnapshtot : capture image d’écran (écran entier , fenêtre entières ou zone définie )

      En jeux , j’aime bien :
      Kbreakout : casse briques
      Kiriki ; je de dés Yam’s
      Kmahjongg : jeu de tuiles
      Ksquares : mon préféré qui me rappelle un jeu d’enfance !!!
      Sur une feuille à petit carreaux , il fallait dessiner à tour de role les cotés de carrés , le point allait à celui qui ferme le carré . Le vainqueur est celui qui totalise le plus de carrés .
      Ksudoku ; le sudoku classique , mais aussi en 3D , très dur .
      Palapeli : excellent jeu de puzzle , à partir d’images personnelles et avec le nombre de pièces voulues .
      Marble : globe terrestre , très ludique .

      Répondre
  7. Gilles

    Petite question, si l’ont modifie l’OTP avec le bootcode.bin cela permet si j’ai bien compris de booter sur un hdd ou une clé usb branché sur un port USB.

    sur le site de raspberry il est écrit que cette opération est IRREVERSIBLE.

    comment doit être formaté le HDD (est-ce que l’install de libreelec créera un système de boot compatible ?

    Mon but est de faire un serveur multimédia avec Libreelec comme distribution, sur un disque dur 2.5″ de 1To .

    Merci

    Répondre
    1. dyox

      Petite question, si l’ont modifie l’OTP avec le bootcode.bin cela permet si j’ai bien compris de booter sur un hdd ou une clé usb branché sur un port USB
      => c’est l’option dans le config.txt qui modifie l’OTP et seulement pour le Pi3

      sur le site de raspberry il est écrit que cette opération est IRREVERSIBLE.
      => Dans la séquence de boot, la sd reste prioritaire à l’usb
      voir https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/bootflow.md

      comment doit être formaté le HDD
      => sur le msd, une partition doit être en FAT32 (celle contenant le boot) et l’autre en ext4. L’image de l’iso Raspian en quelque sorte. Et pour être précis, la seule condition est la partition de boot qui doit être en FAT32, et ce quelque soit sa position (1ere, 2e…)
      je cite : It is no longer necessary for the first partition to be the FAT partition, as the MSD boot will continue to search for a FAT partition beyond the first one.

      Répondre
  8. Gilles

    OK,

    j’ai cloné ma carte SD libreelec (1er partition FAT16 768Mb, 2eme partition EXT4 14.08Gb) sur un disque dur 300Go avec AOMEI Partition Assistant.

    le PI3 ne boot pas si hdd branché sans sd, pourtant l’OTP indique bien 17:3020000a

    soit j’ai oublié quelques choses soit il manque quelques chose 🙂

    Répondre
    1. dyox

      essayez déjà avec Raspian si tout se passe bien.

      le PI3 ne boot pas si hdd branché sans sd
      => quelle sd ? une vierge ou la libreelec

      Répondre
        1. dyox

          C’est ce que je disais plus haut : la sd est prioritaire donc cela ne fonctionne pas du tout.
          A voir maintenant avec Raspian.
          HDD auto-alimenté ?

          Répondre
  9. Vanille

    Bonjour,

    J’ai lu le tutoriel, je l’ai appliqué; ça marche.
    Mon RPI3 boot sur USB 32Go sans carte SD.
    Précédemment j’ai utilisé BerryBoot mais les performances semblaient affectées par cette passerelle.
    Maintenant mes questions:
    – on parle ici de Rasbian. D’autres distributions sont-elles compatibles avec ce bootUsb ? Je pense à RetroPi et LibreElec, deux distributions que j’utilise régulièrement
    – et dans le cas où on a plusieurs distributions sur plusieurs disque USB ? Je rêve qu’on puisse nous proposer un choix …

    Merci de votre retour d’expérience. Ma prochaine étape est d’appliquer le type de fichier F2FS pour soulager ma clé.

    Cordialement

    Répondre
      1. Vanille

        Bonsoir,

        J’ai fait deux choses: modifier mes partitions USB d’ext4 en f2fs comme conseillé, et appliqué sur deux distributions: Raspbian et Retropie. Les deux fonctionnent. Quant au gain de performance, seule Raspbian a été regardée en détail; ça à l’air de bien marcher.

        Mais OpenElec ne fonctionne pas. En fait, quand on descend la distribution, une partition en Fat ne s’appelle pas BOOT mais OPENELEC et l’autre en Ext4 est vide. Donc même sans toucher au type de partition, le RPI ne boot pas sur la distribution OpenElec. Je ne sais pas trop pourquoi…

        Deux sur trois, c’est mieux que rien. reste à tester dans la durée, mais contrairement à Yann (poste du 3 août) je n’en ferai pas un poste de travail …

        Cdlt

        Répondre
        1. Vanille

          Bonjour
          Raspbian et RetorPi continuent de fonctionner.
          Mais j’ai migré sur RecallBox et là, point de capacité en USB. Pourtant y’a bien un boot en FAT32 et une partition en ext4. A creuser.
          Ma question: Votre article s’intitule « Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3 » mais le pré-requis (plus loin) est un Raspberry 3 ! Un 2, un 1 voir un zéro fonctionnent-ils ? Méthode à ajuster ?
          Merci de votre retour.

          Répondre
  10. Jean Vaure

    Bonjour,
    J’ai essayé avec un ancien disque USB 2.0 LACIE de 160 go. Le boot démarre, affiche l’écran coloré, et les 4 framboises. Puis plus rien.
    J’ai ensuite essayé une clé USB PNY de 32 go. Ça fonctionne ! Mais très lentement.
    Enfin j’ai utilisé un disque seagate Barracuda de 320 go à 7200 t/m. C’ nettement meilleur.
    Une question : Pourquoi utiliser le PARUUID dans le fstab, alors qu’il peut être modifié par fdisk
    ?
    Cordialement

    Répondre
  11. chris

    Super tuto! Mais j’ai pas bien compris le bootcode.bin, vous le mentionnez dans les pré-requis et il n’est mentionné nulle part dans la procédure. Que faut-il en faire?? J’attends juste cette info avant de me lancer, merci!

    Répondre
    1. dyox

      Bonjour,
      Firefox me donne 10 pour l’occurrence « bootcode.bin », en faisant une recherche. C’est la 2nde occurrence qui donne la procédure, dans la section dépannage.
      Le fichier « bootcode.bin » est essentiellement pour les RPiv1 et v2. Il peut concerner la v3 si la clé ne boote pas malgrès la modification du registre + program_usb_timeout=1.
      En résumé, pour la v3 et pour un non fonctionnement successif du MSD, les essais sont :
      – modification du registre ; si cela fonctionne tant mieux sinon :
      – + program_usb_timeout=1…
      – bootcode.bin sur SD…
      – + fichier timeout ; si cela ne fonctionne toujours pas alors il reste l’ancienne méthode : boot sur SD et déportation de l’OS sur MSD.
      Voir le tuto de François : https://www.framboise314.fr/booter-le-raspberry-pi-sur-un-disque-dur-usb/
      J’espère avoir été plus clair.

      Répondre
  12. chris

    super, merci, je n’avais pas vu ce paragraphe, désolé :

    Essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une carte microSD formatée en FAT32. Si cela ne fonctionne toujours pas, ajoutez un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s.

    Répondre
  13. chris

    Juste pour confirmer que ça marche bien pour un Raspberry Pi (BCM2835) en formatant une SD FAT32 avec le bootcode.bin, booter une fois avec la carte, attendre un peu… puis éteindre l’alim, connecter le disque externe avec une image bootable et ça démarre! Merci.

    Répondre
    1. Geo

      une question chris :
      tu dis  » … en formatant une SD FAT32 avec le bootcode.bin, booter une fois avec la carte, attendre un peu… puis éteindre l’alim, … »
      cela ne risque t-il pas de tuer la carte SD d’éteindre en coupant l’alim plutôt que de manière soft ?
      les 2 seules fois où j’ai eu une coupure d’alim j’ai perdu mes cartes SD ='(

      PS, d’ailleur, s’il y a une procedure d’extinction qui garantie l’intégrité de la SD je suis preneur ! =)
      *(qui le garanti qd on a plu la main sur l’OS)

      Répondre
    2. Arrch

      Bonjour,
      Merci pour cette info, mais peux-tu me dire si des voyants s’allument sur le Rpi ?
      En effet j’ai un Rpi 1, et quand je boot sur la SD qui contient le bootcode, j’ai juste le voyant power qui est rouge et c’est tout…
      Du coup ça ne fonctionne pas pour moi si je veux ensuite booter sur une install de distrib quelconque (sans carte SD du coup)
      Merci de ton aide

      Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Dyox
      merci pour ce tuto
      je vais mettre l info sur les réseaux sociaux
      sur le blog quand j’aurai un peu plus de temps…
      bonne année pleine de réalisations à la framboise
      cordialement
      François

      Répondre
  14. chris

    @ Geo, effectivement cette partie est imprécise, j’ai réussi à installer et à faire tourner une seule fois mon installation. A mon retour de vacances, j’ai essayé de rebooter depuis le disque SSD, mais sans la carte, sans succès. J’ai ensuite rebooté avec la carte et à part l’écran coloré, rien ne se passe. Donc pour moi, je n’arrive pas à reproduire… Doit-on rebooter avec la carte SD et le bootcode.bin? Ou sans carte SD? Essayé les deux avec mon RPi2, mais sans succès, j’ai du louper une étape…

    Répondre
    1. Geo

      je t’invite à vérifier l’intégrité de ta SD ou de simplement tester la chose à l’aide d’une autre SD, si la situation se débloque, je serai (et sûrement d’autre lecteurs) content d’avoir un retour =)

      PS: je reçois ma Pi3 dans qq semaine, vivement le passage de Pi1 à la v3 ^^’
      …en avant vers de nouvelles aventures ! =D

      Répondre
  15. Clemzo

    Bonjour et bonne année à tous.

    Je m’excuse pour ma question qui pourra vous paraître trop évidente, mais dans le 1er point du tuto, lorsque vous évoquez « ET ensuite sur le MSD avec la procédure conventionnelle » je ne suis pas sur comprendre de quoi vous parlez.
    Mon objectif est d’utiliser un disque dur, mais avec les outils classiques pour écrire une image disque seuls les cartes amovibles ou clés USB et mon disque dur (USB) n’est jamais proposé.

    Serait-il possible d’ajouter dans l’article en lien qui mènerait à cette « procédure conventionnelle ».
    Désolé encore pour cette incompréhension.

    Cordialement.

    Répondre
    1. Geo

      j’ai également un petit brouillard sur ces terminologies avec lesquels je ne suis pas habitué.
      un petit lexique dans la première partie indique clairement que MSD est le sigle utilisé sur cette page pour parler de HDD, SSD, USB key, et autres « stick » de stockage… /!\ à travers le port USB. /!\
      un exemple capilo-tracté serait : une carte SD qui boot par le port USB à travers un lecteur de carte.

      ce qu’il faut comprendre peut être résumer simplement :
      – Le pi démarre TOUJOURS sur sa propre puce mémoire (l’OTP), laquelle lui indique les procédures à suivre.
      – L’étape de boot qui suit est TOUJOURS de tenter de démarrer sur le port SD/uSD
      – l’OTP peut être modifier (en partie) grâce au fichier binaire « bootcode.bin », pour permettre de tenter, en plus, de démarrer sur le port USB (TOUJOURS après les 2 premières étapes).

      voici un lien qui explique cela plus en détail, et un autre pour préparer ton disque USB :
      https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/
      https://www.framboise314.fr/booter-le-raspberry-pi-sur-un-disque-dur-usb/

      préparer un periphérique USB est asser simple… 1) tu télecharge le fichier image (.ISO) de ta distribution Linux, 2) tu utilise un logiciel qui fait le reste pour toi, en lui indiquant ton fichier téléchargé.

      Si tu tourne sur Windows, je te conseil d’utiliser Rufus, pour 2 raisons :
      1) c’est un logiciel « libre » sous licence GPLv3 (difficile de faire moins libre)
      2) son but premier est de créer un support de boot fiable, sans corruption, et de limiter les erreurs humaine lors de la création du support (ex : formater son disque dur interne plutôt que sa clef USB).
      3) il est conçu à l’origine pour les stick USB et cartes mémoires… mais il fonctionne sur la majorité des disque dur USB (SSD OCZ Vector 180, WD 3″5 2To, etc. fonctionne chez moi) =)

      il est irréprochable sur les points suivant :
      – sécurisation du support avant d’opérer le formatage -> aucun autre programme ne peut y accéder, et y écrire des données
      – vérification de l’intégrité de la mémoire (son état de santé)
      – vérification de succés de l’écriture (pas à la fin… mais à chaque bloc mémoire)
      – limite son usage pour du simple boot uniquement (pas dualboot ou +) pour maximiser au maximum les chance de démarrage dans des cas de figures non anticipé.

      hint : l’executable standart et version portable sont identique, la diférence est faite par le logiciel lui même lors de son lancement. >> s’il trouve un  » p  » ou un  » P  » quelque pars dans le nom, il se lance alors en version  » portable  »
      https://rufus.akeo.ie/?locale=fr_FR

      Répondre
      1. Geo

        dans les bon points de Rufus, j’ai oublié de mensionner qu’il est très bon pour les alignement de partition… un point critique qd il est question de boot.
        Si vous avez déjà été confronté au problème pour un carte SD, et avez tenté de trouver s’il fallait bien décaler le 1er secteur mémoire de 512o, 1Mo ou 4Mo, vous me comprendrez… ^^’

        Répondre
  16. Clemzo

    Je te remercie pour cette précision.

    Par contre comme je le mentionne précédemment, le lien en question fait référence à Etcher pour écrire l’image de raspbian sur les supports, or il ne propose jamais mon DD.
    Pour avancer j’ai utilisé Win32DiskImager qui me propose bien mon disque USB.
    du coups tout se passe bien jusqu’à :
    $ vcgencmd otp_dump | grep 17 => 17:3020000a.
    Mais aucun boot sur mon DD malgré le recours à toutes les pistes de dépannage.
    Suite à quelque modifications, j’ai réussi à faire reconnaître la seconde partition de mon DD afin que le boot de la SD utilise le répertoire / de mon DD.
    Mais sans SD, pas de boot. Je suis donc obligé de conserver ma SD dans le RPI3 (une SD fat32 avec le bootcode.bin, ne faisant rien de mieux).
    Je pense que malgrè tout, la carte SD ne subissant plus d’écritures s’en trouvera que mieux.

    Merci encore.

    Répondre
    1. Geo

      il faut effectivement conserver une SD pour démarrer, mais elle ne dois pas contenir de quoi démarrer avec (un OS).
      ensuite si j’ai bien compris, « bootcode.bin » est nécessaire uniquement pour reprogrammer l’OTP, on peut donc le supprimer de la SD ensuite (corrigez-moi si je me trompe)
      le problème vient peut-être du formatage de ton support USB, il faudrait que tu nous indique (si possible) l’alignement de la partition, le systeme de fichier utilisé (exFAT, NTFS, ext4, F2FS…), la distribution implanté (Raspian ?)

      Rufus fait moins de 1 Mo je t’invite à garder cet outil sous la mains… Microsoft se permet pas mal de choses sans te prévenir (comme effacer GRUB quand il le rencontre sur une installation), Win32DiskImager est un outils de Microsoft ^^’

      la partie -préparation du support USB- de l’article « Pitié pour la carte SD de votre framboise314 : Bootez sur un disque dur USB »

      >> si votre disque dur n’a jamais été utilisé sous Linux, il faudra le préparer pour cet usage.

      NB : ces 2 articles que j’ai liés enonce comment  » transférer l’OS du Pi vers le support USB. Tandis que l’article ci-présent indique plutôt comment faure une install fraîche sur un port USB

      Répondre
      1. dyox

        Bonjour,
        Je me permets de vous corriger. Je n’arrive pas à voir l’endroit où vous auriez pu lire et comprendre ça : « ensuite si j’ai bien compris, « bootcode.bin » est nécessaire uniquement pour reprogrammer l’OTP, on peut donc le supprimer de la SD ensuite ».
        J’avais dit : Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt
        Et si une personne démarre le MSD grâce au nouveau bootcode.bin, elle ne doit surtout pas l’effacer, c’est lui qui détient la séquence de boot !

        Répondre
        1. Geo

          (je me suis peut-etre mal exprimé) une question sur ce point… j’ai maintenant un doute :
          le fichier « config.txt », à travers sa ligne « program_usb_boot_mode=1 » permet bien d’activer la reprogrammation de l’OTP ? et non simplement l’OS dans la carte SD ?

          Le binaire « bootcode.bin » sert alors à modifier l’OTP ou bien à être lu à la place de l’OTP ?
          Dans le premier cas, une fois la modification apporté, plus besoin du binaire… dans le 2e cas le binaire fait office de lanceur d’amorce (boot load).

          PS: y a t-il un moyen de supprimer ses propre commentaires pour éviter de laisser des aides « erronés » ? ^^’

          Répondre
          1. dyox

            Déjà, la manipulation de l’OTP ne fonctionne que sur une v3 et peut ne pas fonctionner suivant les MSD, d’où le bootcode.bin qui « simule » temporairement cette reprogrammation.
            La manip de l’OTP n’est utile qu’une fois.
            Si bootcode.bin il y a, bootcode.bin toujours il y aura.

            Mais avant de dire qu’un MSD ne fonctionne pas, il y 4 étapes à faire !!!

            Répondre
  17. dyox

    Déjà, la manipulation de l’OTP ne fonctionne que sur une v3 et peut ne pas fonctionner suivant les MSD, d’où le bootcode.bin qui « simule » temporairement cette reprogrammation.
    La manip de l’OTP n’est utile qu’une fois.
    Si bootcode.bin il y a, bootcode.bin toujours il y aura.

    Mais avant de dire qu’un MSD ne fonctionne pas, il y 4 étapes à faire !!!

    Répondre
  18. thanks

    Bonjour,

    Juste par acquis de concience, Pour un PI2 nous n’aurons que le bootcode.bin et le fichier config.txt (pour max_usb_current=1) sur la SD.

    Cela est-il exacte ?

    Merci

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      si vous bootez sur une carte SD vous avez les mêmes fichiers que sur un pi3…
      y compris config.txt pour passer des infos lors du démarrage de Raspbian
      cordialement
      François

      Répondre
  19. Patos

    Bonjour,
    Vous parlez de fichier timeout quand le bootcode.bin seul sur carte SD ne fonctionne pas.
    Mais quel fichier ?
    Et sur carte SD ou la clé USB ?
    J’ai deux clés USB identiques avec même distribution, une fonctionne pas l’autre. Et c’est l’autre que je veux (comme par hasard…).
    Merci

    Répondre
  20. Arnaud

    Hello,

    J’ai suivi le tuto à la lettre,

    j’ai fait une image disque de la partition boot de la sd et ai recopié l’image sur le ssd (identique à celui du tuto)

    J’ai retiré la sd, booté le pidesktop, des milliers de lignes s’affichent puis ça s’arrete là :

    56.516315} random: crng init done

    Puis plus rien 🙁

    A votre avis pourquoi ça ne continue pas ?

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Arnaud
      difficile de savoir ce que vous avez « exactement » fait (toutes les commandes exactes, les réponses du système)
      il a pu y avoir des messages d’alerte ?
      est-ce que ça fonctionne sur la carte SD en utilisant le SSD comme disque de data ?
      est ce que l’alim est correcte ? c’est une officielle ?
      est ce que l’image transférée sur le SSD est ok ?
      est ce que ça boote sur la SD ?
      etc… (https://www.raspberrypi.org/forums/viewtopic.php?t=188946 ou https://www.raspberrypi.org/forums/viewtopic.php?t=194276)
      cet article est classé « Avancé » car c’est le genre de manip qui peut poser ce genre de souci
      désolé de ne pas pouvoir en dire plus

      Répondre
  21. Arnaud

    Bonjour François,

    Finalement apres avoir aussi essayé avec piclone ça ne fonctionnait pas non plus.

    J’ai donc reflechi et voici la solution la plus simple que j’ai trouvé :

    Installer raspbian sur une sd, lancer les commandes pour programmer un boot sur sda (le msata dans mon cas)

    Installer raspbian (via etcher) sur le msata, le brancher sur le pi etent, retirer la sd et booter et voila c’est ok !

    Juste un truc dans mon cas : j’ai tout mis dans un boitier pi desktop, boot ok par le bouton d’allulmage, mais l’extinction ne fonctionne pas 🙁
    j’ai pourtant bien installé ce qu’il fallait depuis le site element14

    Merci pour ce précieux site 🙂

    Arnaud

    Répondre
  22. Toad

    Bonjour à tous,

    Bonjour,

    Lorsque je réalise cette manipulation c’est impeccable.

    Je souhaite pouvoir communiquer avec mon raspi directement sur mon pc (via câble ethernet).
    Je réalise cette manipulation :
    http://espace-raspberry-francais.fr/Configuration/Connecter-Raspberry-Pi-au-PC-par-cable-Ethernet-RJ45/index.php?captcha=true#espaceComm

    Lorsque je réalise la procédure du lien ci-dessus, avec la sd c’est impeccable, par contre à partir de la clé usb cela ne fonctionne pas.

    Avez-vous une idée ?

    Merci.

    Par contre,

    Répondre
  23. Aymoz

    bonjour,
    J’ai une raspberry pi 3 et la manip marche pour moi très bien. Par contre j’aurais voulu savoir si on pouvait choisir le port USB du boot et ne pas aller voir les autres? car j’ai un second disque dur qui me sert à stocker certains fichiers et je ne peux pas booter si les deux sont branchés…

    Répondre
  24. Stefdelyon

    Bonjour,

    Le port micro SD s’est désoudé et détaché de son emplacement : après avoir inséré pour la troisième fois la carte micro SD.
    Je me suis retrouvé avec 3 pièces dans les mains.

    Je ne comprends pas ce qui c’est passé : je n’ai pas forcé pour insérer la carte micro SD.
    Je voulais utiliser le raspberry pour mon imprimante 3d : c’est pas gagné…

    Répondre
    1. François MOCQ Auteur de l’article

      Zut ! En général ça se produot quand il y a une pression sur la carte sd (dans le sens vertcal) parfois simplement en sortant la carte du boitier (classique avec le boitier « officiel »)
      Vous avez contacté le SAV ?

      Répondre
  25. Vanille

    Bonjour,

    ***Mon post n’a pas été publié (Spam). Je ré-essaye***

    Tout d’abord mes excuses pour n’avoir pas lu correctement votre article puisque j’avais cru y voir une contradiction (pré-requis Raspberry 3) alors que 2 lignes plus bas on y voit le développement pour RPI2…

    Mais là n’est pas mon propos.
    J’ai un RPI3. Je l’utilise pour différents tests et une utilisation plus régulière (RecalBox).
    J’ai aussi un RPI2 pour essais. Et c’est sur celui-ci que j’avais essayé d’appliquer votre méthode; sans succès jusqu’à présent.
    SAUF QUE !!!
    Sur mon RPI3, j’ai mis un Raspbian Lite et un Jeedom V3. Sur USB ça fonctionne très bien.
    Mais comme je veux utiliser le RPI2 pour des tests, je me suis remis sur le problème de boot USB spécifique au 2.
    ET LA JE CROIS AVOIR DÉCOUVERT QUELQUE CHOSE !!!
    J’ai mis un bootcode.ini sur un SD, et j’ai pris mon USB qui fonctionnait sur le RPI3. Et là miracle, ça a booté. Mais pourquoi pas avant ? Et là je m’aperçois que j’avais oublié de mettre la clé Wifi. Qu’à cela ne tienne. Je shutdown, je mets la clé, je relance … RIEN. J’enlève la clé, ça boot. Je branche sur RJ45, ça boot et Jeedom fonctionne. J’essaye avec une autre clé Wifi; RIEN.

    Ce que je crois avoir trouvé c’est que le bootcode.ini sur SD peut marcher sur mon Raspberry 2 à condition qu’il n’y ait pas de confusion possible sur l’USB.

    D’où les questions:
    – avez vous aussi constaté cette anomalie ?
    – savez-vous la détourner ?
    – si je mets un dispositif USB genre RFXcom, est-ce que ça va encore bloquer mon boot sur UBS ?
    – autre ?

    Voilà, j’ai peut-être fait une petite contribution pour la partie Raspberry 2 voir 1 ou zéro).
    Dans l’attente de vos remarques, de vos tests, de vos questions.
    Cordialement.

    Répondre
  26. dyox

    Bonsoir Vanille,

    Oui pour l’anomalie. Si un autre port usb est occuppé, le boot ne se déclenche pas. En contradiction avec ce qui est prévu : https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/bootflow.md
    Dans ce cas, il reste la méthode universelle boot sur sd qui pointe sur l’OS du MSD.
    Vous pouvez vous inspirer de ça en enlevant la partie F2FS : https://forums.framboise314.fr/viewtopic.php?f=44&t=4401

    PS : comme ce n’est pas précisé, avez-vous aussi augmenté la séquence de boot avec le fichier timeout ?

    Répondre
    1. Vanille

      Bonjour,
      Pour finir mes tests…
      A propos du fichier Timeout, c’est quoi ?
      – nom du fichier
      – contenu du fichier
      – position du fichier (carte SD ou USB) ?
      J’ai beau chercher, je ne vois pas de précision… Désolé d’avoir deux mains gauches.
      Cdlt

      Répondre
      1. dyox

        Bonjour Vanille,

        Section dépannage, j’avais marqué :
        Essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une carte microSD formatée en FAT32. Si cela ne fonctionne toujours pas, ajoutez un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s.
        Donc pour répondre à vos questions :
        – nom du fichier : timeout
        – contenu du fichier : rien de préciser donc vide
        – position du fichier (carte SD ou USB) ? : SD

        Après, si c’est plus clair pour vous et si vous trouvez que c’est mieux agencé, il vous reste la source que j’ai citée :
        https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/README.md

        Bons tests

        Répondre
        1. Vanille

          Bonsoir
          dyox a demandé: « PS : comme ce n’est pas précisé, avez-vous aussi augmenté la séquence de boot avec le fichier timeout ? »
          Vanille répond: « non, même avec un fichier vide nommé « timeout » sans extension, le RPI2 ne boot pas sur l’USB si une clé WiFi USB est branchée ». Rappel: Rasbian Lite + Jeedom.
          Voilà; pour moi test complet.
          Merci encore.

          Répondre
  27. Fred

    Bonjour a tous,
    Super les tutos, toujours bien détaillé et avec des mots compréhensibles.
    J’ai un problème avec le boot sur un disque dur.
    J’ai réalisé toutes les manipulations et ligne de commande, le RPI boot bien sur le disque dur mais je perds la sourie et le clavier.
    Ma config: RPI 3B+ (donc avec le bon bootcode)
    une carte Suptronics X830 avec un dd de 500Go tout neuf formaté à la linux (1 swap de 1G, un linux de 400Go et le reste en FAT 32 pour garder quelques possibilités d’échange avec les bon pc windows)
    J’ai tenté quelques trucs:
    – Revenir au boot sur SD, simple il sufit de modifier le boot dans le cmdline–> je récupére clavier et sourie
    – retour sur le DD et augmentation du courant sur les USB (on ne sais jamais) et non pas de clavier ni de sourie. je ne pense pas que cela vienne de là la carte subtronics a une alimentation ext.

    Si vous avez des idées et conseils, je suis preneur.
    Merci beaucoup

    Répondre
  28. Fréd

    Bonsoir François,

    Oui j’avais lu l’article.
    J’ai résolu en mettant à jour ma version de débien. pourtant je suis parti d’une version stretch du 9/10/2018.
    Maintenant j’ai un pb avec VNC qui ne veut plus se lancé.
    Je vais refaire une installation complète et je te tiens informé.
    Fréd

    Répondre
    1. Fred

      Salut François,

      Des petites nouvelles.
      Je suis reparti d’un rasbian stretch seul et cela fonctionne. j’ai récupéré VNC, Clavier et sourie.
      Super, je pense que l’installation de opencv a trop trafiquer les fichiers systèmes. je retenterais plus tard.
      Merci pour tes conseils.
      Et surtout continu à nous instruire de cette façon si clair que même moi je comprends.
      A +, Fréd

      Répondre
  29. Fred

    petite erreur
    c’est la commande « program_usb_boot_timeout=1 »
    pour verif : « vcgencmd otp_dump | grep 66 »
    reponse « 66:01009daa » quand timeout actif

    Répondre
  30. Pierre

    Bonjour a tous.
    Tout d’abord je souhaite vous remercier pour tous les précieux conseils et tuto que je trouve sur ce site, même si beaucoup de chose reste encore pour moi de grand mystère, l’aide que vous apporter aux « jeunes RPiste » comme moi est formidable.
    Concernant le boot sur USB, j’ai réussi la procédure sur qq clès USB et souhaite le faire sur un disque dur, par contre après qq essais (sur 2 anciens dd 2’5) infructueux, je souhaitais savoir si :
    – Nous savions ce qui fait que certains disques/clés fonctionnent et d’autre pas, car cela me semble « informatiquement parlant » mystérieux.
    – Si je devais choisir un disque (SSD ou pas) en 500Go ou 1To, comment puis-je être sur que celui-ci fonctionnera branché sur mon Rpi.
    J’ai un Rpi 3b+ et je l’utilise, entre autre, avec Retropie, raison pour laquelle je souhaiterais plus d’espace disque et moins de risque d’usure de mes « octets » 🙂
    Un grand merci par avance a toute l’aide que vous pourrez m’apporter.
    Pierre

    Répondre
  31. Pierre

    Bonjour a tous
    tout d’abord un grand merci pour tous ces conseils et tuto qui me permettent a moi « Jeune Rpiste » d’arriver a faire qq chose de mon Rpi 🙂 bon même si je l’avoue bcp de chose me semble encore assez flou.
    Concernant la procédure de boot sur l’USB j’y suis parvenu sans problème sur mon Rpi 3B+.
    J’ai fait plusieurs tests fructueux sur des clés usb et souhaiterais faire de même sur un disque dur, mais la après qq essais sur 2 DD 2’5 différents je n’ai pas rencontré le même succès qu’avec les clés.
    D’où mes questions :
    – Sait on ce qui peut empêcher certains disques de fonctionner correctement sur le boot ? (car informatiquement parlant ca reste un grand mystère pour moi)
    – Quel disque choisir (SSD ou pas) afin d’être sur que cela fonctionnera ? Je souhaiterais pouvoir installer retropie sur un disque assez volumineux (entre 500Go et 1To) mais ne suis vraiment pas sur de quel modèle acheter.
    Sauriez-vous me conseiller ?
    Un grand merci d’avance.
    Pierre

    Répondre
    1. dyox

      Bonjour Pierre,
      – Vous dites que vous avez fait qq essais mais avez-vous testé l’option « program_usb_boot_timeout=1 » et avec le bootcode.bin ?
      – Pour une meilleure compatibilité, et ce n’ai que mon avis, je dirais qu’il vaut mieux que le DD soit branché sur un hub ou sur secteur pour qu’il tire toute sa puissance. Ou alors en auto-alimenté mais avec une très bonne alimentation (et supérieure à 2.5A). Là, vous ne précisez pas et je m’accorde à dire vous avez seulement testé en auto-alimenté ?
      – Pour démarrer sur MSD, il y a 3 façons de faire :
      — celle-ci
      — le bootcode.bin
      — et la plus universelle et qui fonctionnera toujours, le boot sur SD qui pointe sur le MSD pour le système.

      Répondre
  32. omoioli

    Bonjour, tout d’abord bravo et merci pour ce forum genial !
    J’ai fait mon boot sur usb pour pi3 sans problème, le pi démarre sur disque dur, avec la dernière version de raspbian nov 2018.
    Mais impossible de faire des mises a jour, apt-get upgrade me retourne des erreurs entree\sortie.
    Y a t’il une manip spéciale pour tenir son system a jour, ou ai-je eu un problème a l’install ?

    Répondre
  33. Luc

    Hello,

    Pi3 + Sandisk 32GB
    Pas de problèmes au boot, je retrouve ma config comme avec ma SD (SAMSUNG 16GB)
    Tout est à jour.
    Mais dès que j’essaye de connecter un SSD (ou autre stockage de masse) en plus, je perds toute commande système (par exemple df, dmesg, ls, halt, reboot, …) avec le message « Erreur d’entrée/sortie »
    SSD supplémentaire retiré, impossible de se reconnecter avec puTTY
    Il semble qu’il y ait un conflit, mais impossible de consulter la log système pour faire un diagnostic, et impossible de rebooter proprement…

    Des idées?

    Merci, @+

    Répondre
    1. dyox

      Bonsoir,
      – Et s’il est branché au démarrage ? (le log du boot en dira p-ê plus)
      – Etes-vous sûr de son alimentation / câble USB ?
      – P-ê faire un formatage ? (pour partir sur une bonne base)
      – Puissance de l’alimentation du Pi trop juste ?

      Répondre
      1. Luc

        Bonjour,
        Alim très récente 3000mAh
        LED rouge fixe avec ou sans le SSD
        Pour info: PN532 sur SPI
        Je ne pense pas que l’alim soit un pb

        OK, je refais l’install sur la clé USB

        @+

        Répondre
      2. Luc

        Hello,

        Matos utilisé:
        – Framboise Pi3 B
        – Alim 3000mAh
        – carte SD SAMSUNG EVO 16GB
        – clé USB S1 SANDISK fit 32GB, sur laquelle on mettra l’OS
        – clé USB S2 SANDISK fit 32GB, vierge d’usine
        – SSD SAMSUNG 850 EVO 120 GB, 1 partition ext4 avec connectique USB

        Conditions du test:
        – SD régénérée à partir d’une image antérieure (Win32 Disk Imager)
        – Clé USB (dénommée S1 ci-après) paramétrée avec la procédure décrite dans le tuto https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/
        – PN532 débranché du SPI
        – S1 sur port USB (comme auparavant)
        – Strictement rien d’autre de connecté
        – Alim récente (achetée il y a une semaine) 3000mAh
        – LED rouge (alim) fixe
        – Platine Framboise nue posée sur un tapis isolant en silicone
        – Conditions de température, pression, insolation normales ;o)
        – Environnement électromagnétique: ma Belle-Mère qui met de l’électricité dans l’air ;o|
        Mais c’est normal

        Test 1:
        Boot SD OK (S1 et S2 non connectées).
        J’accède à Framboise via puTTY sans problème (en WiFi)

        Test 2:
        Boot S1 OK (SD retirée, S2 non connectée, SSD non connecté).
        J’accède à Framboise via puTTY sans problème (en WiFi)
        df montre que c’est /dev/sda1 qui est monté sur /boot

        Test 3:
        Branchement de S2 en live
        Ok, pas de problème

        Test 4:
        On retire S2 et on branche le SSD
        « root@F3:~# dmesg
        -bash: /bin/dmesg: Erreur d’entrée/sortie »
        Perte de connexion avec Framboise
        Retrait sauvage du SSD: Framboise inactive (impossible de se connecter)

        Test 5:
        boot S1 avec SSD connecté
        Impossible d’accéder à Framboise par puTTY

        Ma conclusion:
        Soit un pb matériel du SSD, soit un pb ext4
        MAIS ce pb n’apparaît pas avec un boot sur SD, uniquement avec un boot USB

        Driver manquant ou incorrect?
        Mais alors quelle étape ai-je loupé dans l’installation?

        @+

        Répondre
        1. dyox

          Après tout ces essais, je dirai que c’est le contrôleur sata/usb qui fait planté.
          On peut avoir plus d’info dessus ? D’ailleurs, c’est quoi le boitier usb ?
          Et regardez une fois le contrôleur identifié (en démontant ou sous windows) s’il est compatible linux ; ou bien faire un livecd/liveusb avec un linux et tester le-dit ssd.

          Répondre
          1. Luc

            C’est un simple connecteur USB/SATA filaire (pas un boîtier)
            Il fonctionne parfaitement avec un boot à partir de la SD, y compris en présence d’autres SSD ou clés USB

            Répondre
        2. dyox

          Pour être plus précis, je voulais dire tester le-dit boitier ssd. Si cela fonctionne, c’est un manque de driver sous raspian. Je ne crois plus trop au matériel incompatible linux en 2019 :).
          Autres pistes :
          – Je rajoute que ce n’est pas parce que l’alim est neuve qu’elle est correcte. Elle délivre bien du 5V ?
          – Une fois tout branché (sd + les 2 clés…), pas de message de low voltage sous dmeg ?
          – Le cordon usb n’est pas trop long ? (chute de tension)
          – Le cordon n’est pas abîmé ? (testez la continuité des 4 fils)

          Répondre
    1. dyox

      Ok, le ssd ne plante qu’avec un boot sur MSD (et avec la procédure décrite dans le tuto https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/)

      Lors de vos tests, on parle bien d’une nouvelle install de la dernière version de Raspian et mis à jour ? (sauf sur la SD)

      Pourquoi avoir choisit cette méthode ? (au lieu de ce tuto ? )
      Et si vous gravez simplement l’iso sur la clé ? (ça marche maintenant, ce qui n’était pas le cas lors du tuto de François et c’est le pourquoi de ce tuto, soit dit en passant ^^ )

      Après la copie :
      – pour activer le ssh au démarrage, placez un fichier nommé ssh sur la partition de boot
      – pour paramètrer son wifi au démarrage, placez son fichier wpa_supplicant au même endroit

      Répondre
  34. Luc

    OK, j’essaye un gravage à partir de mon imag de sauvegarde e (via Win32 Disk Imager)
    L’image est à jour.
    Je reviens après tests.

    Merci
    @+

    Répondre
    1. Luc

      Rien de particulier dans /var/log/messages
      Ca marche si je mets une seconde clé USB SANDISK de 32GB, mais pas avec le SSD SAMSUNG de 120GB

      Répondre
      1. Luc

        Là je subodore un problème matériel lié à ma Framboise.
        En effet, j’ai des problèmes au boot, et des pertes de connexion WiFi avec puTTY.
        L’an dernier j’avais effectué des tests USB sur du stockage de 2TB qui avaient engendré des problèmes USB (erreurs physiques liées au media => trop forte charge: reset à répétition du hub USB).
        Je pense donc qu’il y a eu une dégradation de la platine, que ce soit l’alim interne ou le hub USB.
        Sachant d’autre part que je n’ai monté ni dissipateur de chaleur ni ventilation…

        Bon, je vais commander une nouvelle Framboise. Je réessayerais après livraison.

        Par contre, une question (je ne sais pas si elle est traitée içi): comment passer /root en F2FS?

        Merci
        @+

        Répondre
    1. Luc

      OK, j’ai fait d’autres tests toujours en erreur…
      Je propose que l’on poursuive, soit en MP, soit sur un forum pour éviter de polluer inutilement le topic.
      On publiera simplement les informations de résolution (erreur de ma part ou autres)

      Merci,
      @+

      Répondre
  35. ludo07

    bonjour, y-a-t’il une solution pour faire un dualboot entre recalbox et libreelec avec cette solution si oui comment merci de votre aide

    Répondre
  36. ludo07

    bonjour, merci pour le tuto mais je n’arrive pas a booter sur mon ssd
    j’ai un Rpi 3b j’ai donc fait le tuto avec le fichier bootcod.bin tout seul sur une carte sd
    sans resultaty a t’il d’autre moyen de booter sur un ssd

    merci

    Répondre
  37. dyox

    Bonsoir,
    Avez-vous pensé aussi à rajouter les différentes options pour allonger le temps d’amorçage ?

    Il reste aussi la méthode universelle de boot sur SD qui pointe ensuite sur le MSD

    Répondre
    1. ludo07

      bonjour, j’ai tester avec une clef usb est ça marche, mais pas avec un disque en ssd (qui marche normalement en stakage sur le raspberry) qu’elle genre de fichier doit-on faire l’amorsage : txt ou autre

      Répondre
  38. ludo07

    bonjour, j’ai tester avec une clef usb est ça marche, mais pas avec un disque en ssd (qui marche normalement en stakage sur le raspberry) qu’elle genre de fichier doit-on faire l’amorsage : txt ou autre

    Répondre
    1. dyox

      Voici la page en anglais pour des renseignements complémentaires : https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/README.md

      Si la méthode du program_usb_boot_mode=1 ne fonctionne pas, rajouter program_usb_boot_timeout=1 dans le config.txt. Cela fait passer la séquence d’amorçage de 2s à 5s.
      Si cela ne fonctionne pas, on utilise la méthode du bootcode.bin.
      Et si cela ne fonctionne toujours pas, on y rajoute le fichier « timeout » qui a pour conséquence d’étendre l’initialisation à 6s.
      Et si cela ne fonctionne pas, alors ce n’est pas compatible mais il reste la méthode universelle : la partition de boot sur la sd qui pointe une fois démarrée sur le rootfs du MSD.

      A la fin de https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/bootflow.md, il y ait marqué « The USB device boot mode is enabled by default at the time of manufacture »
      donc je comprends maintenant comme le boot sur usb est activé par défaut.

      Ce qui est énervant, c’est qu’ils se permettent de modifier ces pages. Ils devraient mettre une version/révision des pages parce que là, depuis la date du tuto, ils les ont modifiées au moins 5 fois !

      Répondre
      1. ludo07

        mon disque doit pas etre compatible samsung 860EVO a 1.2A en ssd qu’elle fichier doit-on modifier pour faire pointer le boot sur le roofs en ssd merci

        Répondre
  39. BzhRico

    Bonjour François et un grand merci pour l’aide à nous les débutants du Raspberry Pi.

    J’ai profité de quelques soldes sur les SSD (128 Go à 17,99€ + boitier à 8,99€) pour mon Raspberry.
    J’ai suivi ton tuto au mieux mais sans un résultat fonctionnel.

    Je me suis donc baladé sur le net et j’ai trouvé : https://www.ladomopratique.com/jeedom-sur-raspberry-et-disque-dur/

    En fait, la nouvelle version de l’installateur automatique NOOBS permet de selectionner un Disque SSD. donc avec un micro SSD de 1 Go + le logiciel SDFormater + un bon SSD : j’ai réussi, mais on perd toutes ces données.

    Je pensais que cette info serait utilie à la communauté… et pourquoi pas une mise à jour du site.

    Encore merci pour ton site et livre ‘Raspeberry Pi 3 ou Pi Zéro.

    Répondre
    1. Tof

      Pour moi c’est fini les cartes SD sur les Raspi… Tout en SSD !

      Il y a des boîtiers à ~9€, mais il y a aussi les cartes nues dans les 3 à 4 € (c’est la même chose, mais sans le boitier).
      Par exemple:
      – mSATA: https://www.aliexpress.com/item/32759107350.html
      – M.2 SATA: https://www.aliexpress.com/item/32755941945.html

      Un petit SSD 128Go fait amplement l’affaire. Attention tout de même à la consommation de certains SSD au format m.2 SATA qui annoncent un ampérage à 1.7A !!!
      Et sinon il y a même à recycler ces petits SSD mSATA ou M.2 de 16 à 32Go qui servait de cache SSD dans certains laptops pour compenser la lenteur du HDD (par exemple chez Lenovo ça s’appelait « ExpressCache »). Les gens les revendent pour quasi rien, car à l’heure du SSD généralisé à bas cout, ces petits SSD de 16Go n’ont quasi plus d’utilité dans un laptop… par contre sur un Raspi, c’est parfait.
      Un des grands intérêt de ces SSD (dit « de cache ») c’est leur consommation réduite (3.3V / 0.25A), parfait pour être auto-alimenté sans souci via le port USB du Raspi 😉

      Répondre
      1. Geo

        Si vous désirez du stockage peu gourmand en énergie, tablez sur de petites capacités, et si possible récentes… mais évitez les performances ! ^^’
        Mon Pi2 tourne sur un SSD de 64 Go, il consomme 0,5 Watt nominal en écriture.
        Vous me direz qu’il est lent… oui, mais il reste bien plus réactif et économe qu’un HDD 2″5 lambda.
        je le solicite rarement plus de 3sec en saturation de débit… il convient parfaitement pour la majeur partie des cas, prototypage, video/musiques, jeux (rétro). Pour des applications plus énergivore le problème provient souvent de la limitation que présente le BUS USB 2 du Pi2.

        C’est pourquoi, je conseil plutôt d’acquérir un SSD classique en SATA qui sera souvent moins cher qu’en M.2. (NVMe ou non) et d’y adjoindre un adaptateur USB vers SATA.
        Si vous avez un disque dur 2″5 externe, ouvrez le boiter, une fois sur deux, l’adaptateur n’est pas soudé. 😉
        NB: c’est comme cela que j’ai utilisé le miens, j’ai ré-employé l’adaptateur d’un HDD SATA, pour mon SSD SATA.

        Répondre
  40. ardiced

    Excellent tuto, fonctionnement nickel, du moins en ce qui concerne le boot.
    Les commandes hibituelles ne fonctionne plus:
    Sudo apt get update
    Sudo apt get upgrade
    sudo raspi-config

    Une idée??
    Merci

    Répondre
      1. ardiced

        Effectivement je tapais la bonne commande, et la response à
        pi@raspberrypi:~ $ sudo apt-get update
        est
        sudo: apt-get: command not found

        Je suis partis de « 2019-09-26-raspbian-buster-lite » en install sur une clé USB et sur la carte SD, modification du fichier config de la carte avec program_usb_boot_mode=1
        Demarrage du raspi sur la SD
        Verification avec:
        $ vcgencmd otp_dump | grep 17
        17:3020000a

        Arrêt du raspi et redemarrage avec la clé seule.
        le boot s’effectue normalement (id + mdp)
        Puis blocage sur la premièere ligne de commande.

        Merci

        Répondre
        1. ardiced

          Mon problème est désormais résolut…

          Il s’agissait d’une erreur de débutant:
          pour taper « – » sur un clavier AZERTY j’utilisait [Alt Gr] + [/:]
          au lieu d’utiliser [Shift] + [°)].

          Merci pour votre aide

          Répondre
  41. Vangeles

    Bonjour,
    J’ai développé et installé sur USB des Raspbian customisés pour RPI3.
    Mais confirmez-vous que le RPI4 ne supporte pas la boot sur USB, le fichier config.txt n’étant plus opérationnel ? (cf https://www.raspberrypi.org/forums/viewtopic.php?t=243995).
    Mais surtout, il y a-t-il un moyen pour mettre une toute petite partie de l’OS sur SD et le reste (majoritaire) sur USB ?
    Je sais que les noms logiques sous Linux peuvent détourner la localisation de certains répertoires mais je ne sais pas jusqu’à quel point … Sinon je testerai, on va me prêter un PI4 bientôt pour adaptation.
    Cordialement

    Répondre
    1. dyox

      Pas encore de boot usb pour la v4.
      J’avais fait un tuto il y a déja 2 ans. Une méthode dite universelle et qui fonctionnera toujours.
      https://forums.framboise314.fr/viewtopic.php?f=44&t=4401&p=27053#p27053
      Si on reste sur du EXT4 en 10 min, c’est fait. En gros le boot se fait sur SD et le rootfs sur MSD. La méthode rapide : on grave 2 fois l’iso de raspian, une fois sur la SD et l’autre sur MSD et on modifie le cmdline.txt de la SD pour qu’il pointe sur le rootfs du MSD. Et de mémoire, le fstab du rootfs se fait tout seul. On se retrouve alors avec le rootfs de la sd et le boot (je parle de la 1ere partition) du MSD qui peuvent alors servir de backup.

      Répondre
  42. Alexis

    Je suis pas sûr que se soit intéressant d’utiliser une clé USB : celle-ci n’a pas une durée de vie (lecture/écriture) supérieur à la SD……je pense qu’un SSD est préférable.

    Répondre
  43. Ping : Création d'une seedbox avec Deluge sur un Raspberry - GBD

      1. Jerome

        Bonjour et merci de votre rapide réponse.
        Malheureusement aucune option pour le RaspberryPi 2.
        Il semblerait que cette possibilité ne soit pas dispo.
        J’ai besoin de booter sur des clés USB sur la totalité de mes Raspberry 2->4
        Je sens que ca va être compliqué 🙂

        Répondre
        1. ricodelvega

          Bonjour,
          Après avoir pas mal cherché et notamment ici, j’ai enfin réussi à booter un rapsberry 2 v1.1 (BCM2836) avec une carte SD formattée en FAT32 et ne contenant QUE le nouveau bootcode.bin fourni par raspberry (à priori, on ne peut pas se passer totalement de SD) et la copie de ma carte SD initiale sur une clé USB (ce grace au script de Bill WILSON : rpi-clone)
          PS : sur le site de référence, c’est notifié ainsi :
          Format an SD card as FAT32 and copy on the latest bootcode.bin. The SD card must be present in the Pi for it to boot. Once bootcode.bin is loaded from the SD card, the Pi continues booting using USB host mode.

          Répondre
  44. Hervé

    Bonjour, sur tous les articles qui parlent de boot sur Usb aucun ne précise si on peut continuer à utiliser le port sd pour de la lecture et écriture de data (database par exemple).

    Auriez-vous une réponse ?
    Merci!

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      oui bien sûr on peut continuer à utiliser la carte SD
      Mettez une carte SD neuve (elle est formatée en FAT)
      Lorsque vous bootez en Desktop sur la clé ou sur le SSD vous verrez apparaître sur le bureau un volume correspondant à votre carte SD.
      Carte SD montée sur le bureau de Raspberry Pi OS
      Le système la monte automatiquement et vous pouvez faire du glisser déposer dessus.
      En mode texte il faudra monter la clé pour l’utiliser mais ça fonctionne comme d’habitude
      cdt
      françois

      Répondre
      1. Hervé

        merci également pour votre réponse.
        bon, ça me soulage tout ça 🙂

        j’ai l’impression que ça laisse deux choix:
        1) OS sur USB + carte SD pour la data
        2) OS et data sur SSD (moins compact)

        bonne soirée,

        Répondre
  45. Peyruse

    Bonjour François,

    merci beaucoup pour cet article. J’ai passé le pas vers un adaptateur SSD/USB attaché à un SSD NVME 2230, ça fonctionne très bien. Je flashe le SSD avec Rpi imager, windisk imager ne fonctionnant pas. Le flash du SSD avec RPi imager donne 20-30s pour 6Go… Avec cette méthode, le « expand file system » est à faire à la main.(https://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition)

    Je voulais compléter l’article avec une petite étude que j’ai faite sur la consommation… et je me pose une question :

    Configuration : RPi3B Raspbian Stretch Lite + dongle Ethernet pour connexion SSH (le port principal étant dédié à des passerelles multi-protocole domotique) + Alimentation RPi standard coupée pour mettre un ampèremètre.

    Si je boote avec une carte SD, l’ensemble consomme 270mA à 0% de CPU. A 100% de CPU (stress –cpu 4 –timeout 20s), la consommation atteint 710mA. On a donc 440mA liés à l’activité des CPU.

    Si je boote avec un SSD 256Go, l’ensemble consomme 530mA à 0% de CPU. Le SSD ajoute donc 260mA de conso. MAIS quand je charge le CPU à 100%, la consommation arrive à 710mA. J’ai donc 180mA liés à l’activité des CPU.

    C’est comme si l’efficacité mA/CPU était meilleure avec un SSD/USB ? J’ai du mal à imaginer la raison d’un tel phénomène…

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Thomas
      Effectivement c’est bizarre
      Avec le SSD je suppose que la SD card n’est plus présente, il faut soustraire sa conso mais je ne vois pas trop
      d’ou ca peut venir, stress utilise la mémoire il me semble…
      j’ai un ssd sur mon pi400 je vais faire un test
      cdt
      françois

      Répondre
    2. François MOCQ Auteur de l’article

      Bonjour Thomas
      je viens de faire un essai avec un Pi 400
      soit avec une SD toute fraiche, et stress dans un terminal
      soit avec un SSD 512Go connecté en USB3
      pour moi c’est correct… je ne vous pas d’ou peut provenir la différence chez toi

      Répondre
      1. Peyruse

        Bonjour François, merci beaucoup pour ces relevés qui semblent en effet logiques.
        Je confirme que j’ai bien enlevé la carte SD quand je fonctionne sur SSD.

        En gros, 500mA correspondent à 100% CPU sur la Pi4. Le fait que j’ai que 180mA sort des ordres de grandeur. Je vais creuser (ajouter le desktop et essayer sur une Pi4 (au lieu de la Pi3B que j’utilise ici)
        Je les mettrai dessous.

        Répondre

Laisser un commentaire

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

Complétez ce captcha SVP *

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