Android Project Treble будет работать на некоторых текущих флагманах

Блог РумикомИнтересноеAndroid 10 доступен для любого смартфона с поддержкой Project Treble

Еще в 2017 году Google представила Android Oreo и вместе с ним Project Treble как революционную архитектуру, которая будет должна навсегда решить проблему фрагментации смартфонов на базе Android, вследствие которой малый процент устройств получал актуальное обновление. Сегодня 2019 год, а фрагментация никуда не делась, но не спешите с выводами, Project Treble все же смог помочь разработчикам прошивок. Читайте наш материал, чтобы узнать о реальной перспективе в плане обновлений для вашего устройства. 

image

Благодаря Project Treble стало возможным устанавливать прошивки на основе чистого Android без внесения изменений в загрузочный раздел на диске или в раздел производителя смартфона. Каждый производитель, который прошел сертификацию Google или который собирается ее пройти, обязан протестировать свои устройства на предмет соответствия требованиям Project Treble. Производители должны обеспечить возможность успешной загрузки и работы образа прошивки на базе AOSP с использованием архитектуры Treble. 

image

Значит ли это, что для многих Android-смартфонов зажгли свет в конце туннеля? 

Project Treble принес расцвет в область кастомных прошивок, которыми занимаются независимые разработчики, например такие, как с форума XDA Developers. Для тысяч и тысяч смартфонов каждый день создается огромное количество сторонних прошивок, которые используют архитектуру Treble для обеспечения появления актуальных версий Android даже на те смартфоны, которые уже не поддерживаются производителем. Новость состоит в том, что команде разработчиков Phhusson удалось представить первый кастомный образ Android 10 на любое устройство с поддержкой вышеописанной архитектуры. 

Если у вас прямо сейчас на руках достаточно популярное устройство и вы интересуетесь вопросом кастомных прошивок, то вам переживать не о чем — для таких смартфонов всегда создают массу прошивок, предоставляя право выбора. А вот если ваш телефон не так уж и популярен, а разработчики не заинтересованы в создании прошивок под него, то Project Treble станет для вас самой актуальной возможностью, чтобы обновиться до Android 10.

К счастью, образ прошивки от Phhusson загружается на любом устройстве с Project Treble, а по факту — это все смартфоны выпущенные с Android 8.0+ из коробки. По этой причине, если вы владелец даже малоизвестного смартфона на базе процессора от MediaTek, вы все равно можете попытать удачу, установив прошивку от этой команды разработчиков. 

Купить смартфон с поддержкой Project Treble вы можете в фирменном магазине Xiaomi Румиком

Пишите в комментарии, будет ли для вас интересен материал о том, как это сделать — если таких наберется достаточно, мы в очень скором времени напишем для вас инструкцию. 

Читайте также: Большая статья обо всем, что известно про Xiaomi CC9 Pro

Товары, которые могут вас заинтересовать:

Беспроводные наушники Xiaomi Mi Air True Wireless Earphones (AirDots Pro) (TWSEJ01JY) (белый) 39903 490 руб. Робот-пылесос Xiaomi Mijia 1C Sweeping Vacuum Cleaner (белый) (STYTJ01ZHM) 1799014 490 руб. Беспроводные наушники Xiaomi Mi AirDots Youth Edition (белый) (TWSEJ02LM) 29902 390 руб. Робот-пылесос Xiaomi Mi Robot Vacuum (EU, белый) (SDJQR02RR) 1999018 990 руб. Фитнес-браслет Xiaomi Mi Band 5 (черный) (XMSH10HM) 32902 390 руб. Робот-пылесос Xiaomi Mijia Sweeping Robot 1S (белый) (SDJQR03RR) 2199017 690 руб. Монитор Xiaomi Mi 144Hz Curved Gaming Monitor 34″ (черный) 3999033 990 руб. Умные часы Amazfit GTS Smart Watch (EAC, черный) (A1914) 99908 990 руб. Фен для волос Soocas Anions Hair Dryer H3S (белый) 29902 790 руб. Беспроводной пылесос Dreame V9 Vacuum Cleaner (EU) 1499013 990 руб.  Главная » Разделы » Лента » События

