NOTA: Para este método vamos a extraer la SD en un archivo IMG y luego cambiar su tamaño, y dar la vuelta y volver a escribir el archivo IMG de tamaño reducido en una tarjeta SD más pequeña. Necesitarás un espacio adecuado en tu Mac para hacer esto.
Solución
Al buscar encontré varios CLI herramientas que parecían poder hacer el trabajo.
De ellos he optado por utilizar el 2º, cuyo ejecutable es pishrink
.
Ejemplo
Primero tomé un archivo IMG de mi tarjeta SD de 128GB. Para esto puedes usar BalenaEtcher o ApplePi-Baker . Ambos producirán un archivo IMG adecuado.
Para el IMG abra la aplicación Terminal y entre en el directorio donde lo guardó. A continuación, escriba:
ls -lh nombre-del-archivo-img.img
$ ls -lh retropie1-jb.img
-rw-r--r-- 1 root staff 120G Jan 21 01:07 retropie1-jb.img
Después de instalar ShrinkPi:
$ curl -LO https://github.com/lisanet/PiShrink-macOS/archive/master.zip
$ unzip master
$ cd PiShrink-macOS-master
$ make
$ sudo make install
A continuación, podemos utilizarlo para reducir el archivo IMG de ~120 GB:
$ 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
A continuación, podemos utilizar BalenaEtcher o ApplePi-Baker para tomar el archivo IMG más pequeño y reescribirlo en una tarjeta SD más pequeña.