Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Avatar de l’utilisateur
akenad
Actif
Messages : 694
Inscription : 27 oct. 2017, 11:39

[RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par akenad » 08 juil. 2019, 01:35

---EDIT 04/10/2019---
RTEX migré vers le nouveau forum : https://community.jeedom.com/t/2512


Bonjour à tous, c'est akenad :),

Aujourd'hui je vais vous présenter un retour d'expérience sur la mise en œuvre d’un RPi4B avec système sur support de stockage USB SSD.

Les équipements et logiciels utilisés sont les suivants :
- RPi4B 4Go
- Raspbian Buster Lite (base Debian 10)
- carte microSD 32 Go
- SSD 32 Go Transcend (TS32GMSA370)
- boîtier SSD USB/mSATA (Inateck Boîtier USB 3.0) pour y placer le SSD
- adaptateur microSD/USB Transcend USB3

La version du firmware de l’EEPROM du Rpi4B ne permettant pas au jour ou j’écris ces lignes de booter directement sur USB, nous allons booter sur carte microSD, tout en ayant le système sur USB SSD. C’est-à-dire en mettant /boot sur SD et / sur SSD. / est la racine (root) du système de fichiers.

Nous allons procéder en plusieurs étapes :
1) installer l’image Raspbian Buster Lite sur la microSD et sur l’USB/SSD.
2) étendre la partition physique système de la SSD
3) configurer le chargement du boot et du système en modifiant le fichier cmdline.txt
4) installation sur le RPi4B, modification de /etc/fstab et configuration du système

1) installer l’image Raspbian Buster Lite sur la microSD et sur l’USB/SSD.

L'image que j'ai utilisée est du 24-06-2019 et disponible ici : https://downloads.raspberrypi.org/raspb ... 019-06-24/
La dernière version d'image disponible est ici : https://downloads.raspberrypi.org/raspbian_lite_latest

Nous allons installer l’image Raspbian Buster Lite avec BalenaEtcher 2 fois, une fois sur la SD et une fois sur la SSD en utilisant un port USB d’un PC (l’idéal étant d’avoir 2 ports USB3 et de faire tout en même temps) :
-connecter l’USB/SSD
-pour la microSD, utiliser l'adaptateur microSD/USB

L’image flashée avec BalenaEtcher crée 2 partitions sur le support de stockage, la première partition FAT32 de 256 Mo et la deuxième partition système linux EXT4 d’environ 2 Go.
Une fois l’image flashée , la partition FAT32 qui vient d’être créée peut ne pas être visible, dans ce cas débrancher et rebrancher l’USB.

Sur la SD et la SSD (c’est-à-dire sur la partition FAT32 créée, mettre à la racine un fichier nommé « ssh » vide. (ceci est nécessaire pour pouvoir accéder par la suite au RPi4B en SSH).

2) étendre la partition physique système de la SSD

Après le flashage de l’image sur la SSD, la partition physique système est d’environ 2Go alors que la SSD est de 32 Go.
Pour étendre la partition la méthode la plus simple que j’ai trouvée et de booter la toute première fois sur la SSD avec un RPi3B+ (oui, ok il faut en avoir un), ce qui a pour effet d’étendre automatiquement la partition physique système au maximum disponible à savoir ici environ 32 Go.
(A noter que cette opération à pour conséquence de créer un nouveau identifiant pour le disque SSD.)

3) configurer le chargement du boot et du système en modifiant les fichiers cmdline.txt

La partition FAT32 de la SD et de la SSD contiennent à la racine le fichier cmdline.txt contenant le paramètre :
root=PARTUUID=xxxxxxxx-02
ou xxxxxxxx en hexadécimal sur 8 caractères représente un identifiant de disque et -02 la deuxième partition (partition système (partition root)).
dans le cas présent j’ai :
- identifiant de la SD : 1ac7c83c
- identifiant de la SSD : 5fd9eb02
dans le cmdline.txt de la SD je remplace 1ac7c83c par 5fd9eb02, ainsi après le boot sur la SD, le système sera chargé à partir de la SSD.

