Afficher/cacher Sommaire
raspbian
Booter Raspberry Pi 3 sur clé USB
Mise à jour du firmware
Commencez par une mise à jour du systéme
sudo apt-get update
sudo apt-get upgrade
Mettre à jour le firmware dans /boot (start.elf et bootcode.bin) avec la version de la branche NEXT (expérimentale) :
sudo BRANCH=next rpi-update
Autoriser le boot USB
Modifier le fichier config.txt pour autoriser le boot USB :
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Ceci ajoute program_usb_boot_mode=1 à la fin du fichier /boot/config.txt.
Redémarrer le Raspberry Pi
sudo reboot
Vérifier que le registre 17 de l’OTP a bien été modifié
vcgencmd otp_dump | grep 17:
17:3020000a
Vérifiez bien que la valeur du registre 17 est 3020000a
Vous pouvez effacer la ligne program_usb_boot_mode du fichier /boot/config.txt ATTENTION : ne pas laisser de ligne blanche à la fin du fichier !
Préparation d’une clé USB non partitionnée
On commence par utiliser parted pour créer une partition FAT32 de 100Mo, suivie d’une partition Linux ext4 qui occupera le reste de la place disponible.
sudo parted /dev/sda
mktable msdos
mkpart primary fat32 0% 100M
mkpart primary ext4 100M 100%
print
quit
Formater les partitions et créer les systèmes de fichiers boot et root
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
Transfert du système Raspbian sur la clé USB
Monter les systèmes de fichiers nouvellement créés et installer rsync
sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
sudo apt-get update; sudo apt-get install rsync
Maintenant que les systèmes de fichiers de la clé USB sont montés, on peut copier le boot et le root file system (rfs)
sudo rsync -ax --progress / /boot /mnt/target
Régénérer les clés SSH
cd /mnt/target
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
sudo chroot /mnt/target # Entrée chroot
rm /etc/ssh/ssh_host*
dpkg-reconfigure openssh-server
exit # sortie chroot
exit
sudo umount {dev,sys,proc}
Modifier cmdline.txt
Modifier cmdline.txt pour que la clé USB soit le root file system (RFS) à la place de la carte SD :
sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txt
Modifier fstab
sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab
Démonter le système de fichier de la clé USB
cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
Arrêt Raspberry Pi 3
sudo poweroff
Débrancher la prise micro USB d’alimentation et enlever la carte SD
Redémarrer Raspberry Pi 3
Reconnecter l’alimentation
Vérifications :
df -h
fdisk -l