Сборка android для atom

Сборка android для atom

Будут рассмотрены инструментарий, примеры и методы портирования, преимущественно используя ПК под управлением ОС Windows. Методы и инструментарий для ОС Linux так же приветствуются.
Тема не рассчитана стать Энциклопедией. Любой труд по прочтению сторонних ресурсов и затаскиванию крупицы знаний в данную тему будет поощрятся лично мной поднятием репутации, А ТАК ЖЕ ВСЕМИ ПОЛЬЗОВАТЕЛЯМИ, ИМЕЮЩИМИ СОВЕСТЬ.
😉

Ввиду того, что, как показала практика, практически все аппараты на основе этого SoC используют схожую структуру разделов диска и схожую структуру прошивок, предполагается, что ромоделы будут обмениваться наработками и советами в этой теме, а не в темах своих аппаратов. Что должно резко повысить эффективность и скорость портирования.

Так как таки не все аппараты абсолютно одинаковы, предполагается, что пользователи, использующие материалы из этой темы в своих разработках, имеют уровень понимания тематики много выше среднего. Из чего вытекает, что никто и никогда не может предъявлять никаких претензий и обвинений авторам наработок из этой темы. Все что вы делаете, вы делаете на свой страх и риск.

Работаем с boot.img (Инструмент\инструкция)
Портируем TWRP 2.8.7.0 на baytrail-T.
Разборка/Сборка/Деспарсивание System.img
Деодексирование прошивок KitKat
Пакет для сборки кастом прошивки, для TWRP’recovery.
Бекап\рестор прошивки UEFI-BIOS из под Android.
Автоматическое восстановление прошивки ПЗУ с UEFI-BIOS, из бекапа, во время старта Андроид (init.d & addon.d)
Набор инструментов для разборки\сборки\деспарсивания\спарсивания system.img imgExtractor.7z ( 1 МБ )

Исходный код андроид 5.1 для платформы Cherry-trail https://yadi.sk/d/lxq0ZdiYqpeXs

Шапка будет обновляться и дополняться. Если у вас уже есть наработки в других или профильных темах по тематике портирования\модинга прошивок, и вы желаете ими поделится, отсылайте ссылки мне в QMS.

Сообщение отредактировал vaalf — 28.11.17, 21:38

Boot.img является образом загрузочного раздела андроид и включает в себя ядро (zImage — упакованный образ ядра) + InitRamDisk (некий псевдодиск, размещенный в оперативной памяти аппарата, включающий в себя: начальное дерево папок, стартовые скрипты, некоторые бинарники, модули ядра etc.)

Для разборки boot.img будем использовать эту утилиту unpack_repack_boot.7z ( 4.89 МБ )

Утилита очень проста в использовании и не нуждается в отдельном рассмотрении — открыть в программе boot.img и нажать кнопку unpack. Замечу разве — чтобы корректно собрать обратно ваш boot.img, нужно снова открыть в программе ваш оригинальный boot.img и нажать — pack. В результате вы получите новый файл с тем же названием+дата\время создания.

Надо иметь в виду, что будучи очень аппаратно похожими между собой, аппараты таки имеют свои особенности, как то: разница в тач-панелях, камерах, гироскопах, лсд-экранах и т.п. Поэтому, чаще всего, ядро (zImage) от донора у вас работать откажется, а если даже и заработает, то возможно модули, как встроенные в ядро, так и внешние, не подойдут вашему аппаратному обеспечению и\или таковых просто не окажется. Подсовывать модули от своего ядра ядру донора можно, но скорее всего работать они не будут. Так как ядра должны быть скомпелированы в одной версии компилятора с одинаковыми опциями и иметь общий API ядра (а оно часто меняется даже в минорних обновлениях). Короче — врядли получится.
Хочу заметить, что андроид-ядро, будучи линукс-ядром, все таки имеет существенные отличия. Это как бы линукс-ядро, завернутое в «оболочку» использующую API версии андроид. Поэтому, вам врядли удастся скрестить ужа с ежем, то-есть ядро от скажем KitKat c System Lollipop. Теоретически такое возможно, а вот практически просто сизифов труд.
Еще одну сложность в портирование ядер с аппарата на аппарат вносит тот факт, что вывод на LCD-экран зависит от GOP-драйвера в UEFI и модели LCD-матрицы конкретного аппарата. При этом, судя по выводу dmesg, ядро-донор таки правильно определяет разрешение и фреймрейт матрицы, но увы. вывода на экран нет. При этом HDMI вывод работает отлично, как правило. :girl_cray:
Из вышесказанного: Портировать можно, и даже нужно, понравившуюся прошивку от других собратьев по разуму процессору, но только в пределах текущего андроида для вашего аппарата, используя родное ядро и модули. Но вдруг вам повезет?!
Вполне реально найти донора, аппаратно схожего с вашим и ядро от которого полностью работает на вашем аппарате, за минусом мелочей, как то: перевернутый или «увеличенный» тач, перевёрнутые камеры или гироскоп. Это говорит о том, что с таким ядром можно работать, а те мелочи и неправильная работа аппаратуры могут быть исправлены правкой/заменой файлов в system донора.

