Booter sur une clé USB avec un Raspberry-Pi

raspberry-pi-USB-boot

Dans ce tutoriel, nous allons voir comment démarrer un système d’exploitation choisi à partir d’un périphérique de stockage USB au lieu de la carte SD standard.

En effet, il est possible d’utiliser un périphérique de stockage USB pour démarrer sur son RPI à la place d’une carte SD. Cela peut notamment être pertinent pour plusieurs raisons.

Une des raisons est que le stockage sur clé USB est généralement moins cher que sur des cartes SD. Autre raison, il est plus facile de changer une clé USB sur un Raspberry-Pi qu’une carte SD.

L’utilisation d’un lecteur USB peut ainsi s’avérer utile si vous souhaitez exécuter un émulateur de jeux vidéo rétro, un média-center ou encore d’autres projets nécessitant beaucoup d’espace pour être utiles (voir tous les tutos Raspberry-Pi sur Windtopik).

Attention : Il est recommandé d’utiliser un Raspberry Pi 2B v1.2 et le Raspberry Pi 3B, 3B +, 3A +. Les anciens Raspberry Pi n’ont malheureusement pas la possibilité de démarrer à partir de la clé USB.

PRE-REQUIS Matériel :

Configuration du Raspberry Pi pour un amorçage USB

Si vous avez un Raspberry Pi 3B +, vous pouvez passer directement à la section suivante du tutoriel, car les bits d’amorçage USB sont déjà définis dans la mémoire OTP (One-Time Programmable) du périphérique.

1 – Pour commencer cette partie du guide, vous devez commencer avec une carte SD sur laquelle Raspbian est installé. Pour les besoins de ce tutoriel, vous pouvez simplement utiliser Raspbian Lite car nous n’avons besoin que de la ligne de commande.

Mise à jour de Raspbian

2 – Une fois que votre Raspberry Pi est démarré dans le système d’exploitation Raspbian, continuez et entrez la commande suivante dans le terminal. Ces commandes garantiront que le Raspberry Pi est entièrement à jour et possède toutes les fonctionnalités dont nous avons besoin.

sudo apt-get update
sudo apt-get upgrade

3 – Maintenant que Raspbian est à jour, nous pouvons maintenant entrer la commande suivante dans le terminal. Cette commande écrit le texte program_usb_boot_mode = 1 dans le fichier de configuration de démarrage de sorte que, lors du démarrage de Raspberry Pi, il sache qu’il doit écrire des données dans l’OTP pour le mode de démarrage USB.

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

4 – Avec les données ajoutées au fichier /boot/config.txt, il faut maintenant redémarrer le Raspberry Pi en exécutant la commande suivante :

sudo reboot

5 – Une fois que le Raspberry Pi a fini de redémarrer, nous pouvons vérifier que l’OTP a été écrit en exécutant la commande suivante. Nous utilisons l’outil « vgencmd » de Raspberry Pi pour fournir un dump de l’OTP, et à partir du résultat, nous utilisons grep pour voir si le texte 17: peut être trouvé dans les données renvoyées.

vcgencmd otp_dump | grep 17:

6 – Si tout a fonctionné correctement, le texte suivant devrait apparaître dans votre ligne de commande à partir de la commande précédente.

17:3020000a

7 – Avant de passer à la configuration de notre clé USB avec Raspbian, nous allons supprimer la ligne que nous avons ajoutée précédemment au fichier de configuration en exécutant la commande suivante.

sudo sed -i 's/program_usb_boot_mode=1//g' /boot/config.txt

Démarrer le Raspberry Pi depuis une clé USB

Il est très simple de configurer une clé USB de boot pour son Raspberry Pi. C’est comme installer Raspbian sur une carte SD. Cependant, au lieu de sélectionner votre lecteur de carte SD, vous choisirez le périphérique de stockage USB que vous souhaitez formater. Voyons ainsi comment écrire sur un périphérique USB depuis l’excellent logiciel Etcher.

Choix du système d’exploitation

1 – Commencez par choisir et télécharger le système d’exploitation que vous souhaitez installer sur la clé USB afin que votre Raspberry Pi « Boot » sur celle-ci (Utilisation de Raspbian dans ce tutoriel).

Installation avec Etcher

2 – Maintenant que vous avez l’image que vous voulez, vous devez récupérer Etcher pour pouvoir l’écrire sur votre périphérique USB. Vous pouvez télécharger l’outil Etcher de Balena.

3 – Une fois Etcher téléchargé et installé sur votre ordinateur, lancez-le et appuyez sur le bouton « Select image ». Depuis ce menu, accédez à l’emplacement où vous avez téléchargé votre copie de Raspbian et sélectionnez-la.

Sélectionnez l’image d’une distribution

4 – Cliquez ensuite sur le bouton Sélectionner un lecteur. Dans l’invite qui apparaît, trouvez le périphérique de stockage USB que vous souhaitez utiliser comme lecteur de démarrage pour le Raspberry Pi et cliquez sur le bouton « CONTINUE ».

Choix de la clé USB

5 – Enfin, cliquez sur le bouton « Flash! » pour commencer le processus d’installation de la carte SD. Attention, soyez conscient que ce processus puisse prendre du temps.

6 – Une fois terminé, sortez votre clé USB et placez-la dans un port USB de votre Raspberry Pi.

7 – Vous devriez maintenant pouvoir démarrer votre Raspberry Pi sans y insérer de carte SD. Le Raspberry Pi devrait automatiquement utiliser votre clé USB en tant que périphérique d’amorçage. 🙂

Noter que le Raspberry Pi peut prendre de 10 à 20 secondes pour que le périphérique USB soit récupéré et que le processus de démarrage s’effectue.

Il est possible que malgré que vous ayez suivi la procédure le Raspberry-Pi ne boot pas sur la clé USB… En effet certains périphériques USB (clés USB, disques dur) ne sont pas fonctionnels avec le Raspberry-Pi (Tutoriel effectué avec une clé USB Transcend). Hélas je n’ai pas trouvé de liste répertoriant les devices compatibles.

Si vous avez des questions complémentaires sur ce tutoriel, n’hésitez pas à les poser dans la zone de commentaires ci-dessous. 🙂

A bientôt !


Si vous avez trouvé une faute d’orthographe, merci de nous en informer en sélectionnant le texte en question et en appuyant sur « Ctrl + Entrée« .