boot img

Содержание
  1. Build abootimg tool
  2. Extract boot.так как
  3. Edit ramdisk content
  4. Repack boot.img
  5. Configuration file
  6. Как в ядро Андроид добавить поддержку init.d
  7. Why should I care?
  8. So how do I use it?
  9. Version 0.2 Changes
  10. Version 0.3 Changes
  11. Shameless plug for the book, and RFC
  12. Монтирование recovery, boot!?
  13. Познавательно-практический экскурс в архитектуру Android
  14. Unpack/repack boot.img/ramdisk for Android

How to root Android using Magisk Manager & stock boot.img


Typical Android system implementing fastboot (this includes FirefoxOS devices) uses so called images to run the kernel. It consist of the kernel itself and a ramdisk that it used to populate root () filesystem. Because it’s often useful to edit this filesystem (especially to modify file), let’s look how we can manipulate this image. I already briefly described how this can be done as part of my older post but now I’m going to describe more advanced and standalone (you don’t need Android sources for it) tool.

I assume that you have an image dump and it’s filename is . You can dump it using commands like:

You can read my older post to see how this can be done on Alcatel One Touch Fire.

Build abootimg tool

To do just about anything useful, you need proper tools. In this case, the tool is called . It’s quite easy to install:

This will create executable which can be used right away (you don’t have to copy it anywhere).

Extract boot.так как

In order to extract , use option followed with a path to the file. This will create few files in the current directory:

Edit ramdisk content

is a ramdisk file. It should be gzipped cpio file. To uncompress it, use following command:

Then edit the files you want, most probably . To recreate ramdisk image, use:

Repack boot.img

You may create new boot image using option. You have to specify config file ( option), kernel image ( option), and ramdisk image ( option):

If you extracted existing file, the config file was created for you. I explain this file later.

You may also change in place, using option combined with to change kernel image, to change ramdisk image, to change config file or to change specific config option only. For example to only change ramdisk and set config option, you could use:

Now you can boot this image with command or flash it using .

Configuration file

You can get some basic information from the image without extracting it with option:

/BUILD/firefoxos/B2G-hamachi/hamachi-backup/boot.img Android Boot Image Info: * file name= /home/k/BUILD/firefoxos/B2G-hamachi/hamachi-backup/boot.img * image size=4616192 bytes (4.40 MB) page size=2048 bytes * Boot Name=»» * kernel size=4274296 bytes (4.08 MB) ramdisk size=336854 bytes (0.32 MB) * load addresses: kernel: 0x00c5c004 ramdisk: 0x01f5c004 tags: 0x00c54104 * cmdline= androidboot.hardware=qcom loglevel=1 * id= 0x19964b91 0xd35aa078 0x953b011d 0x2804aab4 0xf7a3e4b3 0x00000000 0x00000000 0x00000000

Most of this information is stored in a file and it’s used when recreating the image file. In some cases, you may want to change them. Here’s its example content:

— size of the boot image; should be multiple of . It can never be smaller than the actual produced image file otherwise system won’t boot. You can remove this line and will calculate it for you. Of course, this can’t be bigger than your boot partition on the device.

— it’s the size of a NAND page. You probably don’t want to change that.

, , , — specifies where in memory should each image be put by when flashing the image. You may want to change this if you want to change kernel in your image.

Note that those addresses are only used when you flash the image ( command), if you boot it () they will be calculated like this (typical address is 0x10000000, it can be changed by parameter):

I believe that the address should be the same as in your kernel config.

is not used by bootloader but it can be displayed with option so you may want to use it to specify the purpose of each image, for example.

contains command line passed to the kernel.

The utility is another one of the tools I’m including in my book, this time to accompany the chapter about the Boot process.

Как в ядро Андроид добавить поддержку init.d

I deal a lot with the internal format of images there, and realized I needed a quick extractor. This became more important when I started to deal with the L preview, and Гугл Glass system images I used for research.

You can get the tool right here. Just unpack the tar. There’s a Mac OS X and Linux ELF32/64 binary, and the source. As usual, you might want to check out the RSS feed, or follow my company’s Twitter for more updates.

Why should I care?

Well, most users wouldn’t. But if you need a quick tool to unpack Android images, this is useful. Think of it as the inverse of mkbootimg (from the AOSP), coupled with simg2img (the sparse image extractor). Another bonus feature it provides is unpacking the Linux bzimage kernels.

Another reason — If you’re downloading a rooting tool — and you want to avoid getting malware. I just downloaded An NVIDIA Shield root image, for example — which is really nothing more than a bootimg. So it was trivial to run this tool to extract it — specifically, get to the ramdisk, then and make sure I can have a peek at it before installing.

