Создание кастомных прошивок



Реп: (269)
Создание кастомных прошивок на dsixda's Android Kitchen

Windows / Linux / Mac OS X

Данная программа не является полноценным инструментом для работы с прошивками. Создание кастома обычно начинается с нуля, требует много времени и терпения. Автор программы просто дал возможность пользователю быстрее добиться своей цели, используя уже существующую базу, а инструкция поможет вам быстрее научится работать с программой. Материал предоставленный в данном посте является неофициальным. В случае гибели аппарата: создатель программы, автор поста и администрация сайта ответственности не несут. Все действия на ваш страх и риск.
Список поддерживаемых кухней аппаратов:
  • Acer Liquid
  • Dell Streak 7
  • HTC Aria / Liberty
  • HTC Desire
  • HTC Desire HD / Inspire 4G
  • HTC Desire S
  • HTC Desire Z / Vision / T-Mobile G2
  • HTC Dream / G1
  • HTC Droid Eri
  • HTC Evo 3D
  • HTC Evo 4G
  • HTC Evo View 4G (не протестировано)
  • HTC Evo Shift 4G
  • HTC Flyer (не протестировано)
  • HTC HD2 - Детали в этой теме
  • HTC Hero / G2 Touch
  • HTC Incredible
  • HTC Incredible 2
  • HTC Incredible S
  • HTC Legend
  • HTC Magic / myTouch 3G
  • HTC myTouch 3G Slide
  • HTC myTouch 4G / Glacier
  • HTC Nexus One
  • HTC Rezound
  • HTC Sensation
  • HTC Tattoo / Click
  • HTC Thunderbolt
  • HTC Wildfire / Buzz
  • HTC Wildfire S (не протестировано)
  • Huawei Ideos X6 - Детали в этой теме
  • Huawei U8100/U8110/U8120/U8150/U8160/U8180/U8650
  • Huawei U8220 / T-Mobile Pulse
  • Huawei U8500
  • Huawei u8850
  • LG Ally
  • LG GT540 Optimus
  • LG Optimus 2X (P990)
  • LG Optimus Black (не подтверждено)
  • LG Optimus G2X (P999)
  • LG P500 - Детали в этой теме
  • LG Shine Plu
  • LG Vortex
  • Micromax A60
  • Motorola Atrix (не подтверждено)
  • Motorola CLIQ / CLIQ XT
  • Motorola Droid
  • Motorola Droid Bionic - Детали в этой теме
  • Motorola Milestone (не подтверждено) - Возможно потребуется удаление boot.img после сборки
  • Samsung Galaxy Nexus (не протестировано, только версии 'maguro' и 'toro')
  • Samsung Galaxy S (GT-I9000 и все его варианты) - Детали в этой теме
  • Samsung Galaxy S Plus (GT-I9001) - Детали в этой теме
  • Samsung GT-S7500 Galaxy Ace Plus -Детали в этой теме
  • Samsung Galaxy S2 (GT-I9100 и Exynos CPU варианты) - Детали в этой теме
  • Samsung Galaxy S2 LTE (AT&T Skyrocket, T-Mobile SGH-T989) - Детали в этой теме
  • Samsung Galaxy W (GT-I8150, не протестировано)
  • Samsung Nexus S / Nexus S 4G
  • Samsung Galaxy Gio - Детали в этой теме
  • Sony Xperia X10 / X10 Mini / X10 Mini Pro - Детали в этой теме
  • Sony вся линейка телефонов '11 года, могут быть пробелы в updater-script
  • ZTE Blade / Orange San Francisco


Установка:
Windows:
Установить кухню в Windows тоже можно несколькими способами:
  • Установить Cygwin (Unix-среда для Windows):
    1. Скачиваем и устанавливаем Java JDK для Windows 32-бит (ВНИМАНИЕ: Не устанавливайте Cygwin перед JDK).
    2. Скачиваем cygwin, распаковываем и следуем инструкциям в "Установка.txt"(спаибо за Cygwin пользователю Jlocb).
    Примечание: кухня работает только с той версией Cygwin, что прилагается здесь.
  • Установка Linux через виртуальную машину:
    1. Загружаем и устанавливаем Virtual Box (или любую другую виртуальную машину).
    2. Устанавливаем Linux в виртуальную машину.
    3. Подробнее об подготовке Linux читаем в разделе "Установка - > Linux".
    Примечание: при использовании данного метода, кухня может работать медленнее.

Linux (рекомендую Ubuntu):
1. Устанавливаем "Центр приложений Ubuntu", набрав в терминале "sudo apt-get install software-center" (в последних версиях, уже встроен в дистрибутив).
2. Для 64-битных систем набираем в терминале "sudo apt-get install ia32-libs".
3. Запускаем центр приложений (можно через терминал командой "software-center") и в окно поиска вводим "Java", среди найденных результатов ищем "OpenJDK Java 6 Runtime" (или что-то подобное) и устанавливаем.
4. Тем, кто ставил через виртуальную машину, нужно ещё расшарить папки между Windows и Linux.

Mac OS X:
1. Создаём образ .dmg диска для кухни, иначе готовый диск не будет загружаться.
2. Устанавливаем Sun Java JDK.
3. Устанавливаем GNU версии sed, Mac OS X версии (FreeBSD) в sed не совместим с кухней.
4. Устанавливаем GCC (компилятор), если у вас нет по умолчанию. Просто введите "GCC" для проверки, он входит в пакет XcodeTools на установочном DVD.
5. Устанавливаем wget.
Примечание: всех тонкостей работы на Mac OS X я не знаю, поэтому данный метод эксперементальный.
Более точная инструкция Создание кастомных прошивок (Пост #21050611)

Запуск:
1. Перед запуском нам нужно папку из архива с кухней разархивировать по пути "c:/cygwin/home/John/" для Cygwin или по пути "файловая система/home/John/" для Linux, где John - имя пользователя, и переименовать в "kitchen".
2. Запускать нужно через Cygwin или терминал командами "cd kitchen", затем "./menu"(если вы работаете под Windows 7, то cygwin нужно запускать от имени администратор).
Примечание 1: если меняете путь, то и первая команда будет меняться на "cd ../kitchen", где вместо точек будет путь к кухне.
Например: у меня кухня находится "файловая система/home/kelt525/papka/kitchen", то команда будет выглядеть так "cd /home/kelt525/papka/kitchen".
Примечание 2: для корректной работы кухни, имя пользователя должно быть на английском языке, т.е. для Cygwin создаём отдельный профиль с английским именем.

Импортирование ROM:
Для импортирования ROM в кухню, нужно закинуть его в папку "original_update folder".
Кухней поддерживаются несколько вариантов:
1. ".zip" фаил прошивки.
2. "system.img", "boot.img" и остальные.
3. ".exe" фаил прошивки.
Примечание: ROM принято брать из стоковых и кастомных прошивок, исходя из того, какую нужно взять систему за основу.

Работа с кухней:
После того, как мы импортировали ROM приступаем к работе с куней, запускаем её, как я описывал её в разделе "Запуск" под номером два.
Если вы до этого всё сделали правильно, то должно появится меню:
===================================================================
Android Kitchen - by dsixda (xda-developers.com)
===================================================================

1. Set up working folder from ROM
2. Add root permissions
3. Add BusyBox
4. Disable boot screen sounds
5. Add wireless tethering
6. Zipalign all *.apk files to optimize RAM usage
7. Change wipe status of ROM
8. Change name of ROM
9. Check update-script for errors
10. Show working folder information

0. Advanced Options
99. Build ROM from working folder

00. About/Update kitchen
0. Exit

Где заходя в "0 - ADVANCED OPTIONS" видим:
11 - Deodex files in your ROM
12 - Add task killer tweak for speed (stock ROM only)
13 - Add /data/app functionality
14 - Add Nano text editor + sysro/sysrw
15 - Add Bash (command shell)
16 - Add Apps2SD
17 - Add /etc/init.d scripts support (busybox run-parts)
18 - Add custom boot animation functionality
19 - Porting tools (experimental)
20 - Tools for boot image (unpack/re-pack/etc.)
21 - Unpack data.img
22 - Sign APK or ZIP file(s)
23 - Convert update-script or updater-script
24 - Miscellaneous optins / Plugin scripts

0 - Back to main menu

Вот перевод всех функций:
1. Создать рабочую папку из ROM'а
2. Добавить root права
3. Добавить BusyBox
4. Отключить экран загрузки звуков
5. Добавить фунцию создания Wi-Fi роутера из телефона
6. Zipalign все ".apk" фаилы, проще говоря сжать
7. Сменить wipe статус ROM
8. Сменить название версии ROM
9. Проверить update-scrypt на наличие ошибок
10. Посмотреть информацию рабочей папки

0. Дополнительные функции
99. Собрать ROM из рабочей папки

00. О кухне/обновить
0. Выход

11 - Сделать DeOdex системы
12 - Добавить убийцу задач для повышения скорости (только для стоковых прошивок)
13 - Добавить функциональную папку "/data/app"
14 - Добавить текстовый редактор Nano + sysro/sysrw
15 - Добавить Bash (командная строка)
16 - Добавить Apps2SD
17 - Добавить поддержку скриптов "/etc/init.d" (необходим busybox)
18 - Добавить анимацию загрузки
19 - Инструменты для портирования (эксперементально)
20 - Инструменты для ядра (распаковка/перепаковка/и.т.д.)
21 - Распаковка data.img
22 - Подписать ".apk" или ".zip" файлы
23 - Конвертировать update-script в updater-script
24 - Запуск сценариев/плагинов

0 - Вернуться в главное меню

Пример работы в кухне:
1. Импортируем ROM
2. Запускаем кухню
3. Создаём рабочую папку из ROM'а
4. Добавляем root и BusyBox
5. Делаем DeOdex
6. Удаляем/добавляем/модифицируем что нужно
7. Собираем ROM из рабочей папки
Примечание: после сборки получаем готовый к прошивке через рекавери ".zip" фаил в папке "OUTPUT_ZIP"

Замена ядра:
Две вещи, которые нужно знать:
«Кернел» - файл внутри boot.img, но boot.img – это не кернел, он в основном содержит кернел и инициализационные файлы во время загрузки.
Инструкция по замене ядра на более новых версиях "кухни" от geolog56
Есть три варианта :
  • Если кернел, который вы хотите использовать закрыт в ".img" файле (т.е. "boot.img"), то делайте следующее:
    1. Переименуйте его в "boot.img".
    2. Замените с текущим "boot.img", который находится в вашей кухне.
    3. Так же заменяем модули (если есть).
  • Если вы хотите «пересадить» кернел из одного "boot.img" в ваш существующий "boot.img":
    1. В "Advanced options", выберите опцию ”unpack boot.img” из ”any folder” (любая папка).
    2. Поместите новый boot.img внутрь этой папки, то есть вы можете извлечь кернел (zImage).
    3. Затем выберите опцию ”unpack a boot.img from your working folder”. Это создаст папку "BOOT-EXTRACTED".
    4. Скопируйте zImage (из нового boot.img) в папку "BOOT-EXTRACTED".
    5. Выберите опцию "Re-pack the boot.img".
    6. Ваш "boot.img" в рабочем фолдере получил новый кернел.
    7. Пользуйтесь предыдущим описанием, если Вам нужно также скопировать модульные файлы, если они включены в «упаковку».
  • Если новый кернел сам по себе и не находится в "boot.img" (т.е. zImage или boot.img кернел), далее описание, как добавить в рабочий фолдер в кухню:
    1. В меню "Advanced options" выберите опцию "unpack the boot.img" из рабочей папки.
    2. Скопируйте кернел файл в созданную папку "BOOT-EXTRACTED" и переименуйте файл в ”zImage”.
    3. Выберите опцию "re-pack the boot.img".
    4. Ваш рабочий фолдер "boot.img" стал с новым кернелом.
    5. Если кернел идет с другими файлами, такими как ”*.ko files для /system folder”, то скопируйте их в соответствующие местоположения.

Добавление своих программ:
Опять же есть несколько вариантов, как можно это сделать:
  • Кидаем программы в "рабочая папка/system/app" с заменой если потребуется.
  • Устанавливаем их в data:
    1. В "Advanced options" выбираем "Add /data/app functionality", после этого создаётся папка "рабочая папка/data/app".
    2. В неё кидаем программы.

Примечание: Не все программы хорошо вшиваются в прошивку, пример тому Dr. Web, который не запускается.

Особенности/дополнительные возможности при работе с ROM:

Скачать свежую версию кухни
Тема автора кухни
Русифицированная версия кухни от loginivan
Русифицированная версия кухни от Rostislav89
dsixda's Android Kitchen Без установки Cygwin
Скачать Cygwin

Видеоинструкция по установке и настройке Android Kitchen от SawaMEN

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку Изображение под сообщениями, на которые необходимо добавить ссылки.


Сообщение отредактировал vaalf - 04.09.18, 19:26
Причина редактирования: Редактирование шапки



Реп: (269)
Тема постепенно будет наполнятся по мере накопления знаний.

Внимательно читайте инструкцию, не задавайте глупых вопросов.

Если есть поправки - не стесняйтесь, пишите.

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

Удачи всем !


Сообщение отредактировал bsi94 - 23.07.16, 10:28



Реп: (15)
может быть не совсем по теме, НО..... вопрос такой: есть ли прога какая нибудь или способ изменить набор частот ядра, т.е. например:

имеем пакет AIO 1.1, ядро в нем 150#1 со стоковыми частотами, можно ли все оставить тоже самое но верхнюю частоту задрать например до 1.8 или 1.9 ? :blush:


пс. спасибо за гайд.

Сообщение отредактировал darkman1988 - 14.02.12, 14:43



Реп: (269)
darkman1988, программа есть, но в ней можно уменьшить, но не завысить. Для этого надо ядро править.



Реп: (1)
интересная программа, кто нибудь пользовался ей?
можно ли при помощи этой программы прикрутить в ядро модуль tun.ko (для работы с Open VPN, Cisco VPN) ?



Реп: (57)
kelt525 @ 14.02.2012, 16:08 *
Правленный Cygwin добавлю вечером !

Что-то в шапке не нашел. Или плохо искал?



Реп: (104)
valerakon @ 16.02.2012, 13:03 *
интересная программа, кто нибудь пользовался ей?
можно ли при помощи этой программы прикрутить в ядро модуль tun.ko (для работы с Open VPN, Cisco VPN) ?

Я пользуюсь. Ей очень легко чистить офф. ромы от мусора + рутовать и.т.д
Для того чтобы что-то добавить в ядро, нужно его собрать из исходников. (Если не прав, то поправьте)



Реп: (1)
а как собрать ядро из исходников???



Реп: (269)
valerakon, прикрутить можно разбором ядра скорее всего, я ей пользуюсь, мне удобно.

lexus3838, извини, вечером добавлю, сегодня время будет.

PredatoR1996, мне кажется никак, т.к. полноценное редактирование ядра только в терминале можно осуществить.



Реп: (0)
А где cygwin.zip???



Реп: (2)
Может быть не по адресу, но все же....
Где лежит и как называется файл с параметрами работы тачскрина?



Реп: (57)
-Снег- @ 20.02.2012, 10:51 *
А где cygwin.zip???

Вот попробуйте Прикрепленный файлcygwin_packages.zip ( 62.92 МБ )



Реп: (269)
DimidrollD, в etc поглядите, там в основном драйвера.

PS: Cygwin добавил !



Реп: (10)
А реально как то лишние языки убрать с прошивки?



Реп: (269)
vinituha, реально, но надо будет чистить не только всю систему, но и все стандартные APK и JAR, а это очень много времени, к тому же некоторые как MAPS например, не разбираются в APKTools.



Реп: (1040)
В список поддерживаемых устройств добавьте Huawei U8500


Добавлено 24.02.2012, 20:13:

vinituha @ 22.02.2012, 20:17 *
А реально как то лишние языки убрать с прошивки?

Разбираем все apk приложения apktool-ом
Framework-res.apk(языки находятся в папках values-xx -где xx это сам язык(например values-ru(Русский язык)или values-fr(Французский)
Аналогично делаем и со всеми приложениями в папке app



Реп: (269)
$aNek011, ты сам так убирал языки с прошивки? Если есть пример работы, можешь видео сделать как работает при первом запуске и в настройках списки ?

PS Добавил !



Реп: (1040)
kelt525 @ 24.02.2012, 22:16 *
$aNek011, ты сам так убирал языки с прошивки?

НУ как сказать
Я наоборот русифицировал прошивку :D

Например
Тебе доступно 20 языков
Если ты из framework-res.apk удалишь все папки values оканчивающие на ru то в меню выбора Русский язык сразу пропадёт
А что бы полностью вырезать русский из системы то надо разобрать каждое приложение apk через apktool и удалить все папки values оканчивающиеся на ru,Это полностью удалит Русский язык из системы.

Сообщение отредактировал $aNek011 - 24.02.12, 23:21



Реп: (59)
Здравствуйте, такой вопрос: как через кухню поставить тему?



Реп: (269)
ximik_97, кинь ссылку на тему, посмотрю и скажу.


Добавлено 27.02.2012, 18:53:

$aNek011, добавил ссылку в шапку. Спасибо !

Сообщение отредактировал bsi94 - 27.02.12, 19:06



Реп: (59)
Я имел ввиду через вашу кухню или терминал ubunty.
Извините, тему обычную через рекавери например вот эту: Модификация софта и украшательства для Samsung Galaxy S II

Сообщение отредактировал ximik_97 - 27.02.12, 22:14


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 28.09.23, 05:15