4) installation sur le RPi4B, modification de /etc/fstab et configuration du système

Sur le Pi4, mettre la SD dans son logement et l’USB/SSD sur un port USB (couleur bleue pour USB3) et démarrer.
Brancher le câble réseau puis l’alimentation.
.
.
RPi4B-SSD.jpg
RPi4B-SSD.jpg (539.24 Kio) Consulté 1976 fois
.
.
Le pi4 boot sur la SD et charge le système depuis la SSD.
Repérer l’adresse IP prise sur le réseau et se connecter SSH (pi/raspberry)

Nous allons modifier le fichier /etc/fstab sur la SSD afin d’indiquer sur la SSD que le /boot est chargé depuis la SD. Ce qui permettra par la suite d’effectuer correctement les mises à jour Kernel et firmware.

Code : Tout sélectionner

pi@raspberrypi:~ $ cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=5fd9eb02-01  /boot           vfat    defaults          0       2
PARTUUID=5fd9eb02-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

Code : Tout sélectionner

pi@raspberrypi:~ $ sudo nano /etc/fstab
Pour la partition /boot, remplacer l’identifiant de disque SD (ici 5fd9eb02) par l’identifiant de disque SSD (ici 1ac7c83c) :

Code : Tout sélectionner

pi@raspberrypi:~ $ cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=1ac7c83c-01  /boot           vfat    defaults          0       2
PARTUUID=5fd9eb02-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
On retrouve les identifiants de disque par la commande fdisk :

Code : Tout sélectionner

pi@raspberrypi:~ $ sudo fdisk -l
[...]
Disk /dev/mmcblk0: 30.2 GiB, 32395755520 bytes, 63272960 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1ac7c83c

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        8192   532480   524289  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      540672 63272959 62732288 29.9G 83 Linux

Disk /dev/sda: 29.8 GiB, 32017047552 bytes, 62533296 sectors
Disk model: ASM1153E
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0x5fd9eb02

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         8192   532480   524289  256M  c W95 FAT32 (LBA)
/dev/sda2       540672 62533295 61992624 29.6G 83 Linux
Le modèle de disque « ASM1153E » correspond à la SSD.
On retrouve bien :
- identifiant de la SD : 1ac7c83c
- identifiant de la SSD : 5fd9eb02

/dev/root ne fait pour l'instant qu'environ 2 Go.

Extension de la partition logique :

Code : Tout sélectionner

pi@raspberrypi:~ $ sudo resize2fs /dev/sda2
resize2fs 1.44.5 (15-Dec-2018)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/sda2 is now 7749078 (4k) blocks long.

Code : Tout sélectionner

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  1.7G   27G   6% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G  8.5M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   40M  213M  16% /boot
tmpfs           391M     0  391M   0% /run/user/1000
/dev/root fait maintenant 30 Go.

Ce qui à été détaillé ici permet donc de faire tourner un RPi4B sur un SSD, en bootant sur SD, en attendant qu’une mise à jour du firmware du Pi4 soit disponible pour se passer de la SD comme c’est le cas sur un RPi3B+.

Buster venant de passer en stable, lancer la commande suivante pour que les prochaines mises à jour se passent bien :

Code : Tout sélectionner

pi@raspberrypi:~ $ sudo apt-get update --allow-releaseinfo-change

La suite de la configuration étant classique, je ne détaillerai pas.

Les sources de depots :

Code : Tout sélectionner

pi@raspberry:~ $ cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

pi@raspberry:~ $ ls /etc/apt/sources.list.d/
raspi.list

