Table des matières

Créer une clé USB à partir de la carte microSD du Raspberry

Lien :

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 :

Préparation de la clé USB

$ lsblk
  • La clé USB est identifié par sda
  • la carte microsd est identifiée par mmcblk0
$ sudo parted /dev/sda
(parted) mktable msdos
yes
(parted)mkpart primary fat32 0% 100M
(parted)mkpart primary ext4 100M 100%
(parted)print
quit
$ sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
$ sudo mkfs.f2fs -f /dev/sda2

Transfert du système Raspbian sur la clé USB

$ 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 :

$ lsblk -o name,partuuid

Redémarrer le Raspberry sur la clé USB

$ cd ~
$ sudo umount /mnt/usb/boot
$ sudo umount /mnt/usb
$ sudo shutdown -h now