Nonaktifkan ekspansi sistem file otomatis di gambar Jessie baru 2016-05-10

12

Sekarang ketika Anda mem-flash gambar Jessie baru (dirilis 2016-05-10) pada kartu SD dan boot pertama kali, itu otomatis memperluas sistem file pada seluruh kartu SD. Saya ingin menghentikan skrip itu. Alasan yang saya inginkan adalah karena ketika mencadangkan gambar dari kartu SD, ia menghabiskan 16 GB ruang disk saya dan saya ingin menghemat ruang itu. Saya menggunakan kartu SD 16 GB.

pengguna3601278
sumber
Bagaimana cara Anda membuat cadangan kartu?
Milliways
Tekan opsi baca di Win32DiskImager dan itu menciptakan gambar cadangan SDcard
user3601278
2
Saya tidak bisa mengatakan saya akrab dengan Win32DiskImager, tetapi jika seperti pencitra lain gambar yang dihasilkan akan menjadi ukuran perangkat yang dicitrakan - dalam hal ini ukuran Kartu SD. Ini tidak tergantung pada ukuran partisi. Jika Anda mencari situs ini, Anda akan menemukan ratusan pertanyaan serupa, meskipun sebagian besar "solusi" diarahkan ke Unix / Linux.
Milliways
Saya juga melihat perluasan otomatis ini berpotensi menyulitkan untuk menghasilkan salinan pengaturan kerja standar untuk distribusi (di masa lalu saya menggunakan 'trucate' untuk memotong gambar tepat di atas ukuran yang tidak diperluas, meskipun 'dd' telah membuat gambar dari seluruh kartu SD termasuk bagian yang kosong). Apakah jessie lite tidak melakukan ekspansi?
paddyg

Jawaban:

11

Sepertinya ini akan menjadi bagian dari pembaruan terbaru; Versi Desktop & Lite:

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

Saat mem-flash gambar Raspbian baru, sistem file akan secara otomatis diperluas untuk menggunakan semua ruang pada kartu saat pertama kali di-boot.

Di Ubuntu Anda dapat mengedit gambar untuk menghentikan ekspansi sistem file otomatis.

Berikut adalah contoh menggunakan 2016-05-10-raspbian-jessie-lite.img.

Coba ini:

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

Anda akan mendapatkan informasi ini:

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

Jadi untuk bagian boot offset Anda adalah (Mulai * 512) = 8192 * 512 = 4194304

Untuk sistem file Raspbian, offset Anda adalah (Mulai * 512) = 137216 * 512 = 70254592

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

Jika Anda ingin melihat / mengedit Sistem File Raspbian. Tapi tidak dibutuhkan.

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

Maka Anda perlu memodifikasi file ./boot/cmdline.txt.

sudo gedit ./boot/cmdline.txt

Dari:

dwc_otg.lpm_enable = 0 konsol = serial0.115200 konsol = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = tenggat waktu fsck.repair = ya root tunggu di init = / usr / lib / raspi-config / init_resize.sh

Untuk:

dwc_otg.lpm_enable = 0 konsol = serial0.115200 konsol = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = tenggat waktu fsck.repair = ya root tunggu sepi

sudo umount ./boot

Jika Anda memasang sistem file Raspbian:

sudo umount ./test

Sekarang flash gambar baru ke kartu SD Anda.

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

Ini tidak akan berkembang secara otomatis setelah boot pada Pi Anda.


Atau Anda dapat mem-flash gambar asli ke kartu SD Anda.

Sebelum Anda mencolokkannya ke Raspberry Pi Anda.

Edit file: /boot/cmdline.txt

Hapus teks berikut: init=/usr/lib/raspi-config/init_resize.sh

Joe
sumber
Itu yang saya cari, terima kasih sudah berbagi!
Gergely Lukacsy
2

"Hapus teks berikut:. init=/usr/lib/raspi-config/init_resize.shIni tidak lagi berfungsi dengan rilis Peregangan (tidak ada parameter init untuk menghapus)".

Hapus /etc/init.d/resize2fs_once.

bstipe
sumber
Parameter init masih ada di Raspbian Stretch. Menghapus initparameter dan resize2fs_oncefile diperlukan.
Scott
2018-11-13-raspbian-stretch-lite pasti memiliki panggilan untuk init_resize.sh di boot / cmdline.txt sampai Anda mem-boot pertama kali. Script menghapus dirinya sendiri dari cmdline.txt
Andy
0

Ini tidak lagi berfungsi dengan rilis Stretch (tidak ada parameter init untuk dihapus).

Skrip pishrink.sh ( skrip unduhan dari github ) menerima tanda -s yang akan mencegah ekspansi pada reboot berikutnya. Anda memerlukan mesin Linux atau mesin virtual untuk menjalankan skrip. Skrip bekerja dengan menulis ulang /etc/rc.local untuk memperluas sistem file (default) atau membiarkannya apa adanya (jika flag -s diberikan).

Pada laptop Windows 10, Anda dapat menggunakan win32diskimager untuk mendapatkan gambar dari kartu SD Anda, dan saya menggunakan gambar Lubuntu dari osboxes.org untuk dijalankan di bawah VirtualBox.

jflamy
sumber