pi@raspberry:~ $ cat /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ buster main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ buster main
Raspbian Buster a installé par défaut entre autres :
- php7.3
- python2.7 et python3.7
- NodeJS 10.15.2 (n'a pas installé npm, j'ai donc installé en plus npm, c'est la 5.8.0)
(a noter que si l'on purge Nodejs et npm, puis que l'on installe npm, npm installe aussi nodejs)
/!\ ATTENTION donc à la compatibilité avec les installations des dépendances du core et plugins actuels.

Installation de Jeedom 3.3.27 (master) OK.
Juste un petit souci d'installation de dépendances :
- Le paquet "libav-tools" a été remplacé par le paquet "ffmpeg", c'est donc ce dernier qu'il faut installer pour effectuer du codec stream audio video.
- synthétiseurs vocaux libttspico et mbrola NOK
.
RPi4B-ventilateur-radiateurs.jpg
RPi4B-ventilateur-radiateurs.jpg (564.95 Kio) Consulté 812 fois
.
Le pi4 chauffant plus que le pi3 il est conseillé d'y ajouter radiateurs et ventilateur :

Pour alimenter en 5 volts le ventilateur, brancher ses 2 fils sur le connecteur GPIO du Pi.
Les 2 fils se branchent sur la rangée externe, en partant de la gauche,
-le fil rouge sur sur le 1er ou 2ième pin (5v)
-le fil noir sur le 3ième pin (Ground)

Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :)
Dernière édition par akenad le 05 oct. 2019, 10:38, édité 19 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Avatar de l’utilisateur
sheep300
Actif
Messages : 1202
Inscription : 27 mai 2015, 23:27
Localisation : la rochelle

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par sheep300 » 08 juil. 2019, 06:20

Merci pour ce super tuto.
C'est quand même con que sur un raspberry tout nouveau j'ai toujours pas le boot sur SSD.
J'ai trouvé meme assez aberrant qu'il n'y ait pas directement un port m2

Envoyé de mon Mi MIX 2S en utilisant Tapatalk

Damien

BLRPERES
Actif
Messages : 1115
Inscription : 31 août 2016, 10:51
Localisation : Bourg-La-Reine

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par BLRPERES » 08 juil. 2019, 07:41

Très bizarre effectivement de ne pas pouvoir booter directement en usb ?!

Ensuite je ne vois pas les commandes classiques de mise à jour du pi
Sans oublier de changer de mots de passe


Envoyé de mon iPhone en utilisant Tapatalk

Avatar de l’utilisateur
bronche
Modérateur
Messages : 973
Inscription : 07 janv. 2016, 19:29
Localisation : Du côté de Issy les Moulineaux la semaine et de Péronne le week-end...

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par bronche » 08 juil. 2019, 15:24

Merci pour ton tuto, tu m'as devancé mais je n'aurais pas fait mieux :D
C'est effectivement la meilleure solution pour le moment.
Clair net et précis. Bravo.
Amitiés
Phil
Helper Officiel Jeedom
Des images non officielles jeedom maintenues et hébergées par mes soins :
https://queen.useed.fr/SB1268/owncloud/ ... mA9xeSgBgx

Swr
Actif
Messages : 697
Inscription : 08 nov. 2016, 20:56
Localisation : 44

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par Swr » 08 juil. 2019, 20:19

Merci, utile et bien détaillé

glooobule
Helper
Messages : 33
Inscription : 28 avr. 2017, 16:30

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par glooobule » 19 juil. 2019, 11:53

Merci pour ton travail et ton retour akenad, j'attends mon rpi 4 pour me lancer également 😃
Helper Officiel Jeedom

Swr
Actif
Messages : 697
Inscription : 08 nov. 2016, 20:56
Localisation : 44

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par Swr » 15 août 2019, 21:50

Merci pour le tuto

Envoyé de mon Redmi Note 4 en utilisant Tapatalk


Alomamabobo
Timide
Messages : 2
Inscription : 09 mai 2017, 18:13

Re: [RTEX] RPi4B - Raspbian Buster Lite - USB SSD

Message par Alomamabobo » 18 août 2019, 11:10

Bonjour,
Merci pour ce retour Akenad :)

Répondre

Revenir vers « Raspberry Pi »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité