Skip to content

Чому треба прошивати будь який телефон на кастом.

INFO

LineageOS — вільна операційна система для смартфонів та планшетних комп'ютерів, яка побудована на мобільній платформі Android. (c) Wikipedia

Дивуюся, як зараз люди намагаються мати владу над "не своїм" пристроєм щоб видалити рекламні ака "блоат" застосунки з телефону чи у нас час ШІ у кожен компонент системи, коли вже ШІ у калькулятор? Більшість застосунків авжеж ви зможете видалити, але є випадки, коли їх НЕМОЖЛИВО видалити, що робити? Або коли підтримка вже закінчилася, а грошей на новий нема.

Ще проблемою є дуже китайські вендори котри порушують GPL лицензію ядра Linux, на котрій побудован Android, хоч й він там дуже модифікований, що теж є проблемою у підтрімці у мейнтейнерів. Вони не дають вам код Linux тому що він блин під NDA. LINUX ПІД NDA ААААААААААААААААААА. По друге - вони порушують ваші права на ВАШ ж пристрій, ви МАЄТЕ право отримати коди ядра під GPL. Ще прикол у тому, що гугл повинен карати вендорів за це, але навіть хляомі за це нічого. Так, хляомі теж порушує GPL, особливо якщо це меметек (МТК) процесор чи інші не Snapdragon.

CyanogenMod/LineageOS - найбільша по спільноті Custom Android

Команда хакерів, котра почала у 2009 році розробку своєї прошивки на базі Android спочатку на перший телефон Android - T-Mobile G1, а пізніше й на інші пристрої. Але у 2016 році, компанія Cyngn, котра тримала інфраструктуру CyanogenMod, закрила усі сервера. Після цього, спільнота відновила цей проект під іншою назвою(тому що Cyngn тримала торгову марку CyanogenMod) - LineageOS.

Цікавий факт

У ті часи, коли був ще А4, CyanogenMod мав у комплекті так звані GApps aka Google Apps котрі є пропріетарними та компанія не мала дозволу на використання у своїх прошивках, за що був вимущена видалити GApps за потребою Google.

Також така потреба була у майбутньому Pixel Expierence, але більше за використання торгової марки Pixel й розробники PE були вимущені забросити цей проект.

"Пропріетарна" архітектура Android

Android мистіть багато GPL коду, що компанії не дуже люблять, на що Android як компанія, а подальшому Google зробила багато прошарків під ліцензією Apache котру можна закрити, ось вам й вільна ОС. Ось чому UI від вендорів не мають коду.

Android Vendor Partition

Android з самого початку містить пропріетарні блобі аля Blobs, це прошаркі між драйверами у Linux та HAL Android, також є окрема фірмварь під апаратні пристрої по типу модему, TEE/TrustZone де виконується захищений код, наприклад DRM та тощо.

Також не забуваємо про те, що ядро Linux там дуже змінений під Android, що затрудняє оновлення версії або взагалі неможливим.

Завантажувач, BootROM, etc

На початку життя Android, більшість телефонів були без SecureBoot, що дозволяло без анлоків модіфікувати систему. У ті часи були пропріетарні способи отримати рут-права, наприклад KingRoot, а це китайці й останний час коли пробував так отримати рут - воно не працювало, може тому що сервера їх вже RIP, хто зна, дикі часи були. SuperSU був краще трошки, але теж пропріетарним, але мова не про це.

Завантажувач у нас час це перша преграда щоб поставити нашу LineageOS збірку, вендор додає свій ключ до завантажувача, а він перевіряє наявність цих ж ключів у інших компонентів системи - тобто мова про AVB aka Android Verified Boot, перевіряє по-перше хеш суму розділів й тд. Наче мейзу з великих компаний почала не давати нам розблоковувати завантажувач тем самим... не порушуючи GPL, ояк. GPLv2 дозволяє таке робити, щоб ти ніяк не міг запустити своє ядро навіть якщо матимеш усі коди - без ключа вендора ти його не запустиш, звідки й виходить GPLv3, але на жаль, Linux досі на v2.

TIP

Можна подивитися на список вендорів та на складність анлоку завантажувача

https://codeberg.org/zenfyr/bootloader-unlock-wall-of-shame

На процесорах меметек є моменти, як у моторола, де вони кажуть що НЕМОЖЛИВО анлокнути завантажувач й підтримки не буде, але існує дуже розумна та добра людина, котра зареверсила як працює процесор, її процес запуску та як працює перевірка безпеки телефону - MTKClient.

Кумедна історія

Отримав від знайомого RN9 на меметек, відновив, прийшлося чекати 14 днів на анлок, хотів вже положити на полку, але мені сказали, що меметек має багато вразливостей, одна з них - BootROM. Анлокнув швидко та... дані залишилися на місці. Тобто... безпеки на RN9 на стоці взагалі немає, не існує, робить висновки

