- Где взять boot img android
- Где взять boot img android
- Где взять boot img android
- Патчим прошивку Android за 5 минут
- Задача
- Необходимые инструменты
- Решение
- 1. Извлекаем с устройства загрузочный образ
- 2. Затем загрузочный образ нужно разобрать
- 3. Патчим
- 4. Заменяем загрузочный образ на устройстве
- Итоги
- Где взять boot img android
Где взять boot img android
/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
[email protected]:
#
В папке 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 КБ )
Источник
Где взять boot img android
/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
[email protected]:
#
В папке 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 КБ )
Источник
Где взять boot img android
/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
[email protected]:
#
В папке 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 КБ )
Источник
Патчим прошивку Android за 5 минут
Задача
Все началось с того, что я захотел установить на планшет Digma Optima 7.61 игру GTA San Andreas. К сожалению, виртуальная SD-карта планшета имеет объем менее 1 Гб, а кэш игры весит порядка 2-3 Гб. На планшете установлен Android 4.4.2 и возможность просто взять и сменить память по умолчанию в нем отсутствует. Так же в нем отсутствует файл /etc/vold.fstab (он есть на более старых версиях андроида, и изменив данный файл с root-правами, можно поменять местами виртуальную и реальную карты памяти).
Необходимые инструменты
1. Компьютер или ноутбук с ОС Linux.
2. Утилиты adb и fastboot (входят в состав Android SDK, так же, как заметил tmnhy, входят в репозитории как отдельные пакеты).
3. Набор утилит bootimg_tools (нашел здесь).
Решение
1. Извлекаем с устройства загрузочный образ
— Подключаем устройство к компьютеру через usb-кабель и заходим в shell устройства:
— Где-то в папке /dev/block на устройстве нужно найти файл с именем boot. У меня он находился по пути /dev/block/by-name/boot, но данный путь может различаться на разных устройствах.
— Извлекаем загрузочный образ:
— Выходим из shell’а (exit) и извлекаем образ:
2. Затем загрузочный образ нужно разобрать
— Скачиваем и распаковываем bootimg_tools.
— Добавляем bootimg_tools в PATH:
— Если все предыдущие шаги сделаны верно, то должна появиться папка boot-from-device. Внутри нее должны лежать файлы zImage и ramdisk.cpio.gz, а так же папка ramdisk. Как раз внутри последней лежит содержимое загрузочного образа, которое мы будем патчить.
3. Патчим
Для решения своей задачи я нашел строчку, которую нужно заменить, в файле init.sun8i.rc. Я просто заменил export EXTERNAL_STORAGE /mnt/sdcard на export EXTERNAL_STORAGE /mnt/extsd. Как я понимаю, это как раз и есть то значение, которое возвращает метод Environment.getExternalStorageDirectory() в Android API. В пользу этого предположения говорит тот факт, что после применения патча приложения начали использовать аппаратную карту памяти вместо виртуальной для хранения своих данных.
4. Заменяем загрузочный образ на устройстве
Я написал для этих целей небольшой скрипт:
Итоги
После проделанных манипуляций игра на планшете успешно заработала.
Источник
Где взять boot img android
/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
[email protected]:
#
В папке 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 КБ )
Источник