====== Créer une clé USB à partir de la carte microSD du Raspberry ======
Lien :
* https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/#Preparation_drsquoune_cle_USB_non_partitionnee
===== Présentation =====
Il est intéressant de pouvoir créer une clé USB à partir d'un environnement fonctionnel du Raspberry utilisant une carte Micro SD :
* avoir une sauvegarde de l'environnement actuel du Raspberry ;
* transférer le contenu de la carte SD sur une clé USB pour ensuite booter sur la clé USB.
===== Préparation de la clé USB =====
* visualisez les partitions actuelles de la clé USB
$ lsblk
* La clé USB est identifié par sda
* la carte microsd est identifiée par mmcblk0
* lancez parted
* s'il existe déjà des partitions, supprimez-les. Créez une partition FAT32 de 100Mo, suivie d’une partition Linux ext4 qui occupera le reste de la place disponible.
$ sudo parted /dev/sda
(parted) mktable msdos
yes
(parted)mkpart primary fat32 0% 100M
(parted)mkpart primary ext4 100M 100%
(parted)print
quit
* formatage des deux partitions
$ sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
$ sudo mkfs.f2fs -f /dev/sda2
===== Transfert du système Raspbian sur la clé USB =====
* montage des systèmes de fichiers nouvellement créés et installer le système en utilisant rsync
$ sudo apt install rsync
$ sudo mkdir /mnt/usb
$ sudo mkdir /mnt/usb/boot
$ sudo mount /dev/sda1 /mnt/usb/boot/
$ sudo mount /dev/sda2 /mnt/usb/
$ sudo rsync -ax --progress / /boot /mnt/usb
===== Régénérer les clés SSH =====
$ cd /mnt/usb
$ sudo mount --bind /dev dev
$ sudo mount --bind /sys sys
$ sudo mount --bind /proc proc
$ sudo chroot /mnt/usb
# rm /etc/ssh/ssh_host*
# dpkg-reconfigure openssh-server
# exit
$ sudo umount dev
$ sudo umount sys
$ sudo umount proc
===== Modifier cmdline.txt et fstab=====
Pour pouvoir démarrer sur la clé USB, il faut maintenant modifier sur la clé USB cmdline.txt pour que la clé USB soit le root file system (RFS) à la place de la carte SD :
* prendre connaissance des PARTUUID des partitions
$ lsblk -o name,partuuid
* remplacer le PARTUUID des partitions de la carte microSD indiqué dans le fichier cmdline.txt par le PARTUUID des partition de la clé USB :
* accéder au fichier /mnt/usb/boot/cmdline.txt
* remplacer root=PARTUUID=xxxmicrosdxxx-02 par root=PARTUUID=xxxcleusbxxx-02
* remplacer ext4 par f2fs
* remplacer le PARTUUID des partitions de la carte microSD indiqué dans le fichier fstab par le PARTUUID des partition de la clé USB :
* accéder au fichier /mnt/usb/etc/fstab
* remplacer root=PARTUUID=xxxmicrosdxxx-01 par root=PARTUUID=xxxcleusbxxx-01
* remplacer root=PARTUUID=xxxmicrosdxxx-02 par root=PARTUUID=xxxcleusbxxx-02
* remplacer le ext4 par f2fs
===== Redémarrer le Raspberry sur la clé USB=====
* Démonter le système de fichier de la clé USB
$ cd ~
$ sudo umount /mnt/usb/boot
$ sudo umount /mnt/usb
* Arrêter le Raspberry Pi 3
$ sudo shutdown -h now
* enlever la carte microSD
* redémarrer le Rapsberry