Raspberry Pi 2 et program_usb_boot_mode=1 !

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

Répondre
Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Raspberry Pi 2 et program_usb_boot_mode=1 !

Message par Artemus24 » ven. 15 sept. 2017 20:44

Salut à tous.

J'ai voulu tester le démarrage de la Raspberry Pi 2 sans carte Micro SD.

Je suis parti d'une carte Micro SD où j'ai installé la dernière version Debien qui est "STRETCH".
Jusque là, tout va bien ! Je vais ci-après détailler les étapes de mon test :

1) j'ai modifié le fichier "/boot/config.txt" afin d'ajouter la ligne suivante :
--> program_usb_boot_mode=1

2) je redémarre (reboot) ma Raspberry afin que cette modification soit pris en compte.

3) J’ai fait le test suivant :
--> vcgencmd opt_dump | grep 17
La commande a bien fonctionné mais ne m’a pas retourné la valeur attendue :
--> 17 :1020000a

4) En cherchant sur le net, je découvre que cette fonctionnalité a été installé avec la version 4.50 du noyau.
Je vérifie ma version en faisant :
--> uname –a
Et je lconstate que j'ai la version :
--> 4.9.41-v7+

5) Je procède à une mise à jour du noyau en faisant :
--> rpi-update

Je redémarre ma raspberry à la fin de cette mise-à-jour.

6) Je refais le test de la version du noyau et je constate que j’ai maintenant la version :
--> 4.9.50-v7+

7) Je modifie à nouveau le fichier /boot/config.txt en ajoutant la ligne suivante :
--> program_usb_boot_mode=1

Je redémarre la Raspberry à nouveau.

8) Je fais à nouveau le test et je trouve la même chose :
--> 17 :1020000a

9) Je me dis que cela doit dépendre de la version de mon processeur.
Je fais le test suivant :
--> cat /proc/cpuinfo
Et je lis :
--> Hardware : BCM2835
--> Revision : a01041
--> Serial : 00000000e9967e15

10) D'après le didacticiel de M. François Mocq, et vu que j'ai un BCM2835, je dois installer un autre "bootcode.bin".
Il se trouve à l’adresse suivante :
--> https://github.com/raspberrypi/firmware ... otcode.bin

11) Je me mets dans le répertoire "/boot".
Je renomme l’ancienne version en "bootcode.bin.old".

12) J'installe le nouveau "bootcode.bin", en utilisant la commande "wget" avec comme paramètre, le chemin ci-dessus.
Et je redémarre la Raspberry une nouvelle fois.

13) je teste :
--> vcgencmd opt_dump | grep 17
et je trouve la même valeur, à savoir :
--> 17 :1020000a
Ça ne fonctionne toujours pas !

14) Je vérifie dans le lien ci-dessus et je constate que c’est la « kernel :bmp to 4.9.13 ».
Donc pas compatible car une version plus ancienne que celle que j’ai actuellement (4.9.50-v7+).

Du coup, je me retrouve bloqué avec cette astuce qui ne fonctionne pas.

Avez-vous des informations supplémentaires concernant la résolution de ce problème sur la Raspberry Pi 2 (processeur BCM2835) ?

@+

dyox
Raspinaute
Messages : 970
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Raspberry Pi 2 et program_usb_boot_mode=1 !

Message par dyox » ven. 15 sept. 2017 22:04

Bonsoir,

Je vous laisse lire cet excellent article :D :D :D :D

[EDIT]
Mon tuto n'est peut-être pas assez clair.
L'OTP n'est reprogrammable qu'avec un Pi3
Pour les Pi1 et Pi2, il faut le bootcode.bin SEUL sur la SD formatée en FAT

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Raspberry Pi 2 et program_usb_boot_mode=1 !

Message par Artemus24 » sam. 16 sept. 2017 01:11

Salut dyox.

J'ai lu en entier le sujet de M. François Mocq consacré à "Boot simplifié sur USB avec les Raspberry Pi 1, 2 et 3".
J'ai aussi lu votre article présent dans ce forum : viewtopic.php?f=44&t=4008.
Si j'ai ouvert ce sujet avant de ramener ma framboise sur ce forum, c'est que le test n'a pas fonctionné, et je ne sais pas pourquoi.
dyox a écrit :Mon tuto n'est peut-être pas assez clair.
A priori, oui, il est clair !
dyox a écrit :L'OTP n'est reprogrammable qu'avec un Pi3
Qu'est-ce que votre phrase veut dire ? Que le test ne fonctionne qu'avec une Raspberry Pi 3.
Donc cela ne peut pas fonctionner avec la Raspberry Pi 2. Dois-je comprendre cela ?
dyox a écrit :Pour les Pi1 et Pi2, il faut le bootcode.bin SEUL sur la SD formatée en FAT
Ce test, je l'ai fait ce soir, en créant une partition formaté en FAT32 sur une autre carte Micro SD, avec seulement le "bootcode.bin".
J'obtiens le même résultat. Je n'ai aucun démarrage sur ma clef usb.
Et en plus, je ne sais même pas où ça coince (registre 17, compatibilité de la clef usb, autre problème) ?

La clef usb a été partitionné à l'identique de la carte Micro SD avec la version Debian STRETCH.
Quand j'ai fait le test du démarrage en boot avec cette même clef, cela fonctionnait.
Je parle bien sûr de ce didacticiel : http://www.framboise314.fr/booter-le-ra ... e-dur-usb/.

Le test du registre 17 ne fonctionne pas avec ma Raspberry Pi 2.
Il est inutile que je continue si cela coince dès le début, non ?

Avez-vous testé cette astuce sur une Raspberry pi 2 ?

Le but recherché est de ne pas utiliser de carte Micro SD sur la Raspberry.
Or vous dites un peu plus loin dans votre didacticiel :
dyox a écrit :On éteint la Pi et on enlève la SD.
Il y a peut-être quelque chose de subtile qui m'échappe.

Pourquoi créer une carte Micro SD, juste avec le "bootcode.bin" qui servira qu'une seule fois ?
D'autant plus que le fichier "/boot/config.txt" n'est pas présent sur cette carte Micro SD.
Donc comment le Raspberry peut savoir qu'il faut exécuter "program_usb_boot_mode=1" ?
C'est un des points que je ne comprends pas !
Sauf s'il existe une mémoire qui stocke sur la Raspberry ce genre d'information.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

dyox
Raspinaute
Messages : 970
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Raspberry Pi 2 et program_usb_boot_mode=1 !

Message par dyox » sam. 16 sept. 2017 10:59

dyox a écrit :
L'OTP n'est reprogrammable qu'avec un Pi3
Qu'est-ce que votre phrase veut dire ? Que le test ne fonctionne qu'avec une Raspberry Pi 3.
Donc cela ne peut pas fonctionner avec la Raspberry Pi 2. Dois-je comprendre cela ?
C'est ça ! Quand on parle d'OTP et de registre 17 c'est pour un Pi3.
dyox a écrit :
Pour les Pi1 et Pi2, il faut le bootcode.bin SEUL sur la SD formatée en FAT
Ce test, je l'ai fait ce soir, en créant une partition formaté en FAT32 sur une autre carte Micro SD, avec seulement le "bootcode.bin".
J'obtiens le même résultat. Je n'ai aucun démarrage sur ma clef usb.
Et en plus, je ne sais même pas où ça coince (registre 17, compatibilité de la clef usb, autre problème) ?
Registre 17, on oublie. Si cela ne fonctionne pas, j'avais précisé de rajouter un fichier timeout en plus pour étendre la durée d’initialisation du MSD à 6s. L'avez-vous fait ? Si cela ne fonctionne tjs pas, la clé n'est alors pas compatible.
D'ailleurs, c'est quoi comme clé ?
Autant le savoir pour faire le récapitulatif des clés compatibles.
La clef usb a été partitionné à l'identique de la carte Micro SD avec la version Debian STRETCH.
Quand j'ai fait le test du démarrage en boot avec cette même clef, cela fonctionnait.
Je parle bien sûr de ce didacticiel :http://www.framboise314.fr/booter-le-ra ... e-dur-usb/.
La différence avec ce tuto, qui fonctionnera toujours, c'est tjs la SD qui boote (mmcblk0p1) et l'OS est déporté sur un autre support.
Je vais le rajouter sur le tuto, cela peut être utile si la clé n'est pas compatible.
Cela est aussi une solution si on ne veut pas user la SD.
Le test du registre 17 ne fonctionne pas avec ma Raspberry Pi 2.
Il est inutile que je continue si cela coince dès le début, non ?
Répondu précédemment, pas d'OTP et donc de registre 17 sur un Pi2
Avez-vous testé cette astuce sur une Raspberry pi 2 ?
Oui, dans l'article j'avais dit :
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 but recherché est de ne pas utiliser de carte Micro SD sur la Raspberry.
Dans ce cas, l'ancien tuto (booter-le-raspberry-pi-sur-un-disque-dur-usb) est fait pour vous.
Or vous dites un peu plus loin dans votre didacticiel :
dyox a écrit :
On éteint la Pi et on enlève la SD.
Il y a peut-être quelque chose de subtile qui m'échappe.
Pourquoi créer une carte Micro SD, juste avec le "bootcode.bin" qui servira qu'une seule fois ?
D'autant plus que le fichier "/boot/config.txt" n'est pas présent sur cette carte Micro SD.
Donc comment le Raspberry peut savoir qu'il faut exécuter "program_usb_boot_mode=1" ?
C'est un des points que je ne comprends pas !
Sauf s'il existe une mémoire qui stocke sur la Raspberry ce genre d'information.
J'avais cité mes sources pour les personnes qui veulent aller plus loin et curieuses : https://www.raspberrypi.org/documentati ... bootmodes/
Ce sera peut-être plus clair pour vous.
Ca, c'était pour un Pi3. Une fois l'OTP reprogrammé, le boot se fait sur SD (prioritairement si présente) ou MSD
L'histoire du bootcode.bin, c'est pour principalement les Pi1 et 2. Pour le 3 si cela ne fonctionne pas avec la clé + fichier "timeout" malgré la reprogrammation du registre 17.

J'espère avoir été clair cette fois.
Donc en résumé pour vous avec un Pi2 : SD en FAT32 avec les fichiers bootcode.bin + timeout et clé
Si cela ne fonctionne pas, retour sur ce tuto : http://www.framboise314.fr/booter-le-ra ... ue-dur-usb

Et Il faut garder à l'esprit que ce n'est que du bricolage fait par la Fondation. C'est toujours expérimental !

Pfuuuu, j'ai battu mon record du post le plus long.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Raspberry Pi 2 et program_usb_boot_mode=1 !

Message par Artemus24 » sam. 16 sept. 2017 21:08

Salut dyox.

Merci de m'aider pour ce problème !
dyox a écrit :C'est ça ! Quand on parle d'OTP et de registre 17 c'est pour un Pi3.
Et donc, pas de solution pour une RPI2.
dyox a écrit :D'ailleurs, c'est quoi comme clé ?
C'est une verbatim store N go de 64 Go USB 2.0 de couleur mauve. Sur l'image, elle apparait plutôt bleue.

Image
dyox a écrit :Dans ce cas, l'ancien tuto (booter-le-raspberry-pi-sur-un-disque-dur-usb) est fait pour vous.
Oui !
dyox a écrit :J'avais cité mes sources pour les personnes qui veulent aller plus loin et curieuses
J'ai lu le site anglo-saxon où il est question de l'astuce sur la RPi3.
Je sais que l'astuce fonctionne pour une Rpi zéro W, mais rien n'est dit pour la Rpi2.
dyox a écrit :Et Il faut garder à l'esprit que ce n'est que du bricolage fait par la Fondation. C'est toujours expérimental !
C'est ce que j'ai compris aussi.
dyox a écrit :Pfuuuu, j'ai battu mon record du post le plus long.
Non, votre didacticiel est beaucoup plus long.

Concernant le registre 17 de la RPi3, la solution est hardware ou software ?
D'après ce que j'ai pu comprendre, elle est avant tout hardware.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « Utilisateurs avancés »