[ Версия для печати ]

//–> Страницы: (29) [1] 2 3 … Последняя »  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ] Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
Страницы: (29) [1] 2 3 … Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
 

Активные темы

  • Собянин: давно вакцинировавшиеся от COVID-19 могут быть подверже…(401)

    События09:56

  • Инфляцию в США объявили угрозой мировой экономике(51)

    Инкубатор09:56

  • В Ровенской области мужчина провалился в яму, которую сделали бо…(93)

    События09:56

  • В Германии скорость интернета Starlink достигла 649Mbit/s(24)

    Инкубатор09:56

  • Не хотят работать за 15 тысяч,да как же так? Бизнес пожаловался …(109)

    Инкубатор09:56

  • Египетские инженеры протестировали водные кабриолеты(11)

    Инкубатор09:55

  • Никол Пашинян уверенно выиграл выборы(47)

    Инкубатор09:55

  • Я так понимаю.До вакцинноустойчивого штамма совсем чуть чуть ост…(40)

    Инкубатор09:55

  • Где бы футаж нарыть? или как сделать?(21)

    Беседы09:55

  • Отрезал циркулярной пилой фалангу пальца(159)

    Видео09:55

  • А вы своим говорите?(149)

    Видео09:55

  • Счастье свободного мужчины(611)

    Инкубатор09:55

  • На злобу дна(75)

    Картинки09:55

  • Пособие для избирателя ил почему нужно идти на выборы(97)

    Инкубатор09:55

  • Взлетела и отключилась(8)

    Инкубатор09:55

Обзор активных тем »

Yaplakal

Наверх

Не так много времени остаётся до официального релиза Android Q, поэтому разработчики вовсю трудятся над обновлением своих приложений под новую версию самой популярной мобильной операционной системы. Хотя большинство устройств так ещё и не обновилось до Android 9 Pie (API level 28), новые обязательные требования по целевому уровню API, о которых вы уже должны были слышать, вынудят вас перейти на API 29 в 2020 году.

Если вы ещё не обновили своё приложение, согласно требованиям API 28 – рекомендуем сделать это как можно скорее, так как Google дал время разработчикам обновить свои, находящиеся в разработке, приложения до августа 2019 года. А уже релизнутые приложения нужно обновить до ноября 2019 года.

Project Treble

Если вы хотите начать разработку приложения для следующей версии Android – вы уже можете протестировать своё приложение с помощью эмулятора Android Studio, или смартфона линейки Google Pixel. В этом году Google представила очередную разработку под названием Project Treble, которая позволит производителям быстрее выпускать обновления для приложений на Android. Вы можете установить официальную GSI-сборку Android Q на своё устройство, если оно совместимо с Project Treble.

Суть Project Treble заключается в модульности операционной системы, когда основа ОС отделена от установленных поверх неё прошивок. Это позволит производителям менять только основу ОС при выходе новых версий Android, что увеличит скорость выхода обновлений. В дополнение к тестам CTS, с помощью которых тестируются приложения, появился новый набор тестов VTS, или Vendor Test Suite.

С помощью тестов VTS производители смогут проверить, соответствуют ли их устройства требованиям Project Treble. Одна из самых главных деталей, которую необходимо проверять производителям устройств при выходе очередного обновления – это возможность загрузки GSI-сборки на устройства, совместимые с Project Treble. GSI-сборка – это чистая версия Android, которую используют производители устройств для проверки на наличие поддержки Project Treble, при выпуске нового смартфона. Однако Google хочет, чтобы разработчики использовали GSI-сборки для проверки своих приложений на совместимость с актуальной версией Android.

Например, если у вас смартфон Google Pixel, единственный способ протестировать своё приложение в будущей версии Android – это установить эмулятор Android Studio. Вы также можете воспользоваться специальным облачным сервисом для тестирования, ну или купить смартфон Google Pixel.

У каждого из этих способов есть свои преимущества и недостатки, но если у вас есть рабочее устройство, которое совместимо с Project Treble, и вы не хотите тратить деньги на покупку полной версии Android Studio, чтобы снять все ограничения, почему бы не установить GSI-сборку на своё устройство? Если ваше приложение будет хорошо работать на GSI-сборке, то оно, скорее всего, будет также работать на всех устройствах с этой версией Android.

Открытый код Android Q не будет доступен до августа 2019 года, поэтому официальные GSI-сборки – это единственный способ протестировать Android Q на смартфонах, которые не входят в линейку устройств Pixel.

Требования

Перед началом установки бета-версии Android Q необходимо проверить устройство на совместимость с Project Treble, и можно ли установить образ системы из загрузчика.

Что нужно сделать в-первую очередь?

  1. Разблокировать загрузчик, если он заблокирован. Некоторые смартфоны Samsung на Snapdragon, Huawei, Honor, Nokia (кроме Nokia 8) не подойдут.
  2. На вашем ПК должны быть установлены последние утилиты ADB и Fastboot. Использование устаревших версий утилиты Fastboot может привести к различным ошибкам.
  3. Ваше устройство должно подходить под один из этих пунктов, чтобы поддерживать работу с Project Treble:
    • Устройство работает на Android 9 Pie прямо из коробки. В случае, если вы купили устройство с предустановленным Android 9 Pie, то можете пропускать следующий шаг.
    • При выходе на рынок, устройство работало под управлением Android 8.0 или 8.1 Oreo, но было обновлено до Android 9 Pie. Чуть ниже мы расскажем, как выяснить это.

Перед тем, как мы приступим к следующему шагу, мы должны вас предупредить, что при установке GSI-сборки придётся полностью форматировать ваше устройство. Поэтому сделайте резервную копию своих данных, прежде чем приступать к каким-либо действиям.

Ещё один важный момент, все GSI-сборки не проходят тесты CTS на момент своего выхода. Поэтому, если ваше приложение использует протокол SafetyNet для проверки устройства на прохождение CTS-теста – ничего не получится. Кроме того, эти сборки не рекомендуется использовать на постоянной основе, так как они полны различных багов. Google опубликовала список с известными на данный момент багами GSI-сборок у себя на сайте. В случае обнаружения новых багов, вы можете сообщить об этом Google, заполнив соответствующую форму (см. Google Issue Tracker).

Проверяем совместимость с Project Treble

Откройте консоль на компьютере и введите следующую команду:

adb shell getprop ro.treble.enabled

Если в ответ придёт false, значит ваше устройство не совместимо с Project Treble. Так что дальше можете не продолжать. Если же ответ true, переходим к следующему шагу.

Затем вводим эти команды:

adb shellcat /system/etc/ld.config.28.txt | grep -A 20 “[vendor]”

В полученном ответе нужно найти раздел [vendor], а внутри этого раздела найти строку namespace.default.isolated. Если напротив стоит значение true, значит на ваше устройство можно установить GSI-сбоку поверх образа Android 9 Pie. Если же стоит значение false, тогда вы можете установить GSI-сборку только той версии, которая сейчас стоит на вашем устройстве.

Как это должно выглядеть на примере OnePlus 6T

Теперь вам нужно подтвердить, есть ли на вашем устройстве рут. Если ваше устройство было обновлено до Android 9 Pie, наличие рута необязательно, но он необходим для поддержки OTA-обновлений. Введите следующие команды, чтобы проверить, есть ли на вашем устройстве рут:

adb shellcat /proc/mounts | grep -q /dev/root && echo “system-as-root” || echo “non-system-as-root”

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

adb shell getprop ro.product.cpu.abi

Выпишите на листок бумаги полученную информацию: она вам понадобится при скачивании GSI-сборки.

Скачиваем GSI-сборку

Ссылки на скачивание официальных GSI-сборок Android Q доступны на официальном сайте здесь. Вам нужно скачать подходящую версию, в зависимости от архитектуры устройства, которую мы узнали из предыдущего шага. Скачивание может занять продолжительное время, если вы выбрали билд с мобильными сервисами Google. Рекомендуем скачивать именно такой вариант, так как вы сможете протестировать своё приложение сразу с установленными Google-сервисами.

Как только файл скачается, распакуйте его. Внутри должно быть 2 файла: system.img и vbmeta.img.

Установка GSI-сборки

  1. Перезагрузите загрузчик устройства, используя следующую команду:adb reboot bootloader
  2. Далее нам нужно отключить Android Verified Boot (AVB). Вводим следующую команду:fastboot flash vbmeta vbmeta.img
  3. Форматируем систему:fastboot erase system
  4. Теперь можно начинать установку GSI-сборки Android Q:fastboot flash system system.img
  5. Как только установка завершится, удаляем пользовательские данные:fastboot -w
  6. Перезагружаем устройство:fastboot reboot

На этом всё, при дальнейшем запуске смартфона он должен запуститься с установленной GSI-сборкой. Стоит отметить, что Android Q beta 2 GSI не получается установить на OnePlus 6T, а вот на Xiaomi Mi 9 можно. Пишите свои мысли о новом Android Q в комментариях.

Скрипичная ракета – носитель представляет собой набор эффектов , используемые гитаристами , чтобы увеличить высокий конец их тонального спектра. Многие устройства также увеличивают общую громкость. Усилители высоких частот обычно использовались гитаристами в 1960-х и 1970-х годах. За последние пару десятилетий их популярность снова возросла, и стало доступно множество клонов и переизданий классических схем.

Многие высокочастотные усилители, изготовленные в 1960-х годах, были разработаны так, чтобы не сильно усиливать сигнал. Vox даже уменьшил мощность американской версии своего высокочастотного усилителя, потому что боялись, что сигнал может перегрузить входной каскад усилителя. Сегодня перегрузка на входе считается одной из ключевых особенностей высокочастотного усилителя.

Популярные гитаристы, такие как Тони Айомми , Ричи Блэкмор , Рори Галлахер , Брайан Мэй и Марк Болан , использовали высокочастотные усилители для овердрайва усилителей (в основном с темным звучанием британских ламповых моделей, таких как Marshall Bluesbreakers и Vox AC30 ), чтобы создать больше искаженный, но сфокусированный звук. Они появились в середине 1960-х годов. К 1980-м годам они вышли из употребления. Вместо этого гитаристы использовали педали овердрайва аналогичным образом. Но трасса и ее производные пережили большое возрождение в 21 веке благодаря многочисленным строителям, которые заново открыли эту трассу. В то время как педали овердрайва на базе IC остаются гораздо более популярными, чем высокочастотные усилители, некоторые игроки предпочитают менее сжатый и более динамичный отклик бустеров семейства Rangemaster.

Даллас Rangemaster

Одним из первых усилителей высоких частот был Dallas Rangemaster . В отличие от большинства современных клонов, оригинальный Rangemaster был не педалью, а коробкой, предназначенной для размещения наверху усилителя. В схеме используется один германиевый транзистор OC71 или OC44 .

Rangemaster также широко использовался Брайаном Мэем , Тони Айомми , Марком Боланом и Рори Галлахером . Rangemaster Тони Айомми был модифицирован для обеспечения полного диапазона.

Hornby Skewes

Как и Dallas Rangemaster, высокочастотный усилитель Hornby Skewes был усилителем.

В то время как в ранних устройствах Hornby Skewes Treble Booster использовался германиевый транзистор, более поздняя, ​​более известная версия оснащена кремниевым транзистором. Слухи о версии JFET могут возникать из-за неверно прочитанного номера детали.

Он заметно фигурирует в альбоме Джетро Талла Aqualung .

Он также использовался Ричи Блэкмором в течение 1960-х до 1974 года, когда его заменил модифицированный магнитофон AIWA .

Hornby Skewes также сделал усилитель низких частот и усилитель высоких и низких частот, Hornby Selectatone TB2.

Vox

Vox сделал множество бустеров, которые предназначались для подключения непосредственно к усилителям или гитарам, включая модель V806 Treble Booster. Роджер МакГуинн установил его на свою гитару Rickenbacker в 1960-х годах.

Электро-Гармоникс

Electro-Harmonix использовался для создания высоких частот в двух разных корпусах. Screaming Bird был подключаемым устройством, а Screaming Tree – ножной педалью. Схемы якобы были идентичными. В 2009 году педаль была переиздана и получила название Screaming Bird.

ColorSound Power Boost

Colorsound Power Boost – это усилитель высоких и низких частот, который работает от 18 вольт и использует две девятивольтовые батареи . Дэвид Гилмор использовал это устройство оранжевого цвета, но его часто неправильно понимают как использование Treble Booster марки Orange . Среди других известных пользователей – Гэри Мур . Позже схема была модифицирована для работы на 9 В и продана как ColorSound Overdriver.

Рекомендации

внешняя ссылка

Окирпичил свою магнитолу на третий день владения в попытках получить рут-права. Абсолютно никакой информации на просторах интернета о магнитолах на T3-P1 с Android 8.1 с завода. Китаец, естественно, опрокинул с поддержкой и я бросился во все тяжкие. Целая неделя нервотрепки, сломанный тачскрин ввиду многократных разборок/сборок магнитолы для пробы прошивок. И теперь я готов предоставить свой вариант загрузочного образа для PhoenixCard, который вновь оживил мою магнитолу. Но обо всем по порядку.

Как всё начиналось

Попытался получить рут путем прошивки SuperSU через рекавери переименовав его в os_update_*.zip. Он успешно прошился, но магнитола словила бутлуп. Действовал на тот момент я так смело потому, что имел свою оригинальную прошивку os_update_XWQC01D1-O55‑1.0.4.3.1_20190715_204335_b1.zip. Ведь что может пойти не так? Ну сломал ведро, зайди в рекавери да накати по новой раздел /system и /vendor. А вот здесь начались сложности. 

Сначала я шел от банального: пробовал всевозможные комбинации с кнопкой Reset (единственная физическая кнопка на данной магнитоле), но не похоже, что она имеет какую-то программную обработку. Скорее всего она задействована на банальный разрыв питания магнитолы.

Затем на ютубе нашел ролик, в котором на первый взгляд аналогичная внешне магнитола, с таким же точно лаунчером. В нем автор демонстрирует способ перезагрузки в рекавери через зажатие кнопки Reset, пока не начнет мигать подсветка сенсорных кнопок, и после нажать 3 раза Reset одновременно с тиками подсветки. И что странно, мне этот способ не помог — магнитола по прежнему мгновенно перезагружается при касании Reset’a. Из этого делаем вывод, что абсолютно одинаковые внешне магнитолы (даже программно) могут иметь абсолютно другое железо внутри.

На 4pda вдоль и поперек изучил три имеющиеся темы по магнитолам на T3 (он же sun8iw11p1). Там популярен способ с зажатием трех клавиш на внешней USB-клавиатуре, а именно: ALT + PrintScreen и спамить клавишу I. Бесполезно, на момент бутлоадера, ю‑бута, ядра и затем даже той части загрузки андроида до бутлупа клавиатура просто напросто не работает. В последствии, когда я перебирал всевозможные прошивки для феникса от совсем разных магнитол, на одной из них я все таки смог воспользоваться этим способом, так что он тоже слишком ситуативный.

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

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

image
Снимаем декоративную рамку, ради которой приходится покупать эти богомерзкие магнитолы без поддержки
image

Видим, что исполнение одноплаточное: Android-составляющая, MCU, питание и усилитель размещены вместе, без модулей как привычно для многих других магнитол. А это уже тревожный звоночек. Но как было сказано ранее, терять нечего и разбираем дальше.

image

К моему огромному ВЕЗЕНИЮ обнаруживается распаянный слот MicroSD на обратной стороне платы, закрытый радиатором. Как известно, аварийный способ восстановить прошивку на всех AllWinner — это создать загрузочную флешку с помощью программы PhoenixCard и образа .img, который состоит из разметки разделов (sys_partition.fex, dlinfo.fex, sunxi_mbr.fex), boot0 загрузчика (boot0_nand.fex, boot0_sdcard.fex), boot1 загрузчика (он же — u‑boot.fex, который в свою очередь запакован в boot_package.fex), параметров запуска ядра (env.fex), раздела /bootloader (boot-resource.fex, содержит в себе MAGIC.BIN и изображения загрузчика), ну и привычные для андроида boot.fex, recovery.fex, system.fex и в случае восьмой версии ведра vendor.fex. По сути, имея такой слот на магнитоле и прошивку для своей модели, можно не бояться программных экспериментов, ибо прошивка фениксом это самая что ни на есть полная переразметка всей NAND с последующей перезаписью данных. 

Но прежде чем начинать радоваться, нужно было убедиться, что этот слот действительно загрузочный. Обычно в магнитолах на AllWinner два MicroSD слота, и только один из них используется как загрузочный. Неизменный загрузчик, с которого начинается запуск всегда в приоритете пытается выполнить загрузку с MicroSD карты, и затем, не обнаружив её, уже переключается на NAND.

Бегу на 4pda в ближайшую тему к нашей магнитоле: https://4pda.ru/forum/index.php?showtopic=806442. Беру оттуда первую попавшуюся прошивку седьмого андроида для феникса, накатываю на флешку, вставляю в магнитолу и о чудо:

image

Слот загрузочный, процесс пошел. Не смотря на вопли в топике по ссылке выше о том, что T3-P3 и T3-P1 не взаимнопрошиваемы, система всё таки загрузилась:

image

Но сразу же бросается в глаза, что абсолютно ничего больше не работает. Слава Богу, что хотя бы сам андроид стартанул. Не было ни блютуза, ни вай-фая, ни радио и естественно отсутствовал звук. Версия андроида не принициальна, как и внешний вид лаунчера, после нескольких дней езды с кирпичом вместо новенькой магнитолы хотелось любой работоспособности. Но её не было, и потому сразу была предпринята попытка прошить имеющийся zip для рекавери от китайца с оригинальным восьмым андроидом. На тот момент я еще не знал, что в восьмом андроиде иная таблица разделов, и самое основное изменение — это раздел /vendor, вместо которого раньше был симлинк /vendor -> /system/vendor. Естественно, не было никаких шансов накатить восьмой андроид на седьмой, даже если бы рекавери прошил ядро, оба загрузчика и раздел /system, без /vendor система бы не загрузилась:

image

И в голову сразу же пришла другая идея: отталкиваться от того, что работает на данный момент. С помощью ImgRePacker и параметра /noiso извлек работающую семерку и получил папку YMHC0101-N39‑1.5.4.2.5_20171212_152614.img.dump. Не имея ранее опыта сборки прошивок, и тем более никогда не юзав устройства на AllWinner, было потрачено достаточно времени в понимании устройства образа прошивки для феникса. Первоначально я хотел просто добавить недостающие разделы, которые появились в восьмом ведре: vendor, dto вместо alog и media_data.

Для этого достаточно текстовым редактором открыть sys_partition.fex , исправить секции в соответствии с нашими требованиями и воспользовавшись найденными на просторах github’a бинарниками сгенерировать сначала sys_partition.bin, а затем из него dlinfo.fex и sunxi_mbr.fex.

image

Бинарник sys_partition.bin нам не нужен, а вот оставшиеся два файла скидываем обратно в дамп распакованной img прошивки. dlinfo.fex содержит в себе информацию о заливаемых образах разделов в NAND. sunxi_mbr.fex, как можно догадаться из раздела, MBR для нашей mmcblk0.

Не изменяя ничего более, я собираю дамп обратно в .img всё той же программой и заливаю образ через феникс на флешку. Прошиваем, система успешно грузится. Отлично, значит таблицу разделов мы можем менять как нам захочется. Делаем рут и проверяем что получилось:

image

Бинго, вот и vendor в седьмом андроиде. Сразу же стало очевидно попытаться dd’шкой загнать образы разделов прям с работающей системы. Для этого вернемся к нашему zip архиву с восьмеркой и вытащим из него все возможное:

Что мы имеем? А имеем мы, не смотря на внешний вид а‑ля OTA обновление из-за патчей system и vendor, полноценную систему. Разбираем содержимое архива:

  • boot.img – ядро андроида, при встраивании в образ для феникса просто переименовываем в boot.fex
  • boot0_nand.fex и boot0_sdcard.fex – boot0 загрузчик для типов памяти сооветственно, копируем без изменений
  • boot-resource.fex — образ раздела /bootloader в файловой системе FAT16, копируем как есть
  • env.fex – параметры запуска ядра, если распаковать, то получим следующее содержимое:
  • file_contexts.bin — список пермишинов selinux для файлов, не используется в нашем случае
  • system.new.dat.br, system.patch.dat, system.transfer.list — раздел /system. Сначала необходимо пройтись по файлу .dat.br утилитой Brotli.exe, получим system.new.dat, который вместе с двумя остальными файлами кидаем в директорию Input-DAT программы Auto Tool Unpack Repack .DAT & .IMG For Windows. Выбираем первый пункт, ожидаем завершение процесса и в корне программы обнаруживаем наш полноценный образ system.dat.img. С помощью img2simg.exe можно сжать файл за счет удаление свободного пространства, которое в изначальном файле представлено нулями. Я этого делать не стал, потому что опасаюсь, что без нулей образ не покроет полностью соответствующий раздел в NAND. Полученный файл переименовываем в system.fex и бросаем в наш дамп
  • toc0.fex и toc1.fex — копируем без изменений
  • u‑boot.fex – не смотря на аналогичное название файла файлу в дампе, они отличаются. А вот с файлом boot_package.fex у них полное совпадение, потому переименовываем u‑boot из архива zip в boot_package.fex и заменяем. Это первое. Второе: данный пакет содержит в себе в том числе и u‑boot.fex для img образа феникса. Любым удобным HEX-редактором открываем файл и видим следующее:Это своего рода пакет-склейка нескольких файлов: u‑boot, optee, soc-cfg и еще не влез dtb конфиг. Видим, что нужный нам u‑boot идет первым, а за ним следует optee. Значит, в начале файла обрезаем всё вплоть до 8E 01 00 EA 75 62 6F 6F 74, что соответствует строке kuboot. Теперь наша задача определить конец юбута, для этого вернемся к структуре пакета на скриншоте выше и видим, что за юбутом следует optee. Вбиваем в поиск (не HEX) название optee и находим его начало:Наблюдаем ярко выраженную границу двух файлов, потому сразу после множества FF FF FF … FF обрезаем наш boot_package до самого конца. Получившийся файл сохраняем как u‑boot.fex в дамп для феникса. Еще раз: из одного файла u‑boot.fex из зип архива мы получаем два файла boot_package.fex и u‑boot.fex для img дампа феникса.
  • vendor.new.dat.br, vendor.patch.dat, vendor.transfer.list — по аналогии с system.new.dat.br. Только стоит учесть, что программа Auto Tool Unpack Repack .DAT & .IMG For Windows на вход принимает файл строго с названием system.new.dat.br, поэтому все три файла переименовываем из vendor в system, а затем полученный образ обратно в vendor.fex и бросаем в дамп феникса.

Возвращаемся к ImgRePack, теперь уже запаковываем дамп обратно в img, введя название папки YMHC0101-N39‑1.5.4.2.5_20171212_152614.img.dump и параметр /noiso. Получаем образ, который с помощью PhoenixCard записываем на флешку и идем прошивать магнитолу.

Но ничего не получалось, как я не комбинировал работающий седьмой андроид и имеющийся архив для рекавери с восьмеркой — получал либо черный экран, либо артефакты вместо изображения. Пробовал всякое, курил кучу тематических форумов, но ничего не помогало.

И вот вчера в теме на 4pda ув. ahmed68 выложил полный образ восьмерки для феникса. Естественно, я сразу побежал его прошивать, но прошивка даже не стартовала. Просто черный экран при включении магнитолы с подключенной флешкой MicroSD. Я начал заменять в ней файлы по одному своими из zip архива, естественно начиная связанных с загрузкой, ибо ни ядро, ни разделы самого андроида очевидно не влияют на процесс прошивки. И когда список замененных файлов был следующим: boot_package.fex, boot0_nand.fex, boot0_sdcard.fex, boot-resource.fex и u‑boot.fex прошивка таки пошла. И даже больше: появилась загрузочная картинка из /bootloader. Это был прогресс на фоне всех моих ранних мучений.

Естественно, я сразу же заменил и оставшиеся разделы андроида, но загрузка так и не пошла. Даже больше: при замене boot.fex ядром от моего восьмого андроида, загрузка начала прерываться ежесекундной перезагрузкой. Причину, по которой содержимое моего архива не хотело грузиться я не знаю. От безысходности я решил попробовать повторить аналогичное, но с другим архивом: os_update_KC1C01W1-O01‑1.0.4.3.1_20190424_192823_b1.zip. Внутри такой же андроид 8.1, настоящий, не переименованный в build.prop. Но с лаунчером не как у нас, а как и в ранних прошивках KC1C0101, только с андроидом 7.

И всё, появилась бутанимация восьмого ведра:

А затем и лаунчер от KC1C0101:

Сразу в глаза бросилась иконка Wi-Fi, и не зря: он заработал. Так же, как и всё остальное. Появилось радио, начали сохраняться настройки эквалайзера. Блютуз снова находит другие устройства. MCU не менял, прекрасно работает и с моим июльским, хотя прошивка апрельская:

Прикладываю разметку разделов, на которой 100% восьмой андроид грузится. Да, тут есть лишние разделы, но они не мешают и я их оставил прозапас:

Не знаю, связано ли это с последней прошивкой от ув. ahmed68 или же мне сразу стоило пытаться накатить KC1C01W1-O01, а не мучиться с моей оригинальной. Но в любом случае магнитола снова работает, чему я безумно рад. Естественно, сразу же сделал рут, с чего это приключение и начиналось. Пропатчил ядро boot.fex с помощью Magisk Manager и собрал архив .zip для прошивки через рекавери. Переименовал его в os_update_kernel.zip и прошил обычным путем через юсб-флешку на работающей системе. После этого остается поставить Magisk Manager из apk и доустановить рут.

Скачать прошивку и MCU

Образ для феникса:

Единственный PhoenixCard, который у меня смог без ошибок записывать образы на MicroSD-карты:

Пропатченное ядро для рута, кинуть на юсб-флешку и выбрать для прошивки в интерфейсе системы:

Скачать MCU 1001KC1 от 12.07.2019:

Скачать MCU 1001KC1 от 18.03.2019:

Собранные в одном месте прошивки можно найти здесь.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Citilink-kabinet.ru
Добавить комментарий