Очевидним рішенням є монтування зображення безпосередньо в Linux і внесення змін, але є невелика проблема. Ці носії розділені подібним чином, як жорсткий диск. Рішення полягає в тому, щоб змонтувати правильний розділ із зображення.
Переконайтеся, що зображення дійсно розділене:
$ file -k OpenELEC-RPi.arm-4.95.1.img
OpenELEC-RPi.arm-4.95.1.img: x86 boot sector; partition 1: ID=0xc, active, starthead 32, startsector 2048, 262145 sectors; partition 2: ID=0x83, starthead 146, startsector 266240, 65537 sectors
Робота з зображенням
Нанесіть на карту розділи із зображення на пристрої циклу:
$ sudo kpartx -av OpenELEC-RPi.arm-4.95.1.img
add map loop0p1 (252:3): 0 262145 linear /dev/loop0 2048
add map loop0p2 (252:4): 0 65537 linear /dev/loop0 266240
На Ubuntu kpartx
за замовчуванням не встановлено. Зробіть sudo apt-get install kpartx
.
Встановіть розділ:
$ sudo mount /dev/mapper/loop0p1 /mnt/tmp1
Тепер внесіть зміни до /mnt/tmp1
каталог.
Визначити розділ і видалити відображення:
$ sudo umount /dev/mapper/loop0p1
$ sudo kpartx -dv OpenELEC-RPi.arm-4.95.1.img
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0
Інші варіанти
Якщо kpartx
неможливо визначити, наприклад, зміщення розділу fdisk
(Він також працює на зображеннях, щоб ви могли створити зображення без фізичного диска) losetup
або mount -o loop,offset=x
або навіть нову версію losetup
(від util-linux 2.21) можна відобразити розділи безпосередньо за допомогою цього параметра --partscan
.
Є інші описи: