NOTE : Pour cette méthode, nous allons extraire la carte SD dans un fichier IMG, puis la redimensionner, et enfin réécrire le fichier IMG de taille réduite sur une carte SD plus petite. Pour ce faire, vous aurez besoin d'un espace suffisant sur votre Mac !
Solution
En cherchant, j'ai trouvé plusieurs CLI des outils qui semblaient pouvoir faire l'affaire.
Parmi ceux-ci, j'ai choisi d'utiliser le deuxième, dont l'exécutable est pishrink
.
Exemple
J'ai d'abord pris un fichier IMG de ma carte SD 128GB. Pour cela, vous pouvez utiliser soit BalenaEtcher o ApplePi-Baker . Ces deux méthodes produiront un fichier IMG approprié.
Pour les IMG ouvrez l'application Terminal et allez dans le répertoire où vous l'avez sauvegardé. Tapez ensuite :
ls -lh nom-du-fichier-img.img
$ ls -lh retropie1-jb.img
-rw-r--r-- 1 root staff 120G Jan 21 01:07 retropie1-jb.img
Après l'installation de ShrinkPi :
$ curl -LO https://github.com/lisanet/PiShrink-macOS/archive/master.zip
$ unzip master
$ cd PiShrink-macOS-master
$ make
$ sudo make install
Nous pouvons ensuite l'utiliser pour réduire le fichier IMG de ~120GB :
$ pishrink retropie1-jb.img retropie1-jb__sm.img
Copying retropie1-jb.img to retropie1-jb__sm.img...
e2fsck 1.44.0 (7-Mar-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
retropie: 220054/7616736 files (0.9% non-contiguous), 16130407/31245056 blocks
resize2fs 1.44.0 (7-Mar-2018)
resize2fs 1.44.0 (7-Mar-2018)
Resizing the filesystem on /dev/disk4s2 to 16143286 (4k) blocks.
Begin pass 2 (max = 1106914)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 954)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 22654)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/disk4s2 is now 16143286 (4k) blocks long.
"disk4" ejected.
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
2: 83 976 0 1 - 1023 63 32 [ 124928 - 249960448] Linux files*
Partition id ('0' to disable) [0 - FF]: [83] (? for help) Do you wish to edit in CHS mode? [n] Partition offset [0 - 250085376]: [124928] Partition size [1 - 249960448]: [249960448] fdisk:*1> Writing MBR at offset 0.
fdisk: 1> Shrunk retropie1-jb__sm.img from 119G to 62G
Nous pouvons ensuite utiliser BalenaEtcher ou ApplePi-Baker pour prendre le fichier IMG plus petit et le réécrire sur une carte SD plus petite.