Unpack boot img windows

Unpack boot img windows

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

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

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

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

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

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

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

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

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

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

Скачать: unyaffs.zip ( 12,23 КБ )

Unpack boot img windows

winXP — НЕ ПОДДЕРЖИВАЕТСЯ. — у меня даже дистрибутивов таких уже нет, все железо которое у вас есть — без труда будет работать и на win7, не будьте впертыми ретроградами.
Краткое описание:
Разбирает, собирает boot и recovery БЕЗ установки сторонних програм типа CygWin или VM с линуксом.

Описание:
Утилита для распаковки/упаковки boot.img или recovery.img под WINDOWS!

Отныне не требуется установка дополнительных сторонних программ типа Cygwin или VM с убунтой для осуществления этого по-сути несложного процесса. Подключение телефона и проведение каких-либо манипуляций с ним также не требуется (в отличии от предыдущего способа).

Все исполняемые файлы (половина *.exe от Cyqwin) лежат в папочке bin + 2 батника.
Немного теории и вообще о процессе создания.

Как известно boot (recovery то же самое) состоит из нескольких частей:
— header
— kernel header
— kernel
— ramdisk_header
— ramdisk
Собственно разбирается только ramdisk — в нем структура папок и исполняемые файлы. Остальное не разбирается. Вообще т.е. никак.
Ramdisk — это gzip архив внутри которого cpio архив внутри которого папки и файлы.

Читайте также:  Oracle database 11g ��� linux

Т.е. процесс разборки выглядит так:
— ищем offset для всех блоков
— режем файл на куски
— ramdisk распаковываем 2мя разными архиваторами.
Обратный процесс аналогичен, но еще нужно в ramdisk_header вставить новый размер нового ramdisk.
Проблем было очень много.
1. Отсутствие в windows инструментария (команд у command.com) — никаких команд по поиску offset, работы с HEX, разделением/склеиванием файлов, поиска внутри файлов и т.п. и т.д. там нет. В общем это давно всем известно. В линуксе они есть — а в винде — нету.
Поэтому были привлечены сторонние утилиты, а также частично утилиты из cygwin — например find, dd, cpio, gzip и также одна универсальная утилита для windows — Swiss File Knife — A Command Line Tools Collection. http://stahlforce.com/dev/swiss-file-knife.html
Само собой все это работает как ему хочется и увязать с батником дело не простое, но.
2. Основная засада из-за которой не получалось раньше пересобрать boot под windows — при работе с cpio и gz архивами терялись симлинки (symliink) а также (!) права. Если симлинки удалось починить почти сразу (cpio от cygwin в отличии от сторонних архиваторов с поддержкой cpio) прекрасно их сохраняет и восстанавливает, то вот с правами была полная засада. причем очень интересный момент — выяснил почти случайно.
Права на сами файлы и папки из директории rmdisk оставались такими как и было нужно, а вот на папку rmdisk права НЕ сохранялись при упаковке. В моем случае для создания архива использовалась функция «find .» — которая выводит список файлов внутри директории — и надо же так получится, что корневая папка тоже участвует в процессе — хотя ведь ее нет в архиве.

и отображается в cpio архиве как точка бл. с правами. вот когда я это увидел — попробовал прямо в cygwin сделать chmod на папку — и чудо чудное — бут загрузился и тело включилось! Затем недолго думая я выдернул chmod из пингвина и вставил в скрипт.
Каким образом это работает в windows — я хз если честно. Думаю что уровне NTFS.
Ну в общем вот как-то так.

Требования:
— к структуре boot.img http://android-dls.com/wiki/index.php?titl. ack_Boot_Images
— к Windows — не ниже XP и тип файловой системы — NTFS
— установленная Java JRE или JDK (а может и не нужно оно. )

Телефоны, на которых получилось препаковать boot.img:
Standart:
Samsung Galaxy S i9001, S III, Note II
HTC Evo, Desire V
MTK:
— пока не попадалось таких чтобы не разобралось

КРЯКОЗЯБРЫ — правой мышкой клик на заголовке окна, выбрать шрифт — TT (любой)
В путях к рабочим папкам НЕ ДОЛЖНО БЫТЬ РУССКИХ И КИТАЙСКИХ БУКВ. ПРОБЕЛОВ И прочего.

Скачать:
версия: 4.0 Boot_Recovery_Repack_Util_v4_win7-8_x64.rar ( 2,53 МБ )

Читайте также:  Asrock 970m pro3 драйвера windows

