Deaktivieren Sie die automatische Dateisystemerweiterung in dem neuen Jessie-Image 2016-05-10

12

Wenn Sie jetzt das neue Jessie-Image (veröffentlicht am 10.05.2016) auf die SD-Karte flashen und das erste Mal booten, wird das Dateisystem automatisch auf die gesamte SD-Karte erweitert. Ich möchte das Skript stoppen. Ich möchte dies, weil beim Sichern des Abbilds von der SD-Karte 16 GB Speicherplatz verbraucht werden und ich diesen Speicherplatz speichern möchte. Ich verwende eine 16 GB SD-Karte.

user3601278
quelle
Wie sichern Sie die Karte?
Milliways
Drücken Sie die Leseoption in Win32DiskImager und es wird ein Backup-Image der SD-
Karte
2
Ich kann nicht sagen, dass ich mit Win32DiskImager vertraut bin, aber wenn es sich um andere Imager handelt, entspricht das resultierende Image der Größe des abgebildeten Geräts - in diesem Fall der Größe der SD-Karte. Dies ist unabhängig von der Größe der Partitionen. Wenn Sie diese Site durchsuchen, werden Sie Hunderte ähnlicher Fragen finden, obwohl die meisten "Lösungen" auf Unix / Linux ausgerichtet sind.
Milliways
Ich betrachte diese automatische Erweiterung auch als potenziell schwieriger, Kopien eines Standard-Setups für die Verteilung zu erstellen (in der Vergangenheit habe ich 'trucate' verwendet, um das Bild knapp über der nicht vergrößerten Größe abzuschneiden, obwohl 'dd' ein Bild erstellt hat der gesamten SD-Karte einschließlich des leeren Teils). Macht Jessie Lite nicht die Erweiterung?
paddyg

Antworten:

11

Sieht so aus, als ob dies Teil der neuesten Updates sein wird. Desktop & Lite Versionen:

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

Wenn Sie ein neues Raspbian-Image flashen, wird das Dateisystem beim ersten Start automatisch so erweitert, dass der gesamte Speicherplatz auf der Karte belegt wird.

Unter Ubuntu können Sie das Image bearbeiten, um die automatische Dateisystemerweiterung zu stoppen.

Hier ist ein Beispiel für die Verwendung von 2016-05-10-raspbian-jessie-lite.img.

Versuche dies:

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

Sie erhalten diese Informationen:

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

Für den Boot-Bereich ist Ihr Offset also (Start * 512) = 8192 * 512 = 4194304

Für das Raspbian-Dateisystem ist Ihr Offset (Start * 512) = 137216 * 512 = 70254592

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

Wenn Sie das Raspbian-Dateisystem anzeigen / bearbeiten möchten. Wird aber nicht benötigt.

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

Dann müssen Sie die Datei ./boot/cmdline.txt ändern.

sudo gedit ./boot/cmdline.txt

Von:

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

Zu:

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

Wenn Sie das Raspbian-Dateisystem gemountet haben:

sudo umount ./test

Jetzt flashen Sie das neue Bild auf Ihre SD-Karte.

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

Es wird nicht automatisch nach dem Booten auf Ihrem Pi erweitert.


Oder Sie können das Originalbild auf Ihre SD-Karte flashen.

Bevor Sie es an Ihren Raspberry Pi anschließen.

Bearbeiten Sie die Datei: /boot/cmdline.txt

Entfernen Sie den folgenden Text: init=/usr/lib/raspi-config/init_resize.sh

Joe
quelle
Das habe ich gesucht, danke fürs Teilen!
Gergely Lukacsy
2

Msgstr "Den folgenden Text entfernen:. init=/usr/lib/raspi-config/init_resize.shDies funktioniert nicht mehr mit der Stretch - Version (es gibt keinen zu entfernenden init - Parameter)".

Entfernen /etc/init.d/resize2fs_once.

bstipe
quelle
Der init-Parameter ist in Raspbian Stretch noch vorhanden. Das Entfernen des initParameters und der resize2fs_onceDatei ist erforderlich.
Scott
2018-11-13-raspbian-stretch-lite hat definitiv den Aufruf von init_resize.sh in boot / cmdline.txt, bis Sie das erste Mal booten. Das Skript entfernt sich von cmdline.txt
Andy
0

Dies funktioniert nicht mehr mit dem Stretch-Release (es ist kein Init-Parameter mehr zu entfernen).

Das Skript pishrink.sh ( Skript von github herunterladen ) akzeptiert ein -s-Flag, das die Erweiterung beim nächsten Neustart verhindert. Sie benötigen eine Linux-Maschine oder eine virtuelle Maschine, um das Skript auszuführen. Das Skript schreibt /etc/rc.local neu, um entweder das Dateisystem zu erweitern (Standardeinstellung) oder es unverändert zu lassen (sofern das Flag -s angegeben ist).

Auf einem Windows 10-Laptop können Sie win32diskimager verwenden, um das Image von Ihrer SD-Karte abzurufen, und ich habe ein Lubuntu-Image von osboxes.org verwendet, um es unter VirtualBox auszuführen.

jflamy
quelle