GreG

#GeeK #Domotique #Alire

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

Publié le 29 juillet 2017

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.

Lexique

OTP : One-Time Programmable
MSD : Mass Storage Device (pour dire disque dur ou clé USB)
DD : Disque Dur

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  »</p

Share Button
Posté dans : Domotique, Geek, veille
Tag :
domotique, geek, veille

Articles récents

  • Install mtr sur Mac OSX M1
  • Serveur PTP linux
  • Postfix « message file too big »
  • Suivre sa consommation d’eau jour, semaine, mois, année avec Eedomus et réaliser enfin des économies
  • Comment automatiser et externaliser les sauvegardes de Jeedom sur NAS Synology

Archives

  • février 2022
  • juin 2019
  • juin 2018
  • février 2018
  • janvier 2018
  • novembre 2017
  • octobre 2017
  • septembre 2017
  • août 2017
  • juillet 2017
  • juin 2017
  • mai 2017
  • avril 2017
  • mars 2017
  • février 2017
  • janvier 2017
  • décembre 2016
  • novembre 2016
  • octobre 2016
  • septembre 2016
  • août 2016
  • juillet 2016
  • juin 2016
  • mars 2016
  • février 2016
  • janvier 2016
  • décembre 2015
  • novembre 2015
  • octobre 2015
  • septembre 2015
  • août 2015
  • juillet 2015
  • juin 2015
  • mai 2015
  • avril 2015
  • août 2014
  • juillet 2014
  • juin 2014
  • mai 2014
  • avril 2014
  • mars 2014
  • février 2014
  • janvier 2014

Mots-clés

30ans alf alire android apple bio chine chocolat cloud dolorean domotique espace geek google gopro hubic humour inconnus ios iphone linux m&ms mac macbook maman mediacenter montre ovh parrot pebble plante pub radioshack raid redbull reseau sense Skittles stockage stream surveillance veille video vidéos wood

Catégories

  • 80s
  • Alire
  • Android
  • Apple
  • Bio
  • Chocolat
  • Cloud
  • Domotique
  • Drone
  • Exploit
  • Geek
  • Humour
  • Linux
  • Mediacenter
  • Non classé
  • Reseau
  • Smartphone
  • veille

Copyright © 2025 GreG.