Є така штука у процесорах мтк як BROM, це так звана BootROM програма, котра вшита у сам чіп й його не оновиш, тому вразливості будуть там назавжди. BROM має усі права та зміни у пам'яті телефону, тобто... якщо ми будемо знати який біт відповідає за анлок то можемо легко анлокати завантажувач, як я це зробив на RN9, але. Існує така компанія як Motorola, котра зробила так, щоб ти ніяк не міг отримати доступ до BROM.

Повернемося до мотороли та завантажувача, вони кажуть що анлок неможливий ну прям ніяк, нізя, але хакери дістали з коду завантажувача мтк (Так, меметек має також багато витоків кодів) й зрозуміли, що можна маючи CPU ID й захешувати декілька разів та відрізати й отримаєш код для анлоку завантажувача, ну не ******* моторола?

Є ще процесори на юнісок, їх взагалі треба уникати, просто не купуйте їх, глючне та закрите лайно.

Що дає розблокований завантажувач

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

Ти зможеш вільно модифікувати розділи системи та міняти Android як перчатки, LineageOS, PixelOS(це не сток Pixel, якщощо, просто назва кастому), crDroid, Derpfest, etc

Якщо можеш модифікувати, то можеш й самостійно оновлювати версію андроїду, пробувати навіть стокові прошивки інших телефонів, тощо

А тепер сам LineageOS

Ця прошивка підтримує 254 пристроїв офіційно та 559 загалом підтримував, а неофіційно ще більше завдяки підтримки інших хакерів зі всього світу (я підтримую на декілька пристроїв бтв, хоча й неофіційно).

Офіційно підтримується

https://wiki.lineageos.org/devices/ - шлях, де починається Ваш шлях встановлення.

LineageOS Devices

Шукаєте свій пристрій, якщо він є, читайте інструкцію по встановленню на ваш пристрій, Done

Неофіційне, від спільноти

А тут складніше, шукати треба на форумах XDA, 4PDA(російський) та Telegram. У пошуковий <Назва модели XDA/4PDA> та дивитися що там є, також можна у телеграмі пошукати по запитам <Назва модели Updates>.

Наприклад декілька моїх постів у XDA - Lenovo Z5s, Samsung S8/S8+/Note 8

Встановлення GApps або microG

Google Apps

На жаль, щоб бути українцем, нам потрібна дія, дії потрібен гугл, зрозуміли? Це давно вже мене турбує, але це не тема цього розділу.

У офіційну поставку LineageOS з коробки не будуть вбудовані гугл маркет, тощо, для цього нам треба власноруч до запуску прошивки прошити ще пакунок GApps, у старі часи це був популярен OpenGApps(з вільного тільки збірка архіву для прошива, гугл застосункі усе одно є власністю гугла). Зараз OpenGApps ніяк не підтримує нові версії та не оновлюється, тому раджу тільки MindTheGapps для встановлення

OpenGApps

На вибір є декілька варіантів по наповненню блоата, можете встановити увесь пак застосунків, а можете встановити тільки гугл маркет та залежності до нього, це так званий Pico, що й раджу вам встановлювати

Офіційно, LineageOS має та підтримує власний пак GApps`ів - MindTheGapps. Хоча по розміру можна подумати, що він встановлює увесь бруд на ваш пристрій, але в мене зв'являється тільки гугл маркет та залежності до нього, тобто це Pico, не якийсь там StockMaxProEdition.

Встановлення

Завантажити на сайті LineageOS пак гапсів та через їх рекавери(або TWRP), прошити їх, обов'язково треба робити це до першого запуску системи, або очікуй на помілки.

Sandboxed GApps

GApps котрі працюють як звичайний застосунок й не вимагає системних прав для роботи, але воно доступно тільки на прошивках GrapheneOS, а це тільки піксель, хнек. Але є також VoltageOS, котра має фічи графена й будь який телефон може мати їх.

microG

microG Logo

Відкрита імплементація гугл запитів щоб мінімізувати spyware з богу гугла. Нормально, якщо потрібні деякі застосунки, але й ставити через них гугл сервіси ви не хочете.

На сторінці на гітхабі можна подивитися поточний статус імплементації компонентів гугла - https://github.com/microg/GmsCore/wiki/Implementation-status

Встановлення

Тут трішки складніше, треба щоб прошивка мала у собі Signature Spoofing. Сучасна LineageOS вже містіть потрібні патчи для роботи microG, тому нам не треба думати над цим.

Спочатку встановлюємо Droidify, підключаємо репо з microG пакунками, встановлюємо microG 0.3.2 (на нові в мене не встановлюються, пізніше зможете оновити) та Companion.

Прошиваємо Magisk для отримання доступу до рут-прав, а також можливості встановлювати модули, через модуль microG Installer Revived ми зможемо встановити microG як треба, тобто як системні застосунки.

LineageOs microG Edition

Існує неофіційний проект на базі LineageOS, де розробники додають до прошивки ще й microG, що дозволяє не встановлювати Magisk та подібні застосунки для встановлення microG

https://lineage.microg.org/