Distribution de travail : Ubuntu 18.04 Liens : https://gist.github.com/htruong/0271d84ae81ee1d301293d126a5ad716 https://gitlab.com/benzoga33/chrootPI/-/blob/master/chrootPI.sh Hackable Magazine n°35, article 'Raspberry Pi SD'
util01@station66:~$ mkdir RPCUST
util01@station66:~$ cd RPCUST/
util01@station66:~/RPCUST$
Lien : https://www.raspberrypi.org/downloads/raspberry-pi-os/
Version :
Raspberry Pi OS (32-bit) with desktop
Image with desktop based on Debian Buster
Version: August 2020
Release date: 2020-08-20
Kernel version: 5.4
Size: 1133 MB
util01@station66:~/RPCUST$ wget https://downloads.raspberrypi.org/raspios_armhf_latest
util01@station66:~/RPCUST$ mv raspios_armhf_latest raspios_armhf_latest.zip
util01@station66:~/RPCUST$ unzip raspios_armhf_latest.zip
util01@station66:~/RPCUST$ ls -l 2020-08-20-raspios-buster-armhf.img
-rw-r--r-- 1 util01 util01 3821010944 août 20 12:54 2020-08-20-raspios-buster-armhf.img
util01@station66:~/RPCUST$ file 2020-08-20-raspios-buster-armhf.img
2020-08-20-raspios-buster-armhf.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x40,0,1), end-CHS (0x3ff,3,32), startsector 8192, 524288 sectors; partition 2 : ID=0x83, start-CHS (0x3ff,3,32), end-CHS (0x3ff,3,32), startsector 532480, 6930432 sectors
Taille du stockage à ajouté : 1 Go = 1024 * 1M
util01@station66:~/RPCUST$ dd if=/dev/zero bs=1M count=1024 >> 2020-08-20-raspios-buster-armhf.img
1024+0 enregistrements lus
1024+0 enregistrements écrits
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 3,42726 s, 313 MB/s
util01@station66:~/RPCUST$ ls -l 2020-08-20-raspios-buster-armhf.img
-rw-r--r-- 1 util01 util01 4894752768 nov. 12 13:06 2020-08-20-raspios-buster-armhf.img
util01@station66:~/RPCUST$ sudo losetup -f -P --show 2020-08-20-raspios-buster-armhf.img
/dev/loop0
util01@station66:~/RPCUST$
util01@station66:~/RPCUST$ sudo apt-get install parted
util01@station66:~/RPCUST$ sudo parted /dev/loop0
GNU Parted 3.2
Utilisation de /dev/loop0
Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes.
(parted)
(parted) print
Modèle: Périphérique Loopback (loopback)
Disque /dev/loop0 : 4895MB
Taille des secteurs (logiques/physiques): 512B/512B
Table de partitions : msdos
Drapeaux de disque :
Numéro Début Fin Taille Type Système de fichiers Fanions
1 4194kB 273MB 268MB primary fat32 lba
2 273MB 3821MB 3548MB primary ext4
(parted)
(parted) rm 2
(parted) mkpart primary 273 4895
(parted) print
Modèle: Périphérique Loopback (loopback)
Disque /dev/loop0 : 4895MB
Taille des secteurs (logiques/physiques): 512B/512B
Table de partitions : msdos
Drapeaux de disque :
Numéro Début Fin Taille Type Système de fichiers Fanions
1 4194kB 273MB 268MB primary fat32 lba
2 273MB 4895MB 4622MB primary lba
(parted)
(parted) quit
Information: Ne pas oublier de mettre à jour /etc/fstab si nécessaire.
util01@station66:~/RPCUST$ sudo e2fsck -f /dev/loop0p2
e2fsck 1.44.1 (24-Mar-2018)
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires
Passe 3 : vérification de la connectivité des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
rootfs : 106651/216864 fichiers (0.2% non contigus), 727625/866304 blocs
util01@station66:~/RPCUST$
util01@station66:~/RPCUST$ sudo resize2fs /dev/loop0p2
resize2fs 1.44.1 (24-Mar-2018)
En train de redimensionner le système de fichiers sur /dev/loop0p2 à 1128448 (4k) blocs.
Le système de fichiers sur /dev/loop0p2 a maintenant une taille de 1128448 blocs (4k).
util01@station66:~/RPCUST$
util01@station66:~$ sudo apt install qemu qemu-user-static binfmt-support
util01@station66:~/RPCUST$ mkdir rp_boot
util01@station66:~/RPCUST$ mkdir rp_root
util01@station66:~/RPCUST$ sudo mount -o rw /dev/loop0p1 rp_boot
util01@station66:~/RPCUST$ sudo mount -o rw /dev/loop0p2 rp_root
util01@station66:~/RPCUST$ ls rp_boot/
bcm2708-rpi-b.dtb bcm2708-rpi-zero-w.dtb bcm2710-rpi-cm3.dtb config.txt fixup4x.dat issue.txt LICENCE.broadcom start4x.elf
...
bcm2708-rpi-zero.dtb bcm2710-rpi-3-b-plus.dtb cmdline.txt fixup4db.dat fixup_x.dat kernel.img start4.elf start_x.elf
util01@station66:~/RPCUST$
util01@station66:~/RPCUST$ ls rp_root/
bin boot dev etc home lib lost+found media mnt opt proc root run sbin srv sys tmp usr var
util01@station66:~/RPCUST$
util01@station66:~/RPCUST$ sudo mount --bind /dev rp_root/dev/
util01@station66:~/RPCUST$ sudo mount --bind /sys rp_root/sys/
util01@station66:~/RPCUST$ sudo mount --bind /proc rp_root/proc/
util01@station66:~/RPCUST$ sudo mount --bind /dev/pts rp_root/dev/pts
util01@station66:~/RPCUST$ sudo sed -i 's/^/#/g' rp_root/etc/ld.so.preload
util01@station66:~/RPCUST$ sudo cp /usr/bin/qemu-arm-static rp_root/usr/bin/
util01@station66:~/RPCUST$ sudo chroot /home/util01/RPCUST/rp_root/ /bin/bash
root@station66:/#
Cette étape permet de modifier la configuration du Raspberry Pi OS :
root@station66:/# apt-get install mc vim htop screen wget nethack-console
root@station66:/# exit
exit
util01@station66:~/RPCUST$
util01@station66:~/RPCUST$ sudo sed -i 's/^#//g' rp_root/etc/ld.so.preload
util01@station66:~/RPCUST$ sudo umount rp_root/{dev/pts,dev,sys,proc,}
util01@station66:~/RPCUST$ sudo umount rp_boot/
util01@station66:~/RPCUST$ sudo losetup -d /dev/loop0
Lien : https://rockstarninja.hacktech.dev/virtualisation-de-raspberry-pi-os-avec-qemu/
util01@station66:~/RPCUST$ cd ../VIRTRP/
util01@station66:~/VIRTRP$
util01@station66:~/VIRTRP$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/home/util01/VIRTRP/lib qemu-5.2.0-rc1/build/qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -smp 1 -drive "file=../RPCUST/2020-08-20-raspios-buster-armhf.img,if=none,index=0,media=disk,format=raw,id=disk0" -device "virtio-blk-pci,drive=disk0,disable-modern=on,disable-legacy=off" -net "user,hostfwd=tcp::5022-:22" -dtb qemu-rpi-kernel/versatile-pb-buster.dtb -kernel qemu-rpi-kernel/kernel-qemu-5.4.51-buster -append 'root=/dev/vda2 panic=1' -no-reboot
Le bureau est correctement configuré en français.
Les applications MC et Nethack sont lançables.