Сообщение отредактировал Slav_nsk — 06.06.16, 19:12

Unpack boot img windows

winXP — НЕ ПОДДЕРЖИВАЕТСЯ. — у меня даже дистрибутивов таких уже нет, все железо которое у вас есть — без труда будет работать и на win7, не будьте впертыми ретроградами.
Краткое описание:
Разбирает, собирает boot и recovery БЕЗ установки сторонних програм типа CygWin или VM с линуксом.

Описание:
Утилита для распаковки/упаковки boot.img или recovery.img под WINDOWS!

Отныне не требуется установка дополнительных сторонних программ типа Cygwin или VM с убунтой для осуществления этого по-сути несложного процесса. Подключение телефона и проведение каких-либо манипуляций с ним также не требуется (в отличии от предыдущего способа).

Все исполняемые файлы (половина *.exe от Cyqwin) лежат в папочке bin + 2 батника.
Немного теории и вообще о процессе создания.

Как известно boot (recovery то же самое) состоит из нескольких частей:
— header
— kernel header
— kernel
— ramdisk_header
— ramdisk
Собственно разбирается только ramdisk — в нем структура папок и исполняемые файлы. Остальное не разбирается. Вообще т.е. никак.
Ramdisk — это gzip архив внутри которого cpio архив внутри которого папки и файлы.

Т.е. процесс разборки выглядит так:
— ищем offset для всех блоков
— режем файл на куски
— ramdisk распаковываем 2мя разными архиваторами.
Обратный процесс аналогичен, но еще нужно в ramdisk_header вставить новый размер нового ramdisk.
Проблем было очень много.
1. Отсутствие в windows инструментария (команд у command.com) — никаких команд по поиску offset, работы с HEX, разделением/склеиванием файлов, поиска внутри файлов и т.п. и т.д. там нет. В общем это давно всем известно. В линуксе они есть — а в винде — нету.
Поэтому были привлечены сторонние утилиты, а также частично утилиты из cygwin — например find, dd, cpio, gzip и также одна универсальная утилита для windows — Swiss File Knife — A Command Line Tools Collection. http://stahlforce.com/dev/swiss-file-knife.html
Само собой все это работает как ему хочется и увязать с батником дело не простое, но.
2. Основная засада из-за которой не получалось раньше пересобрать boot под windows — при работе с cpio и gz архивами терялись симлинки (symliink) а также (!) права. Если симлинки удалось починить почти сразу (cpio от cygwin в отличии от сторонних архиваторов с поддержкой cpio) прекрасно их сохраняет и восстанавливает, то вот с правами была полная засада. причем очень интересный момент — выяснил почти случайно.
Права на сами файлы и папки из директории rmdisk оставались такими как и было нужно, а вот на папку rmdisk права НЕ сохранялись при упаковке. В моем случае для создания архива использовалась функция «find .» — которая выводит список файлов внутри директории — и надо же так получится, что корневая папка тоже участвует в процессе — хотя ведь ее нет в архиве.

и отображается в cpio архиве как точка бл. с правами. вот когда я это увидел — попробовал прямо в cygwin сделать chmod на папку — и чудо чудное — бут загрузился и тело включилось! Затем недолго думая я выдернул chmod из пингвина и вставил в скрипт.
Каким образом это работает в windows — я хз если честно. Думаю что уровне NTFS.
Ну в общем вот как-то так.

Читайте также:  Загрузить файл через консоль linux

Требования:
— к структуре boot.img http://android-dls.com/wiki/index.php?titl. ack_Boot_Images
— к Windows — не ниже XP и тип файловой системы — NTFS
— установленная Java JRE или JDK (а может и не нужно оно. )

Телефоны, на которых получилось препаковать boot.img:
Standart:
Samsung Galaxy S i9001, S III, Note II
HTC Evo, Desire V
MTK:
— пока не попадалось таких чтобы не разобралось

КРЯКОЗЯБРЫ — правой мышкой клик на заголовке окна, выбрать шрифт — TT (любой)
В путях к рабочим папкам НЕ ДОЛЖНО БЫТЬ РУССКИХ И КИТАЙСКИХ БУКВ. ПРОБЕЛОВ И прочего.

Скачать:
версия: 4.0 Boot_Recovery_Repack_Util_v4_win7-8_x64.rar ( 2,53 МБ )

Сообщение отредактировал Slav_nsk — 06.06.16, 19:12

Unpack boot img windows

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

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

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

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

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

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

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

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

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

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

Скачать: unyaffs.zip ( 12,23 КБ )

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