So how do I use it?

To obtain an Android system image, you can either get it from a zip (e.g. Гугл’s update, Amazon’s update.bin, etc), or by ‘ing for a device, then copying it over. Note that some devices (e.g. the HTC One M8) may need a bit of processing, in this case stripping the 256 header HBoot uses:

If you’re using the Гугл images, it’s easier:

You can also use it to extract the filesystem image (basically, do what does:

Lastly, you can use it for imgdata extraction as well (as the file format there is derived from that of the boot image:

Version 0.2 Changes

  • Supports offset= (for HTC and other boot.imgs where ANDROID! is wrapped)
  • Supports cmdline= (to override kernel command line)

Version 0.3 Changes

  • Supports making images (similar functionality to mkbootimg) with the «make» argument
  • Minor updates to support cases where kernel can’t be decompressed (notably, Samsung 6Edge — Thanks, Dan!)

Shameless plug for the book, and RFC

The book has a TON of detail about the format of the boot images, as well as customizing the boot process by tinkering with the boot loader, system.img, and what not. The book has been out for a while, and you can get it on this very site, or on Amazon.

Volume II — covering the deep internals of the frameworks and the runtime — will be out around the time N goes final. In the interim, I encourage you to try out the tool (as well as the even more powerful Dextra, and the simple but useful bindump) and, of course — JTrace. Shoot me an email (to j@) if you’ve any questions. Or comments. Or in general. All are welcome.

Имидж диска IMG широко употреблялся в Mac OS 9 и более первых вариантах ОС. В Mac OS X данный формат был заменен файлом .DMG.
Как, чем открыть файл .img?

Монтирование recovery, boot!?

Формат файла .img #2
Описание файла .img на русскомФайл данных образа диска CloneCD
Описание файла .img на английскомCloneCD Disk Image Data File
Вид файлаОбразы дисков
Детальное описаниеОбраз диска IMG имеет копию данных компакт-диска, выполненную при помощи программы CloneCD.

При прожиге нового диска с образа, данный файл должен размещаться в одной папке с соответсвующими файлами .CCD и .SUB.
Как, чем открыть файл .img?
SlySoft CloneCD
IsoBuster
EZB Systems UltraISO

Познавательно-практический экскурс в архитектуру Android

Boot.img имеет ядро ??и ramdisk, критические файлы, нужные для загрузки устройства, перед тем как устанавливать файловую систему. Вы обязаны сами создать boot.img, применяя mkbootimg, инструмент, предоставляемый AOSP.

Все нужные данные доступные в данной ветке xda-developers.

Этот дискуссионный поток гугл тоже может быть полезен

Как выполнить Прошивку в Формате Img
http://tav.dukeb.ru/%D0%9A%D0%B0%D0%BA%20%D0%A1%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%9F%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D1%83%20%D0%B2%20%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B5%20Img App Store для айфоне перешедших вПодписка на рассылку “как выполнить прошивку в формате img”.

В процессе firmware вы сможете увидеть много сменяющихся образов в формате img, длительнее всего найти на ресурсе поддержки устройства. Подписка на рассылку “как выполнить прошивку в формате img”. Рассылка выходит раз в день и имеет перечень программ из App Store для айфоне перешедших. Firmware в формате. Полный имидж диска дополняется файлами SUB и CCD с аналогичными именами, находящимися в той же папке. Как выполнить прошивку в формате. Как выполнить прошивку в zip на android из img Android Club. Детальное как выполнить файл img для firmware андроид описаниеобраз диска img имеет копию данных компакт-диска, выполненную при помощи. В общем мне необходимо сделать прошивку для Android в update. Чем распаковать формат. Img? Прошивка Как получить tar-файл для firmware через ODIN создание. MD5? MD5 файлы, но абсолютно не все изменения показаны в подобном виде к примеру CWM RECOVERY, ложатся в формате NAME.

Unpack/repack boot.img/ramdisk for Android

Все firmware для планшетных компьютеров на процессоре Allwinner имеют одинаковый формат img IMAGEWTY. После долгих поисков я все же отыскал программу, которая дает возможность собрать и разобрать прошивку для планшетных компьютеров на базе Allwinner. Подписка на рассылку “как выполнить прошивку в формате img”. Рассылка выходит раз в день и имеет перечень программ из App Store для айфоне перешедших в категорию бесплатные за последние 24 часа. Подписка на рассылку “как выполнить прошивку в формате img”. Как выполнить Прошивку в Формате Img

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[online]

Группа: Почетные форумчане
Сообщений: 7381
Регистрация: 04.05.08
Huawei Mate 9 MHA-L29

Репутация:

1294

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
root@bob:

#
В папке ramdisk 18 объектов, всего 514,6 КБ
Где все другое ?? где файлы ядра ?

[offline]

Группа: Друзья 4PDA
Сообщений: 285
Регистрация: 05.07.10
Samsung Galaxy Note 8.0

Репутация:

35

Какие еще файлы ядра??

boot.img-kernel — это zImage-образ ядра. Если ты имеешь ввиду исходники ядра, то с образа их совсем не получишь.
boot.img-ramdisk.gz — cpio/gz архив рамдиска с init.rc и остальной хренью. Его содержание распаковано в папку ramdisk.
А больше ничего в буте и нет. Это же касается и recovery.img

system.img (и userdata.img) — имидж файловой системы в формате yaffs2. Распаковывается утилитой unyaffs под линухом. Ну или могу под винду утилиту подкинуть.

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[offline]

Группа: Почетные форумчане
Сообщений: 6176
Регистрация: 23.11.09
Highscreen Zera F rev.S

Репутация:

232

[offline]

Группа: Друзья 4PDA
Сообщений: 906
Регистрация: 26.09.07
Гугл Nexus 4

Репутация:

303

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[offline]

Группа: Друзья 4PDA
Сообщений: 906
Регистрация: 26.09.07
Гугл Nexus 4

Репутация:

303

Ну что же, мысль здоровая, если знаете что к чему.

1 Скачайте/поищите во всемирной сети исходники для собственного устройства. Если устройство htc, то developer.htc.com, если другое, ищите во всемирной сети.
2 Ввнесите необходимые изменения в файл arch/arm/mach-msm/acpuclock.c,
3 Скачайте например NDK с андроидовского сайта (необходимо для кросс-компиляции). Как мне стало плнятно, у вас убунту. Тогда дальше все просто.
4 ARCH=arm CROSS_COMPILE=/путь_куда_установили_ndk/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make zImage
5 mkbootimg —kernel arch/arm/boot/zImage —ramdisk ваш_рамдиск.gz —cmdline то_что_писало_когда_вы_извлекали_рамдиск -o boot.img
6 adb push boot.img /cache/ && adb shell flash_image boot /cache/boot.img

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

Нельзя ли подробно с компиляцией ?
Вот эту строку которую вы указали, ка мне стало плнятно нужно вписывать в Makefile ? И вообщем у последнего NDK полностью другой путь папок ! Может дадите ссылку на Ваш NDK ?
И еще можно ли делать компиляцию через arm-2007q3 как написано здесь http://www.anddev.org/learning_porting_and. step-t3252.html .
Или через windows компиляцию сделать можно ?

Сообщение отредактировал bobjob — 17.02.11, 17:33

[offline]

Группа: Друзья 4PDA
Сообщений: 906
Регистрация: 26.09.07
Гугл Nexus 4

Репутация:

303

[offline]

Группа: Друзья 4PDA
Сообщений: 215
Регистрация: 14.01.11
ZTE X850 Racer

Репутация:

2

[offline]

Группа: Друзья 4PDA
Сообщений: 285
Регистрация: 05.07.10
Samsung Galaxy Note 8.0

Репутация:

35

unyaffs под винду.
При распаковке:
— теряются owners, permissions и даты создания/изменения/доступа
— симлинки заменяются на файлы в фигурных скобках <>, в середине — путь куда указывает симлинк
Просто для извлечения данных этого достаточно.
Написано на коленке в делфях.
Применение: unyaffs.exe файл.img
Cygwin не требуется.

Скачать:

unyaffs.zip ( 12,23 КБ )

[offline]

Репутация:

29

/Downloads/boot$ perl extract-ramdisk.pl
did not specify boot img file
joeu@ubuntu:

[offline]

Группа: Почетные форумчане
Сообщений: 6176
Регистрация: 23.11.09
Highscreen Zera F rev.S

Репутация:

232

[offline]

Репутация:

29

[offline]

Группа: Почетные форумчане
Сообщений: 6176
Регистрация: 23.11.09
Highscreen Zera F rev.S

Репутация:

232

joey123, прочтите текст по ссылке в другом сообщении. В чём, собственно, состоит Ваш вопрос?

Сообщение отредактировал Бодтэк — 15.04.11, 15:04

Комментариев нет, будьте первым кто его оставит

Вам нужно войти, чтобы оставить комментарий.