Распаковка img прошивки linux

How to extract boot.img?

I am trying to see the content in a boot.img file from an Android image. I googled and found this article to extract system.img , but it doesn’t work for boot.img . When trying to do this for boot.img , it is showing the following:

Invalid sparse file format at header magi Failed to read sparse file 
  1. If so, Is there any other method to extract boot.img ?
  2. If not, what is the problem for not extracting boot.img ?

4 Answers 4

boot.img is a small(ish) file that contain two main parts.

Unpack boot.img :

It contains the following steps:

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz 
tar xvzf android_bootimg_tools.tar.gz 

We can extract the ramdisk also, using the following command

gunzip -c boot.img-ramdisk.gz | cpio -i 

After changing the files, we can again pack those files as boot.img using mkbootimg

Getting the same error for step 3 on Mint 17 here. Tried running them by sudo and after chmod 755 to no avail.

Fix for: «unpackbootimg command not found», you are running 32bit binary on a 64 bit machine without 32bit dependencies. Install them with «apt-get install gcc-multilib»

Install abootimg (available as a package, for example in Debian/Ubuntu and openSUSE).

To extract (boot|recovery).img :

$ abootimg -x (boot|recovery).img $ ls boot.img bootimg.cfg initrd.img zImage 

To repack (boot|recovery).img after modifying one of bootimg.cfg , zImage or initrd.img :

abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img 

This project is not maintained and did not work with my boot.img file, however the answer from @cfig worked.

boot.img is not a compressed filesystem image like system.img . It is read by the bootloader, and contains little more than a kernel image and a ramdisk image.

Some binary distribution ship the kernel and ramdisk images separately. In that case you don’t need to do anything with boot.img , just regenerate a new one with mkbootimg .

If you need to extract information from a boot.img , try split_bootimg (by William Enck, via the Android wiki).

You can use the following tool to extract and re-pack Android boot image

$ git clone https://github.com/cfig/Android_boot_image_editor.git 

copy your boot.img to the cloned git repository. Run:

First time run will need to download necessary libs from internet, be patient. You can get the contents at «build/unzip_boot/», like this:

build/unzip_boot/ ├── bootimg.json (boot image info) ├── kernel ├── second (2nd bootloader, if exists) ├── boot.img.avb.json (AVB only) └── root 

Источник

Распаковка и запаковка img прошивок Allwinner

LiveSuit kitchen ublaze.ru for Linux — кухня под Linux для распаковки и запаковки img прошивок Android для Allwinner.

Что можно делать в кухне:

1. Разбирать/собирать прошивку.
2. Распаковка разделов nanda (bootfs), nandc (root), nandd (system), nandg (recovery).
3. Запаковка тех же разделов.
4. Конвертация script.bin в script.ini и наоборот.

Читайте также:  Suse and red hat enterprise linux

Что нам потребуется:

  • Кухня — скачать можно здесь (скачать бета версию кухни)
  • 64-х (x86_64) битный дистрибутив Porteus-4.0 — русский репозиторий от Blaze, включающий в себя локализованные образы: LXDE, LXQT, OPENBOX, KDE5, CINNAMON, MATE, XFCE (для архитектур i586 и x86_64).
  • Root права — в терминале введите su и пароль toor для активации root аккаунта
  • модуль compat32-libraries-3.0-x86_64-1sl.xzm

Скачайте образ (лучше скачивайте CINNAMON, XFCE или MATE) 64-х битной версии (x86_64) дистрибутива Porteus-4.0 (UNIX система базирующаяся на Slackware, представляет собой LiveCD, USB ОС) из репозитория Blaze.

В образ Porteus можно сразу добавить модуль compat32-libraries-3.0-x86_64-1sl.xzm. Для этого откройте образ Porteus с помощью программы UltraISO зайдите в директорию /porteus/modules/. Скачайте и перетащите туда модуль compat32-libraries-3.0-x86_64-1sl.xzm. Сохраните изменения в образе. Так же, можете скачать дополнительный софт для Porteus от сюда.

С помощью UltraISO запишите образ Porteus на CD или DVD болванку (лучше записать на USB-флешку, для этого с помощью WinRar извлеките образ Porteus на флешку, зайдите в папку boot и запустите Porteus-installer-for-Windows.exe и в биосе выставите загрузку с USB). В Bios-e компьютера выставите загрузку с CD/DVD дисковода. Вставьте диск с записанным дистрибутивом Porteus. Включите компьютер, после чего должна начаться загрузка Porteus. Более подробно как установить Porteus читайте здесь.

Зайдите на локальный диск D он же /mnt/sda5 (если не активировали модуль compat32-libraries-3.0-x86_64-1sl.xzm — активируйте его в Porteus) — откройте на рабочем столе Домашнюю папку и извлеките в корень домашней папки содержимое архива livesuit_kitchen_ublaze.ru.tar.bz

В распакованную папку livesuit_kitchen_ublaze.ru скопируйте прошивку и переименуйте ее в original.img

Запустите терминал Porteus и введите:

su toor cd livesuit_kitchen_ublaze.ru

где livesuit_kitchen_ublaze.ru путь до кухни

port1

---------------------------------------- < Menu >---------------------------------------- 1 - Extract image from file original.img 2 - Create image file 3 - Extract bootfs image 4 - Extract root image 5 - Extract recovery image 6 - Extract system image 7 - Create bootfs image file 8 - Create root image file 9 - Create recovery image file 0 - Create system image file ---------------------------------------- f - Convert script.bin to script.ini b - Convert script.ini to script.bin ---------------------------------------- d - Delete all files q - Exit

port2

1-2 - Разобрать/Собрать прошивку 3-6 - Разобрать разделы 7-0 Собрать разделы f - Конвертировать script.bin (работает только если сделать пункт 3) b - Конвертировать script.ini (работает только если сделать пункт 3) d - Удаляет все файлы, оставляет только original.img

Распаковываются разделы в папку _temp там их можно модифицировать и делать все что угодно.

Если у вас есть резервная копия заводских модулей (директория /system/vendor/modules), заводского init.sun 5 i.rc (в зависимости от процессора цифра может различаться) и заводской script.bin, то Вы сможете адаптировать прошивку, при условии, что прошивка будет с такой же версией Android. Какие модули у загружаются при загрузке планшета см. в заводском файле init.sun5i.rc. Например модули тача см. в секции #insmod key & tp driver, модули камеры в #csi module, модули gsensor-а в #insmod gsensor driver, модули интернета wifi и т.п. в #network module

Источник

Читайте также:  Linux смонтировать cifs fstab

Img распаковать в терминале

скажите, как разобрать img в терминале Линукс. какие команды?
вобщем вот это для чего. есть операционная система, нужно в ней кое-какие директории заменить на другие. но не знаю, как разобрать img чтобы до них добраться.
как это сделать в терминале?

Как запаковать и распаковать файлы? Ну хотя бы распаковать?
Как распаковать архив rar или zip из кода? Знаю, что есть библиотеки UnRar.dll и UnZip.dll, но как.

Как на JS изменить все теги на странице?
Приветствую. Требуется поменять все <img> </img> на странице html, а именно сделать замену.

Как защитить от взлома через [img] [/img] BBcode
Добрый день! На сайте реализованы некоторые возможности BBcode в комментировании. Я так понимаю.

ЦитатаСообщение от pcmax Посмотреть сообщение

Если я правильно догадался, что такое img, то
1. Покажите вывод fdisk ваш_img
Если ничего внятного не получите, то
2. вывод blkid ваш_img

losetup /dev/loop0 /var/lib/libvirt/image/XXX.img kpartx -a /dev/loop0

если loop0 занято, берём 1,2,3. ну что будет свободно.
Если внутри образа нет lvm, то монтируйте появившиеся в /dev/mapper/loop0p1 и т.д. блочные устройства и ковыряйтесь.
если там ещё и lvm живёт, то

и теперь всё монтируем.
Можно чутка проще — через guestmount. Если не ошибаюсь в пакете libguestfs это присутствует. Утилита всё вышеперечисленное сделает сама.

вобщем img это расширение , или правильнее скажить суфикс файла, в моем случае это armbian.img
я хочу вытянуть оттуда загрузчик. не знаю как правильно разобрать и собрать только.
наверное для этого есть специальные команды в терминале

Добавлено через 4 минуты

ЦитатаСообщение от _sg2 Посмотреть сообщение

ЦитатаСообщение от _sg2 Посмотреть сообщение

mount armbian.img /mnt/ -o offset=4194304

ребята, хочу разобрать img и собрать обратно

я извиняюсь, что туплю. не дошло до меня, что Вы просили.
вот вывод

Диск /dev/sdb: 14,8 GiB, 15837691904 байт, 30932992 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x2a20e0a6 Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sdb1 2048 30930943 30928896 14,8G 83 Linux Диск /dev/sda: 55,9 GiB, 60022480896 байт, 117231408 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0xf9a8486c Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sda1 * 2048 117229567 117227520 55,9G 83 Linux

Эксперт NIX

Образ — это посекторная копия, изменить его не выйдет. Можно только развернуть (записать) на раздел, изменить и сделать новый образ.
Только судя по вопросам не Вашего уровня знаний поставленная задача с загрузчиком. Может Вы не то делаете?

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

ЦитатаСообщение от pcmax Посмотреть сообщение

Эксперт NIX

Куда отправляете и чем? Через что Вы на форум выходите? Нельзя этот файл открыть и скопировать его содержимое?

Читайте также:  Best text editors linux

у меня на одном пк линукс без графической оболочки. ну она там не нужна потому что пользуюсь лишь терминалом. ну копаться в образах, пересобирать ядро, и прочее. бывает, что наделаю что-то не так и нужно быстро переустановить систему. так как она без графическй оболочки, то это занимает буквально минуты. поэтому если делаю какой -то вывод с терминала, то делаю его в файл, на флешку, и сразу кидаю с другого пк, что у меня медийный центр сюда. можно конечно же окрыть файл на медийном центре, скопировать все и вставить в поле ответов. но помнится, что надо мной смеялись, что переписываю вывод с терминала в ручную, -что? -говорили они-не можешь в файл сделать вывод и закинуть?
ну а теперь говорят снова: пиши руками.
ну руками так руками. или надо в файл, потом перекинуть на другой пк, потом распокавать и вставить? как скажите, ваш же форум

Эксперт NIX

ЦитатаСообщение от pcmax Посмотреть сообщение

Стандартная операция: открыли в текстовом редакторе, выделили мышкой, Ctrl+С скопировали, Ctrl+V здесь вставили. При чем здесь

ЦитатаСообщение от pcmax Посмотреть сообщение

Источник

How would I extract a .img file

I am trying to extract a .img file (hard disk image with with Chromium OS on it). I have not been able to find any way to do this other than mounting it but that is not usable because it shows up as multiple drives so I cannot repack it.

5 Answers 5

You do not extract an .img ; you mount it. Example:

mkdir /mnt/ChromeOS mount -o loop image.img /mnt/ChromeOS/ 

and this will list the contents:

Mind that .img can also be zipped. If that is the case (unlikely though) you also need to gunzip it.

This does not work if the img contains multiple partitions, at least it fails for me. Using kpartx works instead.

You can use kpartx — create device maps from partition tables

Install the package kpartx and run

kpartx [-a | -d | -l] [-v] wholedisk 

DESCRIPTION

This tool, derived from util-linux’ partx, reads partition tables on specified device and creates device maps over partitions segments detected. It is called from hotplug upon device maps creation and deletion.

EXAMPLE

To mount all the partitions in a raw disk image:

You can clone from the image file to a drive

You can clone from the .img [image] file to a drive, for example a USB pendrive, that is big enough. This is the basic intention of the file.

You can use mkusb for that purpose. It works with compressed image files too (when compressed with gzip and xz ), .img.gz and .img.xz files.

After the cloning you will see the partitions for example with

sudo lsblk -f sudo lsblk -m sudo parted -ls 

After cloning you can mount and unmount the partition(s) on the drive ‘as usual’.

Источник

Оцените статью
Adblock
detector