Портированная прошивка с android

Портированная прошивка с android

Что такое ADB и с чем его едят?

Если все готово то давайте начнём:

Если что то не понятно то спрашивайте, не стесняётесь, если не сможете найти сами ошибку в логе то кидайте его сюда попробуем вместе разобрать.

Сообщение отредактировал domnesu — 14.08.15, 20:54

что нужно править вот логlog.txt ( 15.55 КБ )

Ошибку нашёл, но где искать не пойму

декомпилируйте framework.jar и там по пути com/android найдёте файл PhoneApp.smali фот его правьте
просто из интереса 🙂 не работает дайлер или не запускается прошивка ?

Добавлено 21.04.2014, 22:06:

VaDiK XD,
BOOTCLASH 🙂 здесь не надо править не парься
он правиться только когда портируется другая версия андроида или когда портируется циан

Прошивка запустилась, но постоянно высвечивается ошибка и она мешает посмотреть функции
Я разобрал framework.jar прошёл по пути com/android/phone/PhoneApp , но там нету такого файла

Сообщение отредактировал FatuRe — 22.04.14, 11:01

neur0n7,
будут проблемы пиши сюда 🙂 разберёмся вместе

Добавлено 23.04.2014, 23:50:

neur0n7,
в MIUI анимация загрузки не очень то подвижна, возможно что прошивка готова но первый запуск занимает больше времени чем остальные так как при первом запуске создаётся dalwik cache(создаются odex файл)

Сообщение отредактировал neur0n7 — 24.04.14, 07:11

domnesu,
6 версия. Я придурок-вайпы делал(

Сообщение отредактировал neur0n7 — 24.04.14, 10:43

Если у вас не nexus — можете и не пытаться.
Все прошивки miui на 4.4, что есть в доступе — это порты с nexus 7 на другие nexus устройства.
Прошивка с интерфейсом запилинным под таблетки.
На базе cm прошивка не стартанет 100%, если вы имеете чистейший aosp, с минимум изменений, то можно еще попробовать, но вероятность очень мала.
Есть единственная miui на 4.4 с интерфейсом для телефонов — прошивка от mi3, но она еще в закрытом доступе и вам ее никто не даст, да и ее завести на другом аппарате крайне сложно (я смотрел эту прошивку и видел как она собрана).
Ждите когда xiaomi выложат репозитарии.

Сообщение отредактировал narkoman88 — 24.04.14, 10:20

Источник

Портированная прошивка с android

Разработка и портирование прошивок для устройств на SOC Amlogic

Устройство или ОС, прошивка: Android OS
Полезная информация о портирование и разработке прошивок, обсуждение различных нюансов.

Multi IMG Tools — Программа для работы с прошивкой

В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 10.07.21, 12:35

Если кому интересно собрал Android 9.0 из исходников от khadas https://github.com/khadas/

Работает:
Включение с пульта
Кнопки пульта работают в системе
Bluetooth
Wifi
Ethernet
Воспроизведение видео

Известные проблемы:
Мерцание при использовании курсора
Пишите что еще

2020-06-27
Обновлен код hwcomposer — исправлены проблемы с черным экраном при смене настроек экрана и при выходе из воспроизведения видео
update_khadas_pie_9377_20200627.img

Это первая прошивка на android 9.0 для устройств на базе S912. Прошивка treble, так что возможна установка gsi ромов в раздел system.

Сообщение отредактировал HighwayStar — 29.06.20, 06:36

Сообщение отредактировал 11asd11 — 05.07.20, 23:19

А вот такой WI-FI+Bluetooth получится прикрутить? AP6630wifi.7z ( 156.49 КБ )

Сообщение отредактировал iCr — 07.07.20, 12:15

Читайте также:  Сколько оперативки требует андроид

Еще вопрос, а в этой сборке поддержка композитного AV-выхода будет?

HighwayStar,

Фактически 3Гб. ОЗУ.
И можно добавить поддержку гигабитных лан?

Доделал u-boot для того чтоб им можно было загружать прошивки на 9 андроиде на устрйоствах с LPDDR3. Пришлось откатить некоторые хаки добавленные khadas и добавить тайминги памяти из ветки android 7.1. Вот исходный код u-boot для android 9.0 для устройств с LPDDR3 https://github.com/Amlogic-Lineage/u-boot/commits/khadas-vims-pie_lpddr

Код u-boot для LPDDR3 не умеет правильно определять размер установленной памяти, поэтому готовые прошивки собраны только для варианта 3 Гб, вроде бы с LPDDR3 таких боксов больше. Ссылки на сборки добавил в исходный пост TAP pro [Android] (Пост HighwayStar #97984308)

LPDDR3 chl: Rank0+1 @ 912MHz
bist_test rank: 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 730 rank: 1 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 730 — PASS

Сообщение отредактировал Brahner — 10.07.20, 08:40

Добавил сборки для DDR3/DDR4 с поддержкой автовыбора 1/2/3 Gb памяти. TAP pro [Android] (Пост HighwayStar #97984308)

Для DDR3 немного снижена частота, так как некоторые 3Gb боксы используют более дешевую память и не запускаются на 912Mhz

Davietpda выложил бету прошивки под 912-й.

Запустил прошивку Davietpda на 3/32 lpddr3(tx9pro). Загрузчик брал из toxtarparavos.
+ Мерцания в сборке Davietpda нет
+ Одновременно работают пульты от h96pro plus и от ветки tx92(z6, z6 plus, tx9pro и тд.). Как в андройде, так и включение коробки
+ WiFi(qc9377 ) и 1000 ethernet работают
— Но у меня не работает один из usb портов на моей плате
— bluetooth не работает, не включается

Кто проверял, как у Вас?
Образ прошивки на mega
Отдельно архив с загрузчиками lpddr3 из образ toxtarparavos: Менять нужно все. DDR.USB и UBOOT.USB нужны в момент прошивки. bootloader.partition прошивается в пзу и загружает коробку.
bootloader_LPDDR3_Android_9.zip ( 1.58 МБ )

Сообщение отредактировал Brahner — 13.07.20, 14:24

alexesgg,

Поставил на h96pro+ 3/32
Проводная сеть воркает, вайфай тоже.
Бт вроде как нет.
Вообщем то очень неплохо.
Правда видит только 2гб памяти..

Сообщение отредактировал xam1988 — 11.07.20, 01:37

Скорее всего, проблема в загрузчике, который я использовал от toxtarparavos, не совсем подходит к tx92-LP.
Записал лог, проверял порты проводной мышкой.putty.txt ( 185.09 КБ )
У Davietpda появилась образ для LPDDR3. На этой прошивке, оба usb работают. :scratch_one-s_head:

Сообщение отредактировал Brahner — 11.07.20, 16:27

Источник

Портированная прошивка с android

Начнем. Вы, наверное, слышали, что в некоторых устройствах используется какая-то диковинная A/B структура разделов . Она отличается от структуры в большинстве Android устройств.
На ней как-то странно и непривычно устанавливаются обновления, прямо при работающей системе (O_o). Внутри OTA образов другая, нечитабельная структура. Установка TWRP сопровождается какими-то, раннее не встречаемыми, сложностями, дополнительными манипуляциями и значительно отличается от всего, что «я» раньше видел. Все говорят о каких-то буквах «А», «Б», слотах, двух и системах и прочих, непонятных «мне», вещах. Что же, давайте попробуем во всем этом разобраться.

Начнем с общих вопросов:
Q: Ну и кто все это придумал? Проклятые производители простым гикам жизнь усложняют?
A: Новая структура «A/B разделов» разработана непосредственно Google-ом как часть глобальных изменений в архитектуре Android. Она успешно используется в смартфонах Google Pixel, Essential Phone и различных других устройствах. В дальнейшем все больше устройств от сторонних производителей будут ее использовать. Ничего плохого и страшного в этом нет, наоборот, открывается много новых возможностей.

Читайте также:  Xcom 2 collection android vzlom

Q: Так что же из себя представляет A/B структура разделов?
A: Если говорить совсем просто — внутри вашего устройства расположены сразу две (а в зависимости от реализации и больше), независимые между собой, системы. Что-то на подобии MultiROM (если слышали о таком), только с гораздо более продуманной реализацией на более низком уровне. Если интересует конкретная информация с объяснением всех аспектов — прошу продолжить чтение.

Таблица разделов на примере Google Pixel:
Дабы наглядно отобразить, изложенную выше, теорию и увидеть отличия по сравнению с другими устройствами — познакомимся с таблицей разделов Google Pixel.
Если вы вообще не знакомы со структурой разделов в Linux-подобных системах, и Android в частности, — советую поискать информацию об этом в Google, благо ее полно.

Нас интересуют конкретные разделы, существующие в двух копиях для наглядности и демонстрации.
Итак (раскрываем код полностью):

/dev/block/bootdevice/by-name/aboot_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/apdp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/bootlocker_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/cmnlib32_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/cmnlib64_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/devcfg_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/hosd_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/hyp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/keymaster_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/msadp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/pmic_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/rpm_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/tz_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/xbl_a # Разделы первого загрузчика (Слот «a»)

/dev/block/bootdevice/by-name/aboot_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/apdp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/bootlocker_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/cmnlib32_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/cmnlib64_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/devcfg_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/hosd_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/hyp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/keymaster_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/msadp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/pmic_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/rpm_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/tz_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/xbl_b # Разделы второго загрузчика (Слот «b»)

/dev/block/bootdevice/by-name/modem_a # Раздел первого модема/радиомодуля (Слот «a»)
/dev/block/bootdevice/by-name/modem_b # Раздел второго модема/радиомодуля (Слот «b»)

/dev/block/bootdevice/by-name/boot_a # Раздел первого ядра (Слот «a»)
/dev/block/bootdevice/by-name/boot_b # Раздел второго ядра (Слот «b»)

/dev/block/bootdevice/by-name/vendor_a # Первый проприетарный раздел (Слот «a»)
/dev/block/bootdevice/by-name/vendor_b # Второй проприетарный раздел (Слот «b»)

/dev/block/bootdevice/by-name/system_a # Первый системный раздел (Слот «a»)
/dev/block/bootdevice/by-name/system_b # Второй системный раздел (Слот «b»)

Как видно из выдержки выше, — имеются два, независимых между собой, слота, а именно «группы разделов», которые содержат в себе основные, обновляемые компоненты прошивки.

Два представленных слота состоят из:
Bootloader (загрузчик) — 28 разделов (14 на каждый слот).
Radio/Modem (радиомодуль) — 2 раздела (по одному на слот).
Boot (ядро) — 2 раздела (по одному на слот).
Vendor (драйверы) — 2 раздела (по одному на слот).
System (система) — 2 раздела (по одному на слот).

Остальные разделы, не указанные в таблице, представлены в одном экземпляре за ненадобностью их деления.
Обратите внимание раздел пользовательского хранилища (userdata) всегда один! Именно поэтому вы не можете (без очистки хранилища) одновременно использовать две абсолютно разных прошивки, будет конфликт. Возможно одновременное использование одинаковых по типу прошивок (а в некоторых случаях и это невозможно без сброса данных).

Читайте также:  Наушники для андроид планшет

Принципиальные отличия по сравнению с другими устройствами:
С дублированием разделов и, структурой в целом, разобрались. Однако, вы могли заметить (если просматривали полную таблицу разделов) отсутствие, привычных в любом устройстве, разделов «/recovery» и «/cache». Да, их действительно нет. Но могут и встречаться в отклонениях от нормы.

Q: Стоп. Но если раздела для Recovery нет, а сам Recovery есть (Он ведь есть, правда?), где же он находится?
A: Система восстановления (Recovery) включена в состав образа ядра (boot). А потому, наличие, отсутствие и тип установленного recovery напрямую зависят от ядра системы. Переключение в него (Recovery), как и раньше, осуществляется специальным флагом в «/misc» разделе.
Именно в этом и состоит загвоздка установки TWRP — его как-то нужно «засунуть» в ядро. Потому TWRP сначала временно загружают (устанавливать то его некуда), а затем уже из TWRP, специальным скриптом, на лету распаковывается ядро и вшивается в него TWRP. Такая же схема «перепаковки ядра на лету» применяется при получении «systemless» рут-прав через SuperSU и Magisk.

Q: Хорошо, а что же тогда случилось с «/cache» разделом?
A: В привычных устройствах он необходим лишь для хранения OTA обновлений и системных логов Recovery, в данном же случае, ввиду применения новой схемы этих самых обновлений (см. ниже), раздел стал попросту «не нужОн». Вот от него и избавились.

Ручное переключение слотов:
Естественно, помимо самих слотов, должен быть способ ручного взаимодействия с ними. И он есть. Для ручного переключения текущего активного слота необходимо воспользоваться утилитой fastboot. Команды:

Так же, переключится в другой слот можно в соответствующем пункте TWRP (Reboot -> Slot A / Slot B).

Итоги и положения:
1. Между слотами как система, так и сам пользователь могут переключаться.
2. Изначально (с завода) слоты полностью идентичны между собой. Различия появляются после применения любого OTA обновления системы.
3. Слоты изолированы между собой. Состояние и целостность одного слота никак не влияет на другой. За исключением применения OTA обновлений (см. ниже).

«Seamless» система обновлений:
Итак, с разделами и слотами разобрались. Но что же там с обновлениями, наверняка их тоже коснулись изменения, ввиду описанного выше?
Да, OTA обновления на устройствах с A/B структурой кардинально отличаются от того, что мы можем видеть на других устройствах.

Итоги и положения:
1. Все OTA обновления устанавливаются в неактивный, противоположный слот. То бишь — обновляется лишь один слот.
2. Все OTA обновления устанавливаются в фоновом режиме при рабочей системе, без перезагрузки устройства.
3. Все OTA обновления устанавливаются в два этапа «Шаги»: «Шаг 1» — Загрузка обновления. «Шаг 2» — Фоновое применение обновления в неактивный, противоположный слот.
4. После установки OTA обновления, при перезагрузке устройства, оно автоматически загрузится в обновленный слот (ранее неактивный).

Android 8.0+ — трансляция обновлений:
Начиная с версии Android 8.0 возможна (но не обязательна) частичная реализация трансляции обновлений с одновременным их применением (прямая запись).
Это значит, что обновления не нуждаются в предварительной их загрузке, а применяются «на лету».

Сообщение отредактировал Displax — 08.06.20, 01:27

Источник

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