Инструкция по созданию кастомной прошивки в виде zip архива для прошивки через кастомное рекавери при помощи Android Kitchen
Что нам понадобится:
1. Установленная и настроенная "кухня" для Android: Как установить Android Kitchen на Windows [Инструкция]
2. Прошивка для вашего устройства под SP Flash Tool (папка с файлами вроде recovery.img, system.img, scatter.txt и так далее)
Инструкция по созданию прошивки для CWM/TWRP:
1. После того как установили Android Kitchen, берёте из папки с прошивкой файлы system.img и boot.img и копируете их в папку для работы с прошивками, а именно \kitchen\original_update (если не понятно где это, то установите Android Kitchen по инструкции выше, все станет ясно после)
2. Далее запускаем Cygwin и Android Kitchen. Запускать Cygwin обазятельно на правах администратора, как всё это делается я описал в инструкции по настройке Android Kitchen, так что сначала установите "кухню", потом всё станет ясно
3. После того как вы вошли в меню Android Kitchen, выбираем первый пункт, то есть:
Код:
==========================================================
Android Kitchen 0.224 - by dsixda (xda-developers.com)
==========================================================
> MAIN MENU
1 - Set up working folder from ROM
2 - Add root permissions
3 - Add BusyBox
4 - Disable boot screen sounds
5 - Zipalign all *.apk files to optimize RAM usage
6 - Change wipe status of ROM
7 - Change name of ROM
8 - Show working folder information
0 - ADVANCED OPTIONS
00 - LEGACY OPTIONS (old and rarely used)
99 - Build ROM from working folder
u - Kitchen Info/Update/Donate
x - Exit
Enter option: 1
4. После того как нажали 1 и Enter, появляется новое меню тут просто нажимаем Enter для продолжения, затем 1 и Enter, и после того как система определит наши system.img и boot.img (которые мы скинули в рабочую папку ранее), нам будет предложено переименовать ли папку куда будет распакованы все файлы прошивки для работы с ними, или не переименовывать, выберите "n", то есть не переименовывать):
Код:
CREATE WORKING FOLDER FOR ROM
==========================================================
Ensure there is at least one ROM under the 'original-update' folder!
Select an option:
s - Show supported formats
x - Abort, don't create working folder
Or press Enter to continue
? <--- жмём Enter
Please wait ...
Available ROMs:
(1) system.img and boot.img
Enter selection number (default=1, cancel=0, r=refresh): 1 <--- жмём 1 и Enter
Found original_update/system.img
Found original_update/boot.img
The new working folder will be named WORKING_032915_064017
Change the name (y/n)? (default n): n <--- жмём n и Enter
5. Далее начинается распаковка прошивки, может занять некоторое время. Важно, во время распаковки появится окно распаковщика Ext2explore. Не закрывайте его, а внимательно прочтите что написано в окне Android Kitchen (если дружите с англ.):
Код:
######################################################################
READ INSTRUCTIONS BELOW TO EXTRACT FILES FROM ext4_system.img:
1) Ignore the 'Cannot Read Disk' warning dialog (press 'OK') if it appears!
2) When Ext2Explore appears, use 'File-> Open Image' to open:
C:\cygwin\home\PC_User\kitchen\WORKING_032915_064017\system\ext4_system.img
3) After it loads, right-click on the new icon displayed in the left frame, and select Save
4) Select C:\cygwin\PC_User\kitchen\WORKING_032915_064017\system
5) Wait for extraction to finish and then close Ext2Explore
######################################################################
6. Итак делаем что написано, в открывшемся окне Ext2Explore выбираем File -> Open Image и выбираем C:\cygwin\home\PC_User\kitchen\WORKING_032915_064017\system\ext4_system.img. После чего в левой части Ext2Explore, делаем правый клик по пункту и выбираем Save (см. скриншот ниже), после чего указываем путь для сохранения распакованных файлов, а именно C:\cygwin\PC_User\kitchen\WORKING_032915_064017\system (начнётся распаковка, которая может занять некоторое время, не прерывайте).
7. После того как распаковка окончена, закройте окно Ext2Explore и нажмите Enter в окне Android Kitchen. Начнется завершающая стадия распаковки прошивки после которой вам будет предложено посмотреть информацию о данной прошивке, для выбора опции нажмите "y":
Код:
Finished setting up working folder!
Would you like to view this ROM's info (y/n)? (default: y): y <--- Нажмите y и Enter
8. Для примера показана рабочая информация по прошивке взятой с Lenovo A369i:
Код:
Working folder information (v0.224)
Android OS version : 4.2.2
Device : A369i
Model : Lenovo A369i
ROM Name : A369i_ROW_S201_140610
Rooted (Supersu app + su) : NO
Rooted (unsecured boot.img) : NO
BusyBox installed : NO
BuxyBox run-parts support : NO
Apps2SD (Apps to EXT) enabled : NO
/date/app enabled : NO
Custom boot animation allowed : NO
Nano text editor installed : NO
Bash shell support : NO
/system/framework is deodexed : NO
/system/app is deodexed : NO
radio.img found : NO
ROM will wipe all data : NO
Press Enter to continue <--- Нажмите Enter
9. Всё, теперь прошивка, фактически готова. После нажатия Enter, вы будете возвращены в главное меню Android Kitchen, теперь выбираем пункт:
Код:
99 - Build ROM from working folder
10. Далее вам будет предложено выбрать в каком режиме будет создана прошивка, рекомендую выбирать первый пункт:
Код:
1 = Interactive Mode - recommended for most users (Guide me through the build)
11. Далее будет предложено оптимизировать все apk файлы при помощи "zipalign", можете нажать "y" или "n", не важно:
Код:
Would you like to optimize APK files by zipaligning them (y/n)? (default: y): y
12. Дальше будет очень важный пункт здесь, нам надо нажать "y" (то есть yes, согласиться). Будет создан файл updater-sсript, который мы отредактируем уже потом, когда создадим прошивку, так что нажмите просто "y" и пусть "кухня сама всё сделает":
Код:
Use updater-sсript in ROM's ZIP file (y/n)? (default: y) y
13. По завершению создания updater-sсript, нам будет предложено отредактировать его сейчас и внести нужные изменения, но как я сказал ранее, редактировать его удобнее потом, после того как прошивка уже собрана, поэтому оставляет тут все как есть:
Код:
Proceed with the change (y/n)?
y = Proceed; updater-sсript and update-binary will be used inthe ZIP file; update- will remain in working folder.
n = Cancel; updater-sсript and update-binary will be deleted and not used.
? (default: y): y <--- Нажмите y и Enter
14. Далее начнется создание update.zip, после которого нам будет предложено подписать архив с прошивкой, соглашаемся на это (хотя по-идее можно и не подписывать, всё равно прошивку надо будет разбирать для редактирования updater-sсript):
Код:
It is recommended that you sign your ROM.
Sign it (y/n)? (default: y): y <--- Нажмите y и Enter
15. Далее последний пункт где нам будет предложено изменить название прошивки, можно оставить как есть:
Код:
The new ROM will be named A369i_signed_032915_073536.zip
Change the name (y/n)? (default: n): n <--- Нажмите n и Enter
16. Всё, прошивка создана, и находится в папке с кухней OUTPUT_ZIP/A369i_signed_032915_073536.zip. Копируем архив целиком и переносим в отдельную, удобную для вас папку. Теперь надо редактировать updater-sсript. Android Kitchen можно закрыть.
17. Распаковываем содержимое нашей прошивки в отдельную папку и видим следующее:
18. Заходим в папку \META-INF\com\google\android и открываем при помощь любого текстового редактора файл updater-sсript (бесплатный Note++ вполне подойдёт, при помощи блокнота лучше не открывать, там все в кучу сбивается, я использую Sublime Text 2). Находим в файле две следующие строки, которые нам надо поменять:
Код:
format("MTD", "system");
mount("MTD", "system", "/system");
Меняем их на следующие строки:
Код:
format("ext4", "EMMC", "/dev/block/mmcblk0p4", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p4", "/system");
Важно: я специально выделил красным цветом самое важное. Это точка монтирования "system" на моём устройстве, на Lenovo A369i, для вашего устройства эти данные могут отличаться. Поэтому, чтобы узнать какой блок у вас отвечает за "system", нам надо выполнить команду "dumchar_info" через adb, как это сделать написано более подробно здесь: Как получить dumchar_info (информация о блоках системы), читаем только первый пост и устанавливаем только adb драйвера и adb инструменты, остальное не надо.
Итак после того как вы получили данные из dumchar_info, посмотрите путь куда у вас смотнирован "android" (это и есть system в dumchar_info) и отредактируйте две строки в updater-sсript соответственно:
Код:
android 0x0000000028a00000 0x0000000004960000 2 /dev/block/mmcblk0p4
Важно: точку монтирования раздела можно получить без dumchar_info, а просто через MTK Droid Tools (нажмите на ссылку)
19. Всё, после того как вы отредактировали updater-sсript, закройте его и сохраните изменения. Теперь нам надо запаковать прошивку, просто возьмите и выделите все три файла прошивки и добавьте их в архив (обязательно zip архив, а не rar или 7z):
20. Почти всё, но не совсем. Далее пробуем прошивать прошивку через кастомное рекавери. Обязательно сначала сделайте в рекавери полный бэкап!. Если вылетает ошибка Status 0 или Status 1, то, скорее всего у нас неправильный update-binary, который находится там же где и updater-sсript, то есть \META-INF\com\google\android. Поэтому пробуем менять update-binary и снова запаковывать прошивку и снова пробывать поставть. Лучше всего взять update-binary из другой кастомной прошивки на ваше устройство, но если нету, я залил во вложений другие update-binary, которые должны подойти, пробуйте их. Вообще update-binary, это файл который трансформирует в понятные для системы команды, указания из updater-sсript, то есть указания по установке прошивки.
21. Всё, ваша первая кастомная прошивка на MediaTek устройство готова . Можно конечно еще было добавить root и busybox и еще чего в Android Kitchen, но я через эти пункты не шел, там все понятно в принципе в меню, если захотите добавите сами.
Cкачать:
update-binary.zip