Добрый день друзья.
Столкнулся с проблемой что без участия вашего форума найти выхода не смог.

Расскажу по порядку.
Хочу редактировать прошивку для android. Разбираю её, беру оттуда образ system.img копирую его в линукс и монтирую его вот такой нехитрой командой:

sudo mount -t ext4 /home/123/system.img /home/1234

Всегда он монтировался без проблем. Я его редактировал и дальше просто размонтировал командой unmount /home/1234
Но в новой версии прошивки я столкнулся с новым system. Я знаю что он точно ext4. Я знаю что он распаковывается на компе (сторонними прогами) но мне нужно красиво изменить его в линуксе, замонтировать, изменить и размонтировать.

При монтировании этого образа опять же командой

sudo mount -t ext4 /home/123/system.img /home/1234

Я вижу вот такое сообщение:

mount: /home/1234: wrong fs type, bad option, bad superblock on /dev/loop13, missing codepage or helper program, or other error.

Нашёл в просторах интернета вот такую инструкцию которая говорит о смещении раздела:

+ открыть спойлер

Originally Posted by TobiSGD View Post
The problem is that the .img files are not images of a partition, but of a whole disk. That means they start with a bootloader and a partition table. You have to find out the offset of the partition and mount it with the offset option of mount.
If you do a
Code:

fdisk -l /path/to/image
it will show you the block-size and the start-block of the partition. You can use that to calculate the offset.
For example, I have an image of a bootable stick with a 4GB FAT32 partition. The output of the fdisk command is
Code:
Disk Stick.img: 3984 MB, 3984588800 bytes
249 heads, 6 sectors/track, 5209 cylinders, total 7782400 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: 0x0004bfaa

Device Boot      Start         End      Blocks   Id  System
Stick.img1   *         128     8015999     4007936    b  W95 FAT32

So I have a block-size of 512 bytes and the start-block is 128. The offset is 512 * 128 = 65536.
So the mount command would be
Code:

mount -o loop,offset=65536 Stick.img /mnt/tmp

Но результата не дал этот способ так как команда

fdisk -l /path/to/image

Даёт результат который не показывает нужную мне информацию.
Я вижу вот это:

fdisk -l /home/system.img
Диск /home/system.img: 1.29 GiB, 1375563776 байт, 2686648 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Люди мне подсказали вот такое решение проблемы:

Размер раздела system в H2 - 0x5DC00000 (1572864000) байт. В прошивке образ раздела обрезан с конца - выкинуто пустое пространство для уменьшения размера. Поэтому файл и не монтируется под линуксом - размер образа не соответствует размеру, указанному в заголовке раздела.
Чтобы смонтировать его, нужно сначала восстановить его до исходного размера - дописать в конец system.img нужное количество нулей.


Вот и просьба о помощи реализации этого метода добавлению нулей и монтирования его.
Ну или может у вас есть вариант как можно его замонтировать ?
Ссылка на образ на всякий случай тут: https://yadi.sk/d/lXrkogPezUFRYw

Спасибо за внимание уделённое моему посту  ab

2 (26.02.2020 16:21:11 отредактировано shtoom)

Попробуйте cdemu с gui даже, gnome - gcdemu, kde - kcdemu.Он  субканальные данные для starforce умеет и все такое - линуксовый daemond tool bx Галочкм там в настройках поставьте, авось получится. az

3

https://ru.wikipedia.org/wiki/AcetoneISO

4

Спасибо за помощь, сегодня буду пробовать ab
*** Добавлено: 27.02.2020 01:13:46 ***

Вариант не прошёл.

Error, could not mount image.

Solution:
Try converting the image to ISO or extract the content to a folder from the upper menu "Image Conversion."
NOTE: it is NOT possible to mount multi-sector images.

*** Добавлено: 27.02.2020 01:38:23 ***

Может вдруг кому-то помогу.
Образ открылся на линукте после того как я дописал недостающее пространство нулями в конец.

 Консоль:
dd if=/dev/zero bs=1 count=197300224 >> /home/system.img

5

Видимо  из-за того, что ext4 теперь не как раньше, с полгода назад в нее внесли изменения и люди с архивами своих прошлых систем много мучались пытаясь из них восстановимть свои системы. bx Похоже тот кто делал этот образ давно не переустанавливал свой линукс. af