[Pi] Boot depuis un SSD

Ayant fait l’acquisition d’un Pi 4 durant l’été, en vue de migrer mon cloud privé vers la dernière génération de Pi et de disposer d’un peu plus de RAM, je me suis donc intéressé à la manière de faire démarrer le Pi depuis un système stocké sur un disque SSD et non plus simplement sur une carte microSD. Disponible d’abord en version bêta, cette fonctionnalité est désormais accessible par défaut, au prix toutefois de quelques opérations de configuration, en fonction du moment où vous aurez fait l’acquisition du Pi.

De mon côté, la première étape a été la vérification de la version du contenu de la mémoire EEPROM du Pi et sa mise à jour. Pour cela préparation d’une carte microSD avec activation de ssh et configuration du Wifi automatiquement au démarrage. Après que le Pi soit apparu dans la liste des clients connectés à mon LAN, et ayant obtenu ainsi son IP, je m’y connecte donc en ssh. Une fois connecté, je lance une mise à jour du système, puis vérifie le contenu de la mémoire EEPROM, et déclenche sa mise à jour, celle-ci étant trop ancienne pour permettre le mécanisme de boot depuis un disque externe.

sudo apt-get install aptitude
sudo aptitude update
sudo aptitude upgrade
sudo rpi-eeprom-update
sudo rpi-eeprom-update -a
sudo reboot

Voici ci-dessous, ce que j’obtiens après mise à jour. De mémoire, pour bénéficier du boot externe, la valeur de CURRENT, doit à la date où j’écris, valoir 000138a1. En supposant que ceci correspond bien à un numéro de version, une version supérieure devrait faire l’affaire. Nous pouvons également considérer, qu’une date antérieure à celle de la version du 3 septembre 2020, ou plus généralement, une différence entre CURRENT et LATEST, sont des indications suffisantes de procéder à la mise à jour.

BCM2711 detected
VL805 firmware in bootloader EEPROM
BOOTLOADER: up-to-date
CURRENT: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000138a1

Une fois cela fait, j’ai donc installé la version lite du Raspberry Pi OS (nouveau nom de raspbian si j’ai bien suivi). À noter que n’ayant pas réussi à réaliser l’installation avec l’installeur officiel, ni avec Etcher, je suis revenu à la bonne vieille méthode manuelle en utilisant dd. Une fois mon disque prêt, je le connecte au Pi, branche le Pi et attends de le voir se connecter au Wifi. Ce qu’il ne fera jamais. Après quelques recherches, je découvre qu’il est également nécessaire d’effectuer une modification de configuration pour changer l’ordre de boot. Retour donc de la carte microSD pour effectuer cette opération avec la commande suivante :

sudo -E rpi-eeprom-config --edit

Il faudra alors remplacer la ligne :

BOOT_ORDER=0x1

Par la valeur suivante pour la variable BOOT_ORDER.

BOOT_ORDER=0xf41

Il ne reste plus qu’à redémarrer, retirer la carte microSD, connecter le disque au Pi et le rebrancher. Après quelques minutes d’attente, le Pi apparaît sur mon LAN et quelques instants plus tard, je parviens à m’y connecter en ssh.

Tout est prêt pour la migration !

YtAutoDark – Quelques mots sur la version 3.1

Un utilisateur m’ayant remonté aujourd’hui un dysfonctionnement sur l’extension, j’ai pris quelques heures ce soir pour procéder à quelques améliorations et correction du code.

Ces dernières semaines, il semble que YouTube procède à de nombreux changements de l’interface, de manière incrémentale et unitaire. Parfois visible, parfois invisible et changeant légèrement la structure du code de la page, obligeant à détecter et prendre en compte ces changements pour s’assurer que l’extension continue de fonctionner correctement. Pour ne pas nous faciliter la tâche, YouTube ne déploie en général un nouveau design, que pour une fraction d’utilisateur, allant parfois même jusqu’à revenir complètement au design précédent après quelques jours. Ce qui est bien entendu frustrant pour l’utilisateur et moi-même, qui nous retrouvons parfois avec le menu ouvert et l’extension bloquée dans le processus d’activation du thème sombre.

Du côté des modifications, l’icône d’ajout de vidéo disparaît dans l’un des designs que j’ai obtenu dans mon navigateur, changeant ainsi l’index du bouton d’ouverture du menu. Petit modification du code pour ne plus utiliser un index statique pour la sélection de l’élément sur lequel cliquer.

Une autre modification, que je ne suis pas parvenu à identifier clairement, a fait apparaître un blocage dans les étapes du processus d’activation, celui-ci n’arrivant plus à détecter que le menu avait bien été ouvert. Le menu restait donc ouvert pendant une dizaine de secondes avant que le code de fallback ne prenne le relais pour une dernière tentative. Ce problème ne devrait plus se produire avec les modifications apportées dans cette nouvelle version.

Les quelques tests, que j’ai réussi à effectuer sur les deux designs différents qui cohabitent actuellement, n’ont pas fait apparaître de dysfonctionnement. Comme toujours, si un problème venait à apparaître, n’hésitez pas à me le signaler sur Github ou en commentaire. Je termine en vous annonçant que cette version 3.1.0 est déjà disponible pour Firefox et en attente de validation pour Chrome.

Bonne nuit et à bientôt.

[Pi] Configuration SSH avant premier démarrage

On prend la même structure que pour la note sur la configuration du Wifi, et on recommence.

Une nouvelle fois, rien de nouveau pour la plupart d’entre nous, mais un moyen pour moi de retrouver facilement la syntaxe de la configuration à utiliser et le lien vers la documentation sur le site officiel.

Pour que le Pi au moment du premier démarrage, active automatiquement un accès SSH, et ne pas avoir à connecter clavier et écran, il suffit donc de créer dans le dossier boot de la carte SD, le fichier ssh. Le contenu du fichier n’a pas d’importance.

Profitons-en pour noter que l’utilisateur par défaut est l’utilisateur pi avec le mot de passe par défaut raspberry. Bien évident, à changer immédiatement lorsque l’on commence à faire autre chose que des tests et du prototypage ou encore que l’on expose le Pi en dehors du LAN.

[Pi] Configuration Wifi avant premier démarrage

Rien de nouveau pour la plupart d’entre nous, mais un moyen pour moi de retrouver facilement la syntaxe de la configuration à utiliser et le lien vers la documentation sur le site officiel.

Pour que le Pi au moment du premier démarrage, se connecte automatiquement au réseau, et ne pas avoir à connecter clavier et écran, il suffit donc de créer dans le dossier boot de la carte SD, le fichier wpa_supplicant.conf.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=fr

network= {
  ssid="Nom du Wifi"
  psk="Mot de passe du Wifi"
}