Desactiva la expansión automática del sistema de archivos en la nueva imagen de Jessie 2016-05-10

12

Ahora, cuando muestra la nueva imagen de Jessie (lanzada el 10/05/2016) en la tarjeta SD y arranca por primera vez, expande automáticamente el sistema de archivos en toda la tarjeta SD. Quiero detener ese guión. La razón por la que quiero esto es porque al hacer una copia de seguridad de la imagen desde la tarjeta SD, consume 16 GB de espacio en mi disco y quiero ahorrar ese espacio. Estoy usando una tarjeta SD de 16 GB.

user3601278
fuente
¿Cómo respaldas la tarjeta?
Milliways
Pulse la opción de lectura en Win32DiskImager y se crea una imagen de copia de seguridad de la tarjeta SD
user3601278
2
No puedo decir que estoy familiarizado con Win32DiskImager, pero si es como otros lectores de imágenes, la imagen resultante será el tamaño del dispositivo que se tomó la imagen, en este caso el tamaño de la tarjeta SD. Esto es independiente del tamaño de las particiones. Si busca en este sitio, encontrará cientos de preguntas similares, aunque la mayoría de las "soluciones" están orientadas a Unix / Linux.
Milliways
También veo que esta expansión automática hace que sea más difícil producir copias de una configuración de trabajo estándar para la distribución (en el pasado usé 'trucate' para cortar la imagen justo por encima del tamaño no expandido, aunque 'dd' había hecho una imagen de toda la tarjeta SD, incluida la parte vacía). ¿Jessie Lite no hace la expansión?
paddyg

Respuestas:

11

Parece que esto será parte de las actualizaciones más recientes; Versiones de escritorio y Lite:

https://www.raspberrypi.org/blog/another-update-raspbian/

Al actualizar una nueva imagen de Raspbian, el sistema de archivos se expandirá automáticamente para usar todo el espacio de la tarjeta cuando se inicia por primera vez.

En Ubuntu puede editar la imagen para detener la expansión automática del sistema de archivos.

Aquí hay un ejemplo usando 2016-05-10-raspbian-jessie-lite.img.

Prueba esto:

fdisk -lu ./2016-05-10-raspbian-jessie-lite.img

Obtendrá esta información:

Device Boot                             Start     End     Blocks    Id  System

2016-05-10-raspbian-jessie-lite.img1    8192      137215  64512     c   W95 FAT32 (LBA)

2016-05-10-raspbian-jessie-lite.img2  137216     2707455  1285120   83  Linux

Entonces, para la sección de arranque, su desplazamiento es (Inicio * 512) = 8192 * 512 = 4194304

Para el sistema de archivos Raspbian, su desplazamiento es (Inicio * 512) = 137216 * 512 = 70254592

mkdir boot
sudo mount -t vfat -o loop,offset=4194304 2016-05-10-raspbian-jessie-lite.img boot

Si desea ver / editar el sistema de archivos Raspbian. Aunque no es necesario.

mkdir test
sudo mount -t ext4 -o loop,offset=70254592 2016-05-10-raspbian-jessie-lite.img test

Luego debe modificar el archivo ./boot/cmdline.txt.

sudo gedit ./boot/cmdline.txt

Desde:

dwc_otg.lpm_enable = 0 console = serial0,115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait quiet init = / usr / lib / raspi-config / init_resize.sh

A:

dwc_otg.lpm_enable = 0 console = serial0,115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait quiet

sudo umount ./boot

Si montó el sistema de archivos Raspbian:

sudo umount ./test

Ahora muestre la nueva imagen en su tarjeta SD.

  • 2016-05-10-raspbian-jessie-lite.img

No se expandirá automáticamente después de arrancar en su Pi.


O puede flashear la imagen original en su tarjeta SD.

Antes de enchufarlo a su Raspberry Pi.

Edite el archivo: /boot/cmdline.txt

Elimina el siguiente texto: init=/usr/lib/raspi-config/init_resize.sh

Joe
fuente
Eso es lo que estaba buscando, ¡gracias por compartir!
Gergely Lukacsy
2

"Elimine el siguiente texto:. init=/usr/lib/raspi-config/init_resize.shEsto ya no funciona con la versión Stretch (no hay ningún parámetro de inicio para eliminar)".

Remover /etc/init.d/resize2fs_once.

bstipe
fuente
El parámetro init todavía existe en Raspbian Stretch. Es necesario eliminar tanto el initparámetro como el resize2fs_oncearchivo.
Scott,
2018-11-13-raspbian-stretch-lite definitivamente tiene la llamada a init_resize.sh en boot / cmdline.txt hasta que arranque por primera vez. El script se elimina de cmdline.txt
Andy
0

Esto ya no funciona con la versión Stretch (no hay ningún parámetro de inicio para eliminar).

El script pishrink.sh ( descargar script de github ) acepta un indicador -s que evitará la expansión en el próximo reinicio. Necesita una máquina Linux o una máquina virtual para ejecutar el script. El script funciona reescribiendo /etc/rc.local para expandir el sistema de archivos (predeterminado) o dejarlo como está (si se da el distintivo -s).

En una computadora portátil con Windows 10, puede usar win32diskimager para obtener la imagen de su tarjeta SD, y utilicé una imagen de Lubuntu de osboxes.org para ejecutar en VirtualBox.

jflamy
fuente