[TUTO] Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3
Posté : jeu. 20 juil. 2017 17:54
Objectif
S’affranchir de la carte SD, le maillon faible du Raspberry. L’organisation a dû avoir les retours que la Raspberry est une killeuse de carte SD. Et elle a pallié à ce problème.
Lexique
OTP : One-Time Programmable
MSD : Mass Storage Device (pour dire disque dur ou clé USB)
DD : Disque Dur
Source
https://www.raspberrypi.org/documentati ... /README.md
http://www.framboise314.fr/bootez-votre ... ne-cle-usb (ancien tuto)
Niveau
Débutant si nouvelle installation
Intermédiaire autrement car il faut faire une image complète de la SD pour la mettre sur le MSD
Prérequis
- une Raspberry Pi 3 (BCM2837)
- une version de Raspian >= 2017-04-10
- le nouveau bootcode.bin pour les Raspberry Pi (BCM2835), Raspberry Pi 2 (BCM2836) et si la méthode conventionnelle pour la Raspberry Pi 3 ne fonctionne pas.
Le tuto qui suit concerne la Raspberry Pi 3 avec une nouvelle installation de Raspian, en l’occurrence la version du 2017-07-05.
Sur PC (pour ma part Windows):
- Installez Raspian sur la SD ET ensuite sur le MSD avec la procédure conventionnelle.
- Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt de la 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 y peut être modifié.
- Puis on démarre la Pi avec la SD et on vérifie tout de suite la modification du registre 17 de l’OPT :
$ vcgencmd otp_dump | grep 17
17:3020000a doit être la bonne réponse
On peut maintenant effacer ou commenter la ligne program_usb_boot_mode=1
On éteint la Pi et on enlève la SD.
- on branche le MSD et on démarre la Pi et si le MSD est compatible, on boot dessus entre 5 et 10s.
Pour ma part, cela fonctionne avec un très vieux DD 2,5'' 40Go (Momentus, 0,47A) PATA branché sur hub car directement sur la 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 voir la section dépannage.
Voilà c’est fini ! Cette Pi peut maintenant booter sur USB et LAN, en plus de la 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_boot_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 600) pour un DD. Inutile car automatique sur la v3 !
- essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une 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.
- Si cela ne fonctionne toujours pas, alors le MSD n’est pas compatible. Essayer ce tuto à la place : http://www.framboise314.fr/booter-le-ra ... e-dur-usb/)
Astuces
- on peut raccourcir le délai de boot sur MSD en mettant une SD vierge (5s de gagnée)
- si le MSD est une clé USB, pensez à utiliser le système de fichier F2FS.
Pour en savoir plus
A lire avec tous ses sous-liens, tout est bien documenté et expliqué : https://www.raspberrypi.org/documentati ... /README.md
TODO
- Tester avec les Pi v1 et v2 FAIT
- Tester avec NOOBS FAIT
Pour infos
- Mes clés OCZ ATV USB2 32Go et INTEGRAL USB2 32Go n’ont pas fonctionnées
[Edit de correction au 29.04.2019] : program_usb_boot_timeout=1 au lieu de program_usb_timeout=1
S’affranchir de la carte SD, le maillon faible du Raspberry. L’organisation a dû avoir les retours que la Raspberry est une killeuse de carte SD. Et elle a pallié à ce problème.
Lexique
OTP : One-Time Programmable
MSD : Mass Storage Device (pour dire disque dur ou clé USB)
DD : Disque Dur
Source
https://www.raspberrypi.org/documentati ... /README.md
http://www.framboise314.fr/bootez-votre ... ne-cle-usb (ancien tuto)
Niveau
Débutant si nouvelle installation
Intermédiaire autrement car il faut faire une image complète de la SD pour la mettre sur le MSD
Prérequis
- une Raspberry Pi 3 (BCM2837)
- une version de Raspian >= 2017-04-10
- le nouveau bootcode.bin pour les Raspberry Pi (BCM2835), Raspberry Pi 2 (BCM2836) et si la méthode conventionnelle pour la Raspberry Pi 3 ne fonctionne pas.
Le tuto qui suit concerne la Raspberry Pi 3 avec une nouvelle installation de Raspian, en l’occurrence la version du 2017-07-05.
Sur PC (pour ma part Windows):
- Installez Raspian sur la SD ET ensuite sur le MSD avec la procédure conventionnelle.
- Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier config.txt de la 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 y peut être modifié.
- Puis on démarre la Pi avec la SD et on vérifie tout de suite la modification du registre 17 de l’OPT :
$ vcgencmd otp_dump | grep 17
17:3020000a doit être la bonne réponse
On peut maintenant effacer ou commenter la ligne program_usb_boot_mode=1
On éteint la Pi et on enlève la SD.
- on branche le MSD et on démarre la Pi et si le MSD est compatible, on boot dessus entre 5 et 10s.
Pour ma part, cela fonctionne avec un très vieux DD 2,5'' 40Go (Momentus, 0,47A) PATA branché sur hub car directement sur la 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 voir la section dépannage.
Voilà c’est fini ! Cette Pi peut maintenant booter sur USB et LAN, en plus de la 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_boot_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 600) pour un DD. Inutile car automatique sur la v3 !
- essayez aussi avec le nouveau bootcode.bin. A mettre SEUL sur une 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.
- Si cela ne fonctionne toujours pas, alors le MSD n’est pas compatible. Essayer ce tuto à la place : http://www.framboise314.fr/booter-le-ra ... e-dur-usb/)
Astuces
- on peut raccourcir le délai de boot sur MSD en mettant une SD vierge (5s de gagnée)
- si le MSD est une clé USB, pensez à utiliser le système de fichier F2FS.
Pour en savoir plus
A lire avec tous ses sous-liens, tout est bien documenté et expliqué : https://www.raspberrypi.org/documentati ... /README.md
TODO
- Tester avec les Pi v1 et v2 FAIT
- Tester avec NOOBS FAIT
Pour infos
- Mes clés OCZ ATV USB2 32Go et INTEGRAL USB2 32Go n’ont pas fonctionnées
[Edit de correction au 29.04.2019] : program_usb_boot_timeout=1 au lieu de program_usb_timeout=1