Назад | Перейти на главную страницу

Сжатие img файла, содержащего разделы linux

У меня есть файл img (4,02 ГБ), содержащий ОС Linux. Моя цель - уменьшить этот файл img до <4 ГБ. Img содержит раздел linux, который содержит только около 2,5 ГБ данных.

Мне нужно иметь возможность скопировать этот img-файл на eMMC размером чуть менее 4 ГБ. Так что сжимать изображение для хранения - это не то, что я хочу. Мне нужно изображение меньшего размера, которое можно скопировать с помощью dd в eMMC.

Когда я загружаю изображение на SD-карту объемом 8 ГБ (используя dd), оно выглядит так:

root@udoo:/# fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 8026 MB, 8026849280 bytes
4 heads, 16 sectors/track, 244960 cylinders, total 15677440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00052161

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048       67583       32768    e  W95 FAT16 (LBA)
/dev/mmcblk0p2           67584     7849983     3891200   83  Linux

и вывод fdisk

root@udoo:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       3.6G  2.5G  920M  74% /
devtmpfs        342M  4.0K  342M   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            101M  236K  101M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            502M   72K  502M   1% /run/shm
none            100M   20K  100M   1% /run/user
/dev/mmcblk0p1   32M  6.3M   26M  20% /boot

Я могу использовать ОС Linux для монтирования SD-карты, сжатия файловой системы и повторного создания разделов, но как мне экспортировать это в новый файл img? AFAIK, выполняя dd if=/dev/mmcblk0 of=/file.img В результате всегда будет получен файл изображения того же размера, что и SD-карта (в данном случае 8 ГБ).

Как лучше всего это сделать?

Есть ли способ создать пустой файл img размером 3,5 ГБ и добавить 2 раздела (/ dev / mmcblk0p1 en / dev / mmcblk0p2) как-то для достижения моей цели?