Автор Тема: образ MicroSD минимального размера (РЕШЕНО)  (Прочитано 1035 раз)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 255
Есть такой замечательный проект - www.ev3dev.org, для управления контроллером Lego EV3 из-под Debian Linux. Они предлагают образ для заливки на MicroSD (например, https://github.com/ev3dev/ev3dev/releases/download/ev3dev-jessie-2017-09-14/ev3dev-jessie-ev3-generic-2017-09-14.zip). Заливаю на MicroSD, загружаюсь с нее, доустанавливаю кучу ПО и хочу сделать образ обновленной MicroSD. Но если использовать dd, получу образ размером с MicroSD (4,8,16 или 32ГБ), что меня категорически не устраивает.

Вопрос: как получить образ минимально возможного размера, чтобы при обратной заливке на MicroSD любого объема не возникло никаких ошибок.

P.S. В исходном образе ev3dev два раздела - первый загрузочный fat32, второй с Debian - на ext (не помню точно 2,3,4)

« Последнее редактирование: 03.02.2018 14:13:30 от xdsl »

Оффлайн alxl

  • Давно тут
  • **
  • Сообщений: 128
Re: образ MicroSD минимального размера
« Ответ #1 : 02.02.2018 09:32:56 »
а если второй раздел уменьшить насколько возможно, а затем уже сделать образ с помощью dd предварительно задав bs=xx count=yy такими, чтобы скопировалась ровно та часть карточки, которую занимают эти разделы.

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 255
Re: образ MicroSD минимального размера
« Ответ #2 : 02.02.2018 10:06:50 »
Но тогда при обратной заливке он так и останется уменьшенным и без его расширения использовать карту станет невозможно.

Оффлайн SG

  • Давно тут
  • **
  • Сообщений: 184
Re: образ MicroSD минимального размера
« Ответ #3 : 02.02.2018 10:13:52 »
QT4-fsarchiver не подойдёт?

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 255
Re: образ MicroSD минимального размера
« Ответ #4 : 02.02.2018 11:03:58 »
fsarchiver и ему подобные в своем формате сохраняет, а мне нужен образ, который я cмогу залить любым imagewriter-ом обратно на MicroSD из под любой оси.

У меня рисуется следующий вариант:
1. Определение реально занятого файлами размера.
2. Как предложил alxl, копирование с помощью dd в образ часть MicroSD полученного размера.

Однако после обратного копирования на MicroSD возникает вопрос, как себя поведет система при загрузке и дальнейшей эксплуатации, если размер целевой MicroSD не равен размеру исходной. Ну например, исходная MicroSD - 8GB, целевая - 4GB, полученный образ - 3GB.

Оффлайн hjkl

  • Давно тут
  • **
  • Сообщений: 121
Re: образ MicroSD минимального размера
« Ответ #5 : 02.02.2018 13:49:23 »
Если размер целевой MicroSD больше исходной, возможно, подойдет clonezilla live... Делает резервную копию диска/некоторых разделов диска и восстанавливает из нее... Запускается с загрузочной флешки.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: образ MicroSD минимального размера
« Ответ #6 : 02.02.2018 18:59:03 »
См. partclone
Андрей Черепанов (cas@)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 255
Re: образ MicroSD минимального размера
« Ответ #7 : 03.02.2018 14:12:59 »
Спасибо всем.

Решил проблему, частично с помощью alxl, частично - благодаря предусмотрительности ребят, которые пилят ev3dev. Эти ребята в /etc/rcS.d/ кладут скрипт firstboot, который у них первым делом удаляет себя из автозапуска, вторым - через parted расширяет раздел до размера MicroSD, третьим - через resize2fs расширяет рутовую файловую систему до размера раздела.

Таким образом, становится достаточно доустановить ПО, ужать через parted раздел до минимально возможного, скопировать в автозагрузку скрипт firstboot и с помощью dd снять c MicroSD образ только нужного объема.

После обратного копирования на MicroSD подготовленного образа, система при первой загрузке на контроллере EV3 сама разбухнет до полного объема.