équipement basé sur du raspberry pi
Disposant d'une image microsd fonctionnelle sur un pitop, nous allons copier le système sur une autre carte microsd.
Pour réduire le temps de copie, l'image originale sera réduite à une taille inférieure pour ne pas copier trop d'espaces inutilisés. Sachant qu'une copie prends 1 minute par GiO sur notre système, réduire de moitié peut faire gagner pas mal de temps..
utilisation d'un système intermédiaire ubuntu
commandes depuis un terminal. Sur ubuntu en mode graphique Ctrl+Alt+T fait apparaître une nouvelle fenêtre de terminal.
vérification des partitions existantes
root@cyberuser-OptiPlex-9010:~# fdisk /dev/sdd Bienvenue dans fdisk (util-linux 2.34). Les modifications resteront en mémoire jusqu'à écriture. Soyez prudent avant d'utiliser la commande d'écriture. Commande (m pour l'aide) : p Disque /dev/sdd : 29,74 GiB, 31914983424 octets, 62333952 secteurs Disk model: Flash Reader Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xc53c072b Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sdd1 8192 97607 89416 43,7M c W95 FAT32 (LBA) /dev/sdd2 98304 62333951 62235648 29,7G 83 Linux
reduction de la partition root avec gparted pour avoir moins de taille de disque à copier.
- ajouter les copies d'écran gparted ici -
A l'issue de la réduction
root@cyberuser-OptiPlex-9010:~# fdisk /dev/sdd Bienvenue dans fdisk (util-linux 2.34). Les modifications resteront en mémoire jusqu'à écriture. Soyez prudent avant d'utiliser la commande d'écriture. Commande (m pour l'aide) : p Disque /dev/sdd : 29,74 GiB, 31914983424 octets, 62333952 secteurs Disk model: Flash Reader Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xc53c072b Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sdd1 8192 97607 89416 43,7M c W95 FAT32 (LBA) /dev/sdd2 98304 24743935 24645632 11,8G 83 Linux
copier l'image :
commencer par démonter les partition depuis la console/terminal et non depuis l'interface graphique. Car depuis l'interface graphique le système déconnecte complètement la sd ( sdd n'est alors plus visible ).
sudo umount /dev/sdd1 sudo umount /dev/sdd2
14GiO par blocks de 4MiO : 14*1024 / 4 = 3584 blocks
se placer dans le répertoire de destination et lancer
sudo dd if=/dev/sdd of=pitop14G.img bs=4M count=3584
au bout de 14 minutes :
root@cyberuser-OptiPlex-9010:~# dd if=/dev/sdd of=pitop14G.img bs=4M count=3584 3584+0 enregistrements lus 3584+0 enregistrements écrits 15032385536 octets (15 GB, 14 GiB) copiés, 831,645 s, 18,1 MB/s
Sauvegarde du contenu existant (microsd 32G /raspbian) de la future destination
/dev/sdd1 43M 22M 22M 52% /media/cyberuser/boot /dev/sdd2 30G 5,0G 23G 18% /media/cyberuser/rootfs
gparted
=⇒ 7Gio semble suffire
(7×1204 + 100) ÷ 4 = 2132 (argh typo … 7×1024… ) = 1817
dd if=/dev/sdd of=raspbian.img bs=4M count=2132
Et finalement écraser la raspbian avec pitopos
sudo dd if=pitop14G.img of=/dev/sdd bs=4M
il est possible de voir la progression en envoyer un signal USR1 au processus dd. Cela requiert de conanitre le pid du processus.
ps auxw | grep pitop root 7334 3.0 0.0 20860 5784 pts/1 D+ 10:33 0:05 dd if=pitop14G.img of=/dev/sdd bs=4M
ici le pid est 7334
dans un autre terminal :
kill -USR1 7334
ce qui génère la ligne suivante sur le terminal actuel :
root@cyberuser-OptiPlex-9010:~# dd if=pitop14G.img of=/dev/sdd bs=4M 1763+0 enregistrements lus 1763+0 enregistrements écrits 7394557952 octets (7,4 GB, 6,9 GiB) copiés, 340,533 s, 21,7 MB/s
L'écriture peut prendre beaucoup de temps, nous aurions pus utiliser l'option conv=sync pour que la copie reflète effectivement l'écriture en cours et non ce qui est conservé en mémoire par le système pour être écrit.