Я работаю над разработкой устройства, работающего на встроенном Linux. Когда я работаю с новыми аппаратными версиями, у меня возникает образ, который я могу скопировать с помощью dd на SD-карту, загрузить с него и добавить на внутреннее хранилище eMMC.
Поскольку образ для старого HW потерян, я пытаюсь создать новый образ резервной копии, и я хотел бы, чтобы он был как можно меньшего размера, но поскольку dd делает это блок за блоком, и не важно есть что-то или нет на блоке, он все равно скопирует его, поэтому мне нужно полностью скопировать устройство. Внутренняя память составляет около 4 ГБ (ext4), а файлы меньше, чем 200 МБ ...
Я знаю, что могу использовать dd if=/dev/source-device of=image | tar ...
но я бы предпочел сделать что-то вроде dd if=/dev/source-device of=image bs=1M count=300
но для этого я должен убедиться, что мои данные находятся в первых 300MB.
Это приносит мне два вопроса:
1) Как проверить, находятся ли данные на первых 300 МБ диска?
2) если данных нет, как заставить их переместиться в начало диска?