Vô hiệu hóa mở rộng hệ thống tập tin tự động trong hình ảnh mới của Jessie 2016-05-10


12

Bây giờ khi bạn flash hình ảnh Jessie mới (phát hành 2016-05-10) trên thẻ SD và khởi động lần đầu tiên, nó sẽ tự động mở rộng hệ thống tệp trên toàn bộ thẻ SD. Tôi muốn dừng kịch bản đó. Lý do tôi muốn điều này là vì khi sao lưu hình ảnh từ thẻ SD, nó tiêu tốn 16 GB dung lượng ổ đĩa của tôi và tôi muốn tiết kiệm dung lượng đó. Tôi đang sử dụng thẻ SD 16 GB.


Làm thế nào để bạn sao lưu thẻ?
Milliways

Nhấn tùy chọn đọc trong Win32DiskImager và nó tạo ra một hình ảnh dự phòng của SDcard
user3601278

2
Tôi không thể nói rằng tôi quen thuộc với Win32DiskImager, nhưng nếu nó giống như những người tưởng tượng khác, hình ảnh thu được sẽ là kích thước của thiết bị được chụp - trong trường hợp này là kích thước của Thẻ SD. Điều này là độc lập với kích thước của các phân vùng. Nếu bạn tìm kiếm trang web này, bạn sẽ tìm thấy hàng trăm câu hỏi tương tự, mặc dù hầu hết các "giải pháp" đều hướng đến Unix / Linux.
Milliways

Tôi cũng thấy việc mở rộng tự động này có khả năng khiến việc tạo các bản sao của một thiết lập làm việc tiêu chuẩn để phân phối trở nên khó khăn hơn (trước đây tôi đã sử dụng 'trucate' để cắt hình ảnh ngay trên kích thước chưa được mở rộng, mặc dù 'dd' đã tạo ra một hình ảnh của toàn bộ thẻ SD bao gồm cả phần trống). Có jessie lite không làm việc mở rộng?
thóc

Câu trả lời:


11

Có vẻ như đây sẽ là một phần của các bản cập nhật mới nhất; Phiên bản dành cho máy tính để bàn & Lite:

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

Khi flash hình ảnh Raspbian mới, hệ thống tệp sẽ tự động được mở rộng để sử dụng tất cả không gian trên thẻ khi lần đầu tiên được khởi động.

Trên Ubuntu, bạn có thể chỉnh sửa hình ảnh để dừng tự động mở rộng hệ thống tệp.

Dưới đây là một ví dụ sử dụng 2016-05-10-raspbian-jessie-lite.img.

Thử đi:

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

Bạn sẽ nhận được thông tin này:

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

Vì vậy, đối với phần khởi động, phần bù của bạn là (Bắt đầu * 512) = 8192 * 512 = 4194304

Đối với hệ thống tệp Raspbian, phần bù của bạn là (Bắt đầu * 512) = 137216 * 512 = 70254592

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

Nếu bạn muốn xem / chỉnh sửa Hệ thống tập tin Raspbian. Không cần thiết mặc dù.

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

Sau đó, bạn cần sửa đổi tệp ./boot/cmdline.txt.

sudo gedit ./boot/cmdline.txt

Từ:

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

Đến:

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

sudo umount ./boot

Nếu bạn đã gắn hệ thống tập tin Raspbian:

sudo umount ./test

Bây giờ flash hình ảnh mới vào thẻ SD của bạn.

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

Nó sẽ không tự động mở rộng sau khi khởi động trên Pi của bạn.


Hoặc bạn có thể flash hình ảnh gốc vào thẻ SD của bạn.

Trước khi bạn cắm nó vào Raspberry Pi của bạn.

Chỉnh sửa tập tin: /boot/cmdline.txt

Xóa văn bản sau: init=/usr/lib/raspi-config/init_resize.sh


Đó là những gì tôi đang tìm kiếm, cảm ơn vì đã chia sẻ!
Gergely Lukacsy

2

"Xóa văn bản sau : init=/usr/lib/raspi-config/init_resize.sh. Điều này không còn hoạt động với bản phát hành Stretch (không có tham số init để xóa)".

Loại bỏ /etc/init.d/resize2fs_once.


Tham số init vẫn tồn tại trong Raspbian Stretch. Loại bỏ cả inittham số và resize2fs_oncetập tin là cần thiết.
Scott

2018-11-13-raspbian-Stretch-lite chắc chắn có lệnh gọi init_resize.sh trong boot / cmdline.txt cho đến khi bạn khởi động lần đầu tiên. Kịch bản tự xóa khỏi cmdline.txt
Andy

0

Điều này không còn hoạt động với bản phát hành Stretch (không có tham số init để loại bỏ).

Kịch bản pishrink.sh ( tập lệnh tải xuống từ github ) chấp nhận cờ -s sẽ ngăn mở rộng ở lần khởi động lại tiếp theo. Bạn cần một máy Linux hoặc một máy ảo để chạy tập lệnh. Kịch bản hoạt động bằng cách viết lại /etc/rc.local để mở rộng hệ thống tập tin (mặc định) hoặc để nguyên như vậy (nếu cờ -s được đưa ra).

Trên máy tính xách tay Windows 10, bạn có thể sử dụng win32diskimager để lấy hình ảnh từ thẻ SD của mình và tôi đã sử dụng hình ảnh LubFi từ osboxes.org để chạy trong VirtualBox.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.