Далее я буду описывать исключительно только то что использовал конкретно я и чем решал те или иные проблемы а так же о плюсах и минусах если таковые будут замечены. И да здесь будет только самое важное и по возможности без воды.
LineageOS (быв. CyanogenMod) - проект, в котором создаются неофициальные прошивки для некоторых Android устройств. В отличии от фирменных прошивок, поддержка старых устройств до актуальной версии Android.
disclaimer / отказ от ответственности
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
Автор поста не несет ответственности за все, что может случиться с вашим телефоном в результате ваших действий. Вы делаете это на свой страх и риск и берете на себя ответственность. И не говорите потом что вас не предупреждали.
Внимание!!! / Warning!!!
Всегда делайте бэкапы! Titanium Backup ваш лучший друг.
Исходники LineageOS.
Исходники ядра.
Дерево устройства.
Железо, ОСь, проблемы и фиксы
Итак:
- Устанавливатся LineageOS на наш аппарат вот так повторять не вижу смысла.
- Само тело: аппарат Moto Z2 play (albus) модель XT1710-09 тип M274D сразу с дефолтной проблемой стоковой прошивки - неработающим сканером очепятка пальца совмещенным с кнопкой (далее по тексту кнопка) которая вылечивается вот так. Делал практически как описано за исключением очистки /data мне лень было тратить время на лишний бекап и восстановление. После заливки описанной версии прошивки и первого включения у меня кнопка не завелась. Завелась после первой же перезагрузки. И нет одного fastboot flash fsg fsg.mbn мне не хватило видимо трабл там глубже.
- recovery: twrp_albus_treble_3.2.2_r23_64.img из минусов заметил только то что сжатие не работает оно печально ну да и ладно не больно то и надо.
- Boot logo ставил Z2_Play_bootlogo_moto_flashable.zip оттуда как выглядит можно посмотреть там.
- У официальной прошивки LineageOS на данном аппарате тоже есть свой прикол. Видимо наличие той самой кнопки заставило надмозги выпилить кнопки навигации полностью. Решение есть там если кратко то qemu.hw.mainkeys=0 нужно добавить в /system/build.prop и перезагружаемся.
- Протухшую radio фирмварь обновлял оттуда ALBUS_RETAIL_8.0.0_OPSS27.76-12-25-11_cid50_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml.zip вот так:
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
- Далее на очереди Magisk. Крайний magisk на крайней версии прошивки у меня завёлся без проблем. f2fsfix не ставил и Xposed мне тоже без надобности. Клиент банка на букву с завёлся и работает а вот проверку SafetyNet пока успешно пройти не удалсь. Мне не помог MagiskHide Props Config. Зато SafetyPatcher завёлся и работает просто чудесно.
Сборка LineageOS из исходников
Основной офциальный мануал там Build for albus поэтому повторять не вижу смысла. Напишу в чём заключаются отличия которые я обнаружил.
Самое важное 100 GB of free storage вам не хватит поскольку, к примеру, у меня отожрало 155Гб жёсткого диска.
Извлекать проприетарные блобы конечно весело но зачем если есть готовые TheMuppets/proprietary_vendor_motorola?
В NixOS, по задумке, окружение для сборки можно сделать вот так Building Android on NixOS при помощи shell.nix. Однако примерно на середине процесса у меня сбоило вот с таким выхлопом:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007ffb21b50de1, pid=6674, tid=0x00007ffb2b9ef700
#
# JRE version: OpenJDK Runtime Environment (8.0_202) (build 1.8.0_202-ga)
# Java VM: OpenJDK 64-Bit Server VM (25.202-bga mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libssl.so.1.0.0+0x45de1] SSL_set_cipher_list+0x1
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Я не спец в java поэтому поступил проще установил docker и использовал подготовленное окружение docker-lineageos ставится за секунды. Если кто подскажет что я делал неправильно в nix-shell буду только благодарен.
По времени на процесоре i5 и 16Гб ОЗУ в docker-е у меня заняло примерно 12 часов.
android/lineage/.repo/local_manifests/roomservice.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="LineageOS/android_device_motorola_albus" path="device/motorola/albus" remote="github" />
<project name="TheMuppets/proprietary_vendor_motorola" path="vendor/motorola" remote="github" />
<project name="LineageOS/android_kernel_motorola_msm8996" path="kernel/motorola/msm8996" remote="github" />
<project name="LineageOS/android_hardware_qcom_media" path="hardware/qcom/media-caf/msm8937" remote="github" />
<project name="LineageOS/android_hardware_qcom_display" path="hardware/qcom/display-caf/msm8937" remote="github" />
<project name="LineageOS/android_hardware_qcom_audio" path="hardware/qcom/audio-caf/msm8937" remote="github" />
<project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" />
</manifest>
Что изменено в прошивке?
На данный момент добавлено qemu.hw.mainkeys=0 в /system/build.prop. Зачем читай выше.
Скриншоты
Мало? Спрашивайте добавлю ещё.
Загрузки/Download
Comments