====== 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