Читайте также:  Android studio вылетает при запуске

Итак:

  • Кладем родной и донорский (переименовав) boot.img в папку к утилите.
  • Распаковываем оба имиджа.
  • Открываем папки с распакованным содержимым в разных окнах проводника.
  • Копируем с заменой в распаковку донора свой *****.img-zImage и переименовываем его как было у оригинала.
  • Переходим в папку *****.img-ramdisk, удаляем там папку lib (в ней содержаться внешние модули ядра) и копируем на ее место такую же папку из распаковки нашего родного boot.
  • После чего, с помощью AkelPAD\Notepad+++, стандарным Блокнотом нельзя пользоваться при редактировании Линукс-файлов, последовательно просматриваем все файлы init.****.rc на предмет команд insmod (подключение модулей ядра). Для этого лучше пользоваться многооконным редактором Notepad+++, командой Поиск. Сверяем файлы и правим у донора так, как это написано у нас.
  • Ищем и сверяем секции, начинающиеся с chown system system /sys/bus/i2c/devices, правим как в родном файле, это очень важно.
  • Копируем с заменой, из распаковки родного бут в распаковку донора, файл ueventd.modules.blacklist
  • Сверяем содержимое файлов ****.img-base и ****.img-pagesize у себя и у донора и правим у донора «как у себя».
  • Собираем, загрузив boot.img донора в утилиту и нажав кнопку PACK.
  • Новый файл — можно прошить в планшет.

Если вы таки нашли донора, ядро которого выводит картинку на вашем аппарате но не работает тач:
Причина может крыться в том, что в ядре донора отсутствуют модули (драйвера) отвечающие за работу вашего тача (банально — у донора другой чип).
Проверить так ли это можно так (сверив результат в файлах /sdcard/drivers.txt полученных при работе родного ядра и донорского. Драйвера тача, как подгруженные извне, так и вкомпелированные в ядро, имеют в названи _TS или _ts)

Если какой-то из драйверов тача отсутствует в донорском списке, — увы вам не повезло. Подкинуть из своего ядра, быстрее всего не получится.

Это примерная инструкция, будет дополнятся по мере накопления дополнительного опыта, как положительного, так и отрицательного. 😀

Сообщение отредактировал kostyamat — 14.01.16, 08:30

Источник

Сборка android для atom

Android OS на x86

В этой теме обсуждаются вопросы общие для всех Андроидов на платформе x86, конкретно проект портирования Android-х86, а также его братья, не имеющие отдельных тем обсуждения на нашем форуме.
Android в виртуальную машину | Сайт и Форум проекта Android-х86 | Android от Intel

Вопросы, касающиеся только проектов Phoenix OS , Remix OS x86 и Bliss-x86 , обсуждаются в своих темах.
За работоспособность ваших устройств ответственность несёте исключительно Вы. Задавая вопрос, постарайтесь указать следующую информацию .

    Hardware List — список совместимого оборудования
      Если Вы не нашли в шапке или в листе совместимости версию для вашего компьютера/ноутбука (модификации железа), то следует попробовать разные версии и опытным путём подобрать оптимальную.

  • Графическое ускорение нормально работает на видеоадаптерах от AMD и Intel (кроме GMA 500, GMA 600, GMA 3600, GMA 3650, т.к. они основаны на PowerVR).
    Графика nVidia поддерживается начиная с Android-x86 4.4-R3; новое поколение начинает поддерживаться после выхода следующего.
  • Ситуация с поддержкой планшетов, Критическое замечание о звуке.
  • Чипы, которые реализуют одновременно и WiFi, и Bluetooth работают хуже, чем отдельные.

    Загрузочную флешку или диск необходимо записать с помощью Rufus, UNetbootin, LiLi, или WinImage. UltraISO использовать не рекомендуется потому, что созданные им флешки мало где грузятся.

