Raspberry Pi : mettre en place une clé USB

Comment créer un nouveau système de fichiers Ext4 (partition) sous Linux

Linux peut formater une clé USB en un grand nombre de formats :

les standards Linux (ext2, ext3, ext4, reiserfs, xfs, etc.),un format reconnu par Windows (généralement FAT16, FAT32=VFAT, ou NTFS).	Nous supposons que vous voulez formater une clé USB de 128 Go.

Pré-requis

un Raspberry Pi avec sa carte µSD, son alimentation et sa boîteconnecté au réseau par Wi-Fi ou par un cable LANune clé usbavoir installé exfat-fuse, exfat-utils, dosfstools et ntfsprogs :

pi@framboise:~ $ sudo apt update
pi@framboise:~ $ sudo apt upgrade
pi@framboise:~ $ sudo apt install exfat-fuse exfat-utils dosfstools ntfsprogs

avoir ouvert les ports de samba dans ufw :

pi@framboise:~ $ sudo ufw allow samba

Première étape : Repérer la clé USB

Lancez lsblk :

pi@framboise:~ $ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdb 8:16 1 125G 0 disk
└─sdb1 8:17 1 125G 0 part /media/pi/35D2-CE92

ou si la clé est totalement vide et ne comporte aucune partition :

pi@framboise:~ $ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdb 8:16 1 125G 0 disk

Autres étapes

Démontez la clé :

pi@framboise:~ $ sudo umount /dev/sdb1

Partitionnez la clé USB :

pi@framboise:~ $ sudo fdisk /dev/sdb

Table des partitions :

Command (m for help): p
Disk /dev/sdb: 125 GiB, 134217728000 bytes, 262144000 sectors
...
Disklabel type: dos
Disk identifier: 0xebed9dab
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 262143999 262141952 125G 83 Linux

Effacez la partition :

Command (m for help): d
...
Partition 1 has been deleted.

Créez une nouvelle partition avec les valeurs par défaut :

Command (m for help): n
...
Select (default p):
...
Partition number (1-4, default 1):
First sector (2048-262143999, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-262143999, default 262143999):
Created a new partition 1 of type 'Linux' and of size 125 GiB.

Écrivez la table de partitions et quittez :

Command (m for help): w
...
Syncing disks.

Formatage (l'option -n ou -L permet de nommer la partition - dans l'exemple, nous prendrons ext4) :en exFAT :

pi@framboise:~ $ sudo mkfs.exfat -n USB1 /dev/sdb1

en EXT2 :

pi@framboise:~ $ sudo mkfs.ext2 -L USB1 /dev/sdb1

en EXT3 :

pi@framboise:~ $ sudo mkfs.ext3 -L USB1 /dev/sdb1

en EXT4 :

pi@framboise:~ $ sudo mkfs.ext4 -O ^has_journal -L USB1 /dev/sdb1
...
UUID de système de fichiers=7663a2dd-0b14-40fb-aeae-8fe0f3e96852

en FAT32 :

pi@framboise:~ $ sudo mkfs.vfat -n USB1 /dev/sdb1

en NTFS :

pi@framboise:~ $ sudo mkntfs -L USB1 /dev/sdb1

(extrêmement long...)Vérification :

pi@framboise:~ $ lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 USB1 7663a2dd-0b14-40fb-aeae-8fe0f3e96852

Montage manuel de la clé USB :Créez les dossiers (ici, disque1 et disque2) pour monter les clés :

pi@framboise:~ $ sudo mkdir /media/{USB1,USB2}

Montez :en exFAT :

pi@framboise:~ $ sudo mount -t exfat /dev/sdb1 /media/USB1
FUSE exfat 1.3.0

autres :

pi@framboise:~ $ sudo mount /dev/sdb1 /media/USB1

Montage automatiqueRecherchez l'UUID :

pi@framboise:~ $ lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 USB1 7663a2dd-0b14-40fb-aeae-8fe0f3e96852 116,7G 0% /media/USB1

Éditez avec les droits d'administration le fichier /etc/fstab pour y ajouter la ligne (ici en ext4) :

UUID=7663a2dd-0b14-40fb-aeae-8fe0f3e96852	/media/USB1	auto	defaults,auto,umask=000,users,rw 0 0

Autre possibilité, avec le label :

LABEL=USB1	/media/USB1	auto	noatime	0	0

Conclusion

La clé est maintenant montée à chaque démarrage.

Problèmes connus

Survivre aux pannes d'un système de fichiers Linux

Voir aussi

(en) https://pimylifeup.com/raspberry-pi-exfat/(fr) https://www.raspberry-pi.ovh/blog/index.php?formater-un-disque-dur-ou-une-cle-usb-sous-linux(fr) http://www.octetmalin.net/linux/tutoriels/mke2fs-creer-formater-partition-systeme-de-fichier-linux-en-ligne-de-commande.php

Basé sur << Formater un disque dur ou une clé usb sous Linux >> par raspberry-pi.ovh.