Я хочу создать один файл изображения для записи на карту памяти, такую как SD, используя инструмент, подобный Win32DiskImager. Цель состоит в том, чтобы после того, как это изображение было записано, на карте будет как минимум два раздела. В моем случае это загрузочный раздел в формате VFAT и встроенные root-файлы Linux в формате ext3, но они могут быть чем угодно, и их может быть больше двух. Другое требование заключается в том, что весь процесс создания образа должен быть реализован в виде сценария Linux, не требующего взаимодействия с пользователем. Можно предположить, что контент для файловых систем уже существует в той или иной форме.

У меня уже есть скрипт, который делает то, что я хочу, используя dd для создания файла образа, sfdisk для его разметки и losttup для монтирования разделов.

Вопрос, на который у меня пока нет ответа, связан с геометрией диска. Сценарий, который у меня есть, работает для меня и для карт памяти, которые у меня есть, но sfdisk (понятно) продолжает жаловаться на то, что он не может определить геометрию моего файла изображения. Еще одна проблема с sfdisk заключается в том, что в какой-то момент его разработки поддержка определения геометрии в формате «головки цилиндров-секторов» была прекращена.

Насколько я знаю, не было бы необходимости знать о геометрии, если бы я делал разбиение непосредственно на каждой карте памяти.

Как мне определить геометрию? Или это нужно определить вообще? Можно ли вообще создать такой универсальный образ, ничего не зная о карте памяти, на которой он будет записан, и требовать только, чтобы карта была достаточно большой для образа? Или я просто использую неправильные инструменты для этого? Каковы будут правильные инструменты и правильный способ сделать это?

Даже подсказки о направлении будут приветствоваться, если не существует полного решения, которое легко описать.

0