Outils pour utilisateurs

Outils du site


systeme:raspberrypi:creerusb

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

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
systeme/raspberrypi/creerusb.txt · Dernière modification: 2021/01/08 14:54 de techer.charles_educ-valadon-limoges.fr