Вимкнути розширення автоматичної файлової системи в новому зображенні Джессі 2016-05-10


12

Тепер, коли ви прошиваєте нове зображення Джессі (випущене 2016-05-10) на SD-картці та завантажуєтесь вперше, воно автоматично розширює файлову систему на всій SD-картці. Я хочу зупинити цей сценарій. Причина, я хочу, що це тому, що при резервному копіюванні зображення з SD-картки вона витрачає 16 Гб мого дискового простору, і я хочу заощадити цей простір. Я використовую SD-карту розміром 16 Гб.


Як зробити резервну копію картки?
Міллівей

Натисніть параметр читання у Win32DiskImager, і це створить резервне зображення SDcard
user3601278

2
Я не можу сказати, що я знайомий з Win32DiskImager, але якщо він подібний до інших зображень, отримане зображення буде розміром зображеного пристрою - у цьому випадку розміром SD-карти. Це не залежить від розміру перегородок. Якщо ви шукаєте на цьому сайті, ви знайдете сотні подібних питань, хоча більшість «рішень» орієнтовані на Unix / Linux.
Міллівейс

Я також розглядаю це автоматичне розширення як потенційно ускладнює створення копій стандартної робочої установки для розповсюдження (в минулому я використовував 'trucate', щоб відрізати зображення трохи вище нерозгорнутого розміру, навіть якщо 'dd' створило зображення всієї карти SD, включаючи порожню частину). Хіба jessie lite не робить розширення?
піддіг

Відповіді:


11

Схоже, це буде частиною останніх оновлень; Версії для робочого столу та Lite:

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

Коли миготить нове зображення Raspbian, файлова система автоматично буде розширена, щоб використовувати весь простір на картці під час її першого завантаження.

На Ubuntu ви можете редагувати зображення, щоб зупинити автоматичне розширення файлової системи.

Ось приклад використання 2016-05-10-raspbian-jessie-lite.img.

Спробуйте це:

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

Ви отримаєте цю інформацію:

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

Отже, для розділу завантаження ваше зміщення становить (Start * 512) = 8192 * 512 = 4194304

Для файлової системи Raspbian ваше зміщення становить (Start * 512) = 137216 * 512 = 70254592

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

Якщо ви хочете переглянути / відредагувати файлову систему Raspbian. Не потрібно, хоча.

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

Потім вам потрібно змінити файл ./boot/cmdline.txt.

sudo gedit ./boot/cmdline.txt

Від:

dwc_otg.lpm_enable = 0 консоль = serial0,115200 консоль = tty1 корінь = / dev / mmcblk0p2 rootfstype = ext4 елеватор = термін fsck.repair = так rootwait тихий init = / usr / lib / raspi-config / init_resize.sh

До:

dwc_otg.lpm_enable = 0 консоль = serial0,115200 консоль = tty1 корінь = / dev / mmcblk0p2 rootfstype = ext4 елеватор = термін fsck.repair = так rootwait тих

sudo umount ./boot

Якщо ви встановили файлову систему Raspbian:

sudo umount ./test

Тепер прошийте нове зображення на SD-карту.

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

Він не розшириться автоматично після завантаження вашого Pi.


Або ви можете спалахнути оригінальне зображення на SD-карту.

Перш ніж підключити його до свого Raspberry Pi.

Відредагуйте файл: /boot/cmdline.txt

Видаліть наступний текст: init=/usr/lib/raspi-config/init_resize.sh


Ось що я шукав, дякую за обмін!
Гергелі Лукачсі

2

"Видаліть наступний текст:. init=/usr/lib/raspi-config/init_resize.shЦе більше не працює з випуском Stretch (для видалення немає параметра init)".

Видалити /etc/init.d/resize2fs_once.


Параметр init все ще існує в Raspbian Stretch. Видалення initпараметра і resize2fs_onceфайлу є необхідним.
Скотт

2018-11-13-raspbian-stretch-lite безумовно має виклик init_resize.sh в boot / cmdline.txt до першого завантаження. Сценарій видаляється з cmdline.txt
Енді

0

Це більше не працює з випуском Stretch (для init немає параметра init).

Скрипт pishrink.sh ( завантажити сценарій з github ) приймає прапор -s, який запобігає розширенню при наступному перезавантаженні. Для запуску сценарію потрібна машина Linux або віртуальна машина. Сценарій працює, переписавши /etc/rc.local, або розширити файлову систему (за замовчуванням), або залишити її такою, якою є (якщо вказано прапор -s).

На ноутбуці Windows 10 ви можете використовувати win32diskimager, щоб отримати зображення зі своєї SD-карти, і я використовував зображення Lubuntu з osboxes.org для запуску під VirtualBox.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.