Nombre de connexions E-Mail Statistiques du site
Bio

lundi 7 août 2017
Nombre de visites : 455

Raspberry - Boot sur l’USB

En me baladant sur le net, à la recherche d’une nouvelle idée à tester sur mes raspberry, je suis tombé sur cet article. En gros, ça dit que la fondation en charge du raspberry a sorti un nouveau bootcode.bin. Ce code se place sur un composant du raspberry et est chargé de gérer le boot. En clair, avant, le raspberry cherchait à charger le boot sur la sdcard branchée sur le pi. Il cherchait ce boot sur la partition (en principe la première) formatée en FAT32 (important à savoir pour la suite).

Avec ce nouveau bootcode.bin, le raspberry va chercher le boot sur la carte sd puis, s’il ne ne trouve pas (pas de carte sd par exemple), il va chercher ce bootcode sur un périphérique USB -carte USB ou mieux, disque dur externe).

Sur mes serveurs, depuis mes déboires de l’automne dernier, le système tourne sur des disques dur externes. Mais j’étais obligé de garder une carte sd pour le boot. D’où un risque et une certaine inélégance (avoir deux mémoires de masse pour la même chose, ça fait un peu hybride).

Évidemment, il a fallut ruser un peu.
- D’abord, faire une sauvegarde à froid sur un autre pc de la partition du disque dur (via un rsync -avr, qui fait une copie très propre, comprendre, qui garde les liens symboliques, les permission, etc...).
- puis repartitionner le disque avec une première partition (type fdisk c) en FAT32 et la deuxième en Linux.
- formater ces deux partitions (j’ai gardé les mêmes labels qu’a l’origine, c-a-d boot et root).
- transférer le contenu de la partition boot de la sd au disque et faire de meme pour la partition root.
- modifier le fichier /boot/cmdline.txt (changer le paramètre root=) pour pointer sur la partition root (/dev/sda2 dans mon cas), sinon, le boot va s’arrêter très rapidement...
- modifier le fichier /etc/fstab pour indiquer ou se trouve la racine (/dev/sda2 pour moi) et le répertoire /boot (/dev/sda1 pour moi).

Et magie de Linux, ça redémarre tout seul !!!

J’ai testé avec un clé USB, ça marche et avec un vieux disque de 40 Go, ça marche pas ... Bref, faut tester...

J’ai pas pu le faire sur mon pi2 : ça marchait pas contrairement à ce que dit l’article. Et j’ai pas testé sur mes pi0, pas d’utilité...

A noter que ce nouveau bootcode.bin apporte d’autres nouveautés :
- boot par USB
- boot par le réseau
- etc...




Répondre à cet article