BOOT

pi soc

Tag theme:

Tags Pi:

berryboot (bootloader - on peux installer raspbian sur ddur), noobs (un seul systeme) ou soc.

boot MSD https://www.framboise314.fr/bootez-votre-raspberry-pi-3-sur-une-cle-usb/

SOC c’est le System On a Chip (Système Sur une Puce) de Broadcom.

A la mise sous tension, seul le GPU est activé. Le processeur ARM reste en veille, la SDRAM est désactivée. Le SOC comporte une ROM (Read Only Memory – Mémoire Morte) dans laquelle le fabricant a programmé le premier étage du bootloader. Lors de son réveil, le GPU est paramétré pour exécuter le programme qui est dans cette ROM.

préparations

Avoir un Raspbian installé

Maj et maj firmware dans /boot (avec branche expérimentale)

sudo apt-get update
sudo apt-get upgrade
sudo BRANCH=next rpi-update

autoriser le boot USB : echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
vérifier que le registre 17 de l’OTP a bien été modifié : sudo reboot  puis  vcgencmd otp_dump | grep 17:     ( la valeur du registre 17 doit etre     3020000a )

vous pouvez effacer la ligne program_usb_boot_mode du fichier config.txt (attention de ne pas laisser de ligne blanche à la fin du fichier !) de façon à ce que si vous employez votre carte micro SD sur un autre Raspberry Pi, elle ne programme pas le mode de boot sur USB.

 

Préparation d’une clé USB non partitionnée

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

format et fichiers de base (boot et root)  : sudo mkfs.vfat -n BOOT -F 32 /dev/sda1 ; sudo mkfs.ext4 /dev/sda2

transfert de raspbian sur usb (la dernière ligne prend au moins 30 mn) :

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
sudo rsync -ax --progress / /boot /mnt/target

regen clefs ssh 

cd /mnt/target
pi@raspberrypi:/mnt/target $ sudo mount --bind /dev dev
pi@raspberrypi:/mnt/target $ sudo mount --bind /sys sys
pi@raspberrypi:/mnt/target $ sudo mount --bind /proc proc
pi@raspberrypi:/mnt/target $ sudo chroot /mnt/target
root@raspberrypi:/# rm /etc/ssh/ssh_host*
root@raspberrypi:/# dpkg-reconfigure openssh-server
...
# exit
pi@raspberrypi:/mnt/target $ sudo umount dev
pi@raspberrypi:/mnt/target $ sudo umount sys
pi@raspberrypi:/mnt/target $ sudo umount proc

pour que la clé USB soit le root file system (RFS) à la place de la carte SD :

pi@raspberrypi:/mnt/target $ sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txt
pi@raspberrypi:/mnt/target $ sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab

 

Démonter et arreter

pi@raspberrypi:/mnt/target $ cd ~
pi@raspberrypi:~ $ sudo umount /mnt/target/boot
pi@raspberrypi:~ $ sudo umount /mnt/target
sudo poweroff

On peux retirer la carte SD...

 

 

 


https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=44177