Disabilita l'espansione automatica del file system nella nuova immagine Jessie 2016-05-10


12

Ora quando si esegue il flashing della nuova immagine Jessie (rilasciata il 10/05/2016) sulla scheda SD e si avvia la prima volta, si espande automaticamente il file system sull'intera scheda SD. Voglio fermare quella sceneggiatura. Il motivo per cui lo voglio è perché quando si esegue il backup dell'immagine dalla scheda SD, consuma 16 GB del mio spazio su disco e voglio risparmiare quello spazio. Sto usando una scheda SD da 16 GB.


Come si effettua il backup della scheda?
Milliways,

Premi l'opzione di lettura in Win32DiskImager e crea un'immagine di backup della scheda SD
user3601278

2
Non posso dire di avere familiarità con Win32DiskImager, ma se è come gli altri imager l'immagine risultante avrà le dimensioni del dispositivo ripreso, in questo caso la dimensione della scheda SD. Questo è indipendente dalla dimensione delle partizioni. Se cerchi in questo sito troverai centinaia di domande simili, sebbene la maggior parte delle "soluzioni" siano orientate a Unix / Linux.
Milliways,

Vedo anche questa espansione automatica che potenzialmente rende più difficile la produzione di copie di una configurazione di lavoro standard per la distribuzione (in passato ho usato 'trucate' per tagliare l'immagine appena sopra la dimensione non espansa, anche se 'dd' aveva fatto un'immagine dell'intera scheda SD inclusa la parte vuota). Jessie lite non fa l'espansione?
Paddyg,

Risposte:


11

Sembra che questo farà parte degli aggiornamenti più recenti; Versioni desktop e Lite:

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

Quando si esegue il flashing di una nuova immagine Raspbian, il file system verrà automaticamente espanso per utilizzare tutto lo spazio sulla scheda al primo avvio.

Su Ubuntu è possibile modificare l'immagine per interrompere l'espansione automatica del file system.

Ecco un esempio usando 2016-05-10-raspbian-jessie-lite.img.

Prova questo:

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

Otterrai queste informazioni:

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

Quindi per la sezione di avvio il tuo offset è (Start * 512) = 8192 * 512 = 4194304

Per il filesystem Raspbian il tuo offset è (Start * 512) = 137216 * 512 = 70254592

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

Se si desidera visualizzare / modificare il filesystem Raspbian. Non è necessario però.

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

Quindi è necessario modificare il file ./boot/cmdline.txt.

sudo gedit ./boot/cmdline.txt

A partire dal:

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

Per:

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

Se hai montato il filesystem Raspbian:

sudo umount ./test

Ora flash la nuova immagine sulla scheda SD.

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

Non si espanderà automaticamente dopo l'avvio sul tuo Pi.


Oppure puoi eseguire il flashing dell'immagine originale sulla tua scheda SD.

Prima di collegarlo al tuo Raspberry Pi.

Modifica il file: /boot/cmdline.txt

Rimuovi il testo seguente: init=/usr/lib/raspi-config/init_resize.sh


Questo è quello che stavo cercando, grazie per averlo condiviso!
Gergely Lukacsy,

2

"Rimuovi il seguente testo:. init=/usr/lib/raspi-config/init_resize.shQuesto non funziona più con la versione Stretch (non c'è alcun parametro init da rimuovere)".

Rimuovi /etc/init.d/resize2fs_once.


Il parametro init esiste ancora in Raspbian Stretch. È necessario rimuovere sia il initparametro che il resize2fs_oncefile.
Scott,

13/11/2018-raspbian-stretch-lite ha definitivamente la chiamata a init_resize.sh in boot / cmdline.txt fino al primo avvio. Lo script si rimuove da cmdline.txt
Andy

0

Questo non funziona più con il rilascio Stretch (non c'è alcun parametro init da rimuovere).

Lo script pishrink.sh ( download script da github ) accetta un flag -s che impedirà l'espansione al prossimo riavvio. Per eseguire lo script è necessaria una macchina Linux o una macchina virtuale. Lo script funziona riscrivendo /etc/rc.local per espandere il filesystem (predefinito) o lasciarlo così com'è (se viene dato il flag -s).

Su un laptop Windows 10, puoi usare win32diskimager per ottenere l'immagine dalla tua scheda SD, e ho usato un'immagine Lubuntu da osboxes.org per funzionare sotto VirtualBox.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.