Раздел под Android рекомендуется форматировать в ext3 или ext4 (для версии 5.0 Lollipop и новее) чтобы иметь >4ГБ места под свои нужды и избежать проблем с SuperSU и другим софтом. Форматирование раздела лучше произвести до установки Android сторонним ПО (Acronis, GParted, др.): родной установщик не всегда справляется с этой задачей.

title Android-x86 5.1-rc1
kernel /android-5.1-rc1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug mode)
kernel /android-5.1-rc1/kernel root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug nomodeset)
kernel /android-5.1-rc1/kernel nomodeset root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Windows
rootnoverify (hd0,1)
chainloader +1

Тут default указывает номер пункта, котоый будет выбран автоматически после истечения timeout секунд. root и rootnoverify указывают с какого диска, и с какого его раздела загружать выбраную операционную систему. Как и в случае с default, нумерация начинается с нуля. Параметры загрузки прописываются в конец строки, которая начинается со слова kernel. Такими параметрами можно повлиять на многие аспекты работы Андроида с железом. К примеру настроить работу с внешним монитором.

GRUB 2 — следующая версия GRUB. Разработчики писали GRUB 2 «с нуля», чтобы добиться переносимости и модульности.
Используется в образах Android-x86 для компьютеров с новым UEFI-BIOS.
Может хранить свои настроки в файле grub.cfg либо menu.lst. Обычно этот файл лежит на отдельном системном разделе EFI (ESP). Типичное содержимое:

set timeout=60
set gfxmode=1024×768
terminal_output gfxterm

Источник

Сборка android для atom

Android OS на x86

В этой теме обсуждаются вопросы общие для всех Андроидов на платформе x86, конкретно проект портирования Android-х86, а также его братья, не имеющие отдельных тем обсуждения на нашем форуме.
Android в виртуальную машину | Сайт и Форум проекта Android-х86 | Android от Intel

Вопросы, касающиеся только проектов Phoenix OS , Remix OS x86 и Bliss-x86 , обсуждаются в своих темах.
За работоспособность ваших устройств ответственность несёте исключительно Вы. Задавая вопрос, постарайтесь указать следующую информацию .

    Hardware List — список совместимого оборудования
      Если Вы не нашли в шапке или в листе совместимости версию для вашего компьютера/ноутбука (модификации железа), то следует попробовать разные версии и опытным путём подобрать оптимальную.

  • Графическое ускорение нормально работает на видеоадаптерах от AMD и Intel (кроме GMA 500, GMA 600, GMA 3600, GMA 3650, т.к. они основаны на PowerVR).
    Графика nVidia поддерживается начиная с Android-x86 4.4-R3; новое поколение начинает поддерживаться после выхода следующего.
  • Ситуация с поддержкой планшетов, Критическое замечание о звуке.
  • Чипы, которые реализуют одновременно и WiFi, и Bluetooth работают хуже, чем отдельные.

    Загрузочную флешку или диск необходимо записать с помощью Rufus, UNetbootin, LiLi, или WinImage. UltraISO использовать не рекомендуется потому, что созданные им флешки мало где грузятся.

Раздел под Android рекомендуется форматировать в ext3 или ext4 (для версии 5.0 Lollipop и новее) чтобы иметь >4ГБ места под свои нужды и избежать проблем с SuperSU и другим софтом. Форматирование раздела лучше произвести до установки Android сторонним ПО (Acronis, GParted, др.): родной установщик не всегда справляется с этой задачей.

title Android-x86 5.1-rc1
kernel /android-5.1-rc1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug mode)
kernel /android-5.1-rc1/kernel root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug nomodeset)
kernel /android-5.1-rc1/kernel nomodeset root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Windows
rootnoverify (hd0,1)
chainloader +1

Тут default указывает номер пункта, котоый будет выбран автоматически после истечения timeout секунд. root и rootnoverify указывают с какого диска, и с какого его раздела загружать выбраную операционную систему. Как и в случае с default, нумерация начинается с нуля. Параметры загрузки прописываются в конец строки, которая начинается со слова kernel. Такими параметрами можно повлиять на многие аспекты работы Андроида с железом. К примеру настроить работу с внешним монитором.

GRUB 2 — следующая версия GRUB. Разработчики писали GRUB 2 «с нуля», чтобы добиться переносимости и модульности.
Используется в образах Android-x86 для компьютеров с новым UEFI-BIOS.
Может хранить свои настроки в файле grub.cfg либо menu.lst. Обычно этот файл лежит на отдельном системном разделе EFI (ESP). Типичное содержимое:

set timeout=60
set gfxmode=1024×768
terminal_output gfxterm

Источник

Сборка android для atom

Android OS на x86

В этой теме обсуждаются вопросы общие для всех Андроидов на платформе x86, конкретно проект портирования Android-х86, а также его братья, не имеющие отдельных тем обсуждения на нашем форуме.
Android в виртуальную машину | Сайт и Форум проекта Android-х86 | Android от Intel

Вопросы, касающиеся только проектов Phoenix OS , Remix OS x86 и Bliss-x86 , обсуждаются в своих темах.
За работоспособность ваших устройств ответственность несёте исключительно Вы. Задавая вопрос, постарайтесь указать следующую информацию .

    Hardware List — список совместимого оборудования
      Если Вы не нашли в шапке или в листе совместимости версию для вашего компьютера/ноутбука (модификации железа), то следует попробовать разные версии и опытным путём подобрать оптимальную.

  • Графическое ускорение нормально работает на видеоадаптерах от AMD и Intel (кроме GMA 500, GMA 600, GMA 3600, GMA 3650, т.к. они основаны на PowerVR).
    Графика nVidia поддерживается начиная с Android-x86 4.4-R3; новое поколение начинает поддерживаться после выхода следующего.
  • Ситуация с поддержкой планшетов, Критическое замечание о звуке.
  • Чипы, которые реализуют одновременно и WiFi, и Bluetooth работают хуже, чем отдельные.

    Загрузочную флешку или диск необходимо записать с помощью Rufus, UNetbootin, LiLi, или WinImage. UltraISO использовать не рекомендуется потому, что созданные им флешки мало где грузятся.

Раздел под Android рекомендуется форматировать в ext3 или ext4 (для версии 5.0 Lollipop и новее) чтобы иметь >4ГБ места под свои нужды и избежать проблем с SuperSU и другим софтом. Форматирование раздела лучше произвести до установки Android сторонним ПО (Acronis, GParted, др.): родной установщик не всегда справляется с этой задачей.

title Android-x86 5.1-rc1
kernel /android-5.1-rc1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug mode)
kernel /android-5.1-rc1/kernel root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Android-x86 5.1-rc1 (Debug nomodeset)
kernel /android-5.1-rc1/kernel nomodeset root=/dev/ram0 androidboot.hardware=android_x86 DEBUG=2 SRC=/android-5.1-rc1
initrd /android-5.1-rc1/initrd.img

title Windows
rootnoverify (hd0,1)
chainloader +1

Тут default указывает номер пункта, котоый будет выбран автоматически после истечения timeout секунд. root и rootnoverify указывают с какого диска, и с какого его раздела загружать выбраную операционную систему. Как и в случае с default, нумерация начинается с нуля. Параметры загрузки прописываются в конец строки, которая начинается со слова kernel. Такими параметрами можно повлиять на многие аспекты работы Андроида с железом. К примеру настроить работу с внешним монитором.

GRUB 2 — следующая версия GRUB. Разработчики писали GRUB 2 «с нуля», чтобы добиться переносимости и модульности.
Используется в образах Android-x86 для компьютеров с новым UEFI-BIOS.
Может хранить свои настроки в файле grub.cfg либо menu.lst. Обычно этот файл лежит на отдельном системном разделе EFI (ESP). Типичное содержимое:

set timeout=60
set gfxmode=1024×768
terminal_output gfxterm

Источник

Читайте также:  Imagefap gallery downloader android
Оцените статью