Instalace LineageOS 14.1 na OnePlus 2

O updatu svého telefonu jsem uvažoval delší dobu. Posledním impulzem pro přechod z oficiální verze OxygenOS vycházející z Androidu 6 na LineageOS 14.1, který reprezentuje Android 7.1, bylo zveřejnění informace o zranitelnosti bluetooth s poetickým názvem BlueBorne. Společnost OnePlus již na svou vlajkovou loď z roku 2015 z vysoka hází bobek, nepředpokládám proto, že by snad někdy vydala pro tento telefon bezpečnostní záplatu. Bluetooth využívám velmi často, používání telefonu s touto bezpečnostní dírou se mi proto jeví jako velmi problematické. Jsem paranoidní, vím to. 🙂

Borci produkující LineageOS (původně jsem si myslel, že je správný zápis Lineage OS) odvedli velmi velký kus práce s přehledným webem a podrobným návodem. Další text bude většinou jen strohý překlad oficiální wiki doplněný mými malými postřehy.

Než budete číst dále, tak jen upozorňuji, že postupy podle tohoto návodu provádíte na své vlastní nebezpečí a pokud si uděláte z telefonu těžítko, tak já za to nenesu žádnou zodpovědnost.

Základní požadavky
  • A. funkční ADB a fastboot na Vašem počítači, návod jak toho docílit najdete opět na LineageOS wiki

    Já tady trochu odbočím z hlavního proudu, protože jsem používal počítač s linuxem, konkrétně s distribucí Mageia (návod pro linux uvedený na wiki je třeba pro mou distribuci trochu poupravit), pokud budete používat Windows, dovolím si Vás pro zprovoznění tohoto bodu odkázat na LineageOS wiki (ostatní body jsou již univerzální pro všechny operační systémy).

    1. stáhněte balíček platform-tools-latest-linux.zip
    2. rozbalte jej do domovského adresáře ~/platform-tools
    3. adb a fastboot příkazy je třeba v distribuci Mageia spouštět pod rootem, je proto třeba na konec souboru /root/.bashrc dopsat tento řádek:

      export PATH=/home/alda/platform-tools:$PATH
      alda nahraďte Vašim uživatelským jménem

    4. odhlaste se a znovu se přihlašte
  • B. povolené Ladění systému Android (ADB) na telefonu – v Nastavení >> Informace o telefonu klikněte 7x na Číslo sestavení, poté v Nastavení >> Pro vývojáře povolte Ladění systému Android

Pro ověření, že Vám vše funguje správně, po připojení telefonu k počítači, zadejte v příkazovém řádku (v distribuci Mageia pod rootem) tento příkaz:

adb devices

Měli by jste dostat podobnou odezvu:

[root@localhost alda]# adb devices
List of devices attached
* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
9ac44033 unauthorized

Na displeji telefonu se Vám poté zobrazí okno Povolit ladění USB?, to potvrďte, v případě, že se jedná o Váš vlastní počítač a budete ve využívání ADB pokračovat i nadále, zaklikněte i položku Vždy povolit z tohoto počítače.

Po opětovném příkazu dostanete tento výsledek:

[root@localhost alda]# adb devices
List of devices attached
9ac44033 device

Tímto máte ověřeno, že jsou základní požadavky splněny a můžete jít dál.

Odemknutí zavaděče

Odemknutím zavaděče si vymažete veškerá data v telefonu! Proveďte zálohu svých dat!

  1. v telefonu v Nastavení >> Pro vývojáře povolte Odemknutí OEM
  2. propojte telefon s počítačem
  3. v příkazovém řádku (v distribuci Mageia pod rootem) zadejte:

    adb reboot bootloader
    čímž zrestartujete telefon do fastbootu

  4. až bude telefon ve fastbootu, zadejte příkaz:

    fastboot devices

    kdy by jste měli dostat podobný výsledek jako tento

    [root@r500 alda]# fastboot devices
    9ac44033 fastboot

  5. zadejte příkaz pro odemknutí bootloaderu:

    fastboot oem unlock

  6. po odemknutí bootloaderu a restartu telefonu budete muset znovu povolit Ladění systému Android (ADB)
Instalace custom recovery pomocí fastbootu
  1. stáhněte custom recovery pro telefon OnePlus 2, doporučuji stáhnout TWRP recovery z adresy eu.dl.twrp.me/oneplus2/, soubor bude mít název v tomto formátu twrp-x.x.x-x-oneplus2.img
  2. připojte telefon k počítači
  3. v příkazovém řádku (v distribuci Mageia pod rootem) zadejte:

    adb reboot bootloader
    čímž zrestartujte telefon do fastbootu

  4. až bude telefon ve fastbootu, zadejte příkaz:

    fastboot devices
    aby jste si ověřili, že je telefon počítačem správně detekován

  5. nahrejte recovery do telefonu příkazem:

    fastboot flash recovery twrp-x.x.x-x-oneplus2.img

  6. nabootujte do recovery, aby jste si ověřili, že došlo ke korektnímu nahrání recovery, tzn. vypněte telefon a při jeho opětovném zapínání držte tlačítko hlasitosti – a tlačítko power
Instalace LineageOS z recovery
  1. stáhněte instalační balíčky:
  2. zkopírujte stažené balíčky do adresáře /sdcard v telefonu. Jako nejlepší se mi zdá použití tohoto příkazu:

    adb push filename.zip /sdcard/
    filename.zip nahraďte názvem balíčku (včetně cesty k němu)

  3. nabootujte do recovery, tzn. vypněte telefon a při jeho opětovném zapínání držte tlačítko hlasitosti – a tlačítko power
  4. v recovery doporučuji provést zálohu (volitelné, ale doporučené) – přes tlačítko Zálohovat
  5. zvolte Vymazat a pak Rozšířené vymazání
  6. vyberte Cache, Systém a Data oddíly pro vymazání, následně dole přes Potáhnout pro vymazání provedete samotné vymazání
  7. vraťte se zpět do hlavního menu, kde vyberte Instalovat
  8. najeďte do adresáře /sdcard a vyberte balířek s LineageOS (.zip)
  9. postupujte podle pokynů na displeji pro nainstalování balíčku
  10. instalujte další balíčky (.zip) pomocí stejné metody, tzn. balíček s Google Apps a balíček addonsu-14.1-arm64-signed.zip pro rootnutí telefonu
  11. po instalaci požadovaných balíčku se vraťte do hlavního menu, vyberte Restartovat a pak Systém
Povolení rootu na LineageOS

Pakliže jste si do telefonu nainstalovali balíček addonsu-14.1-arm64-signed.zip, tak telefon ještě nemá automaticky povolený root. Ten musíte dodatečně povolit v telefonu přes Nastavení >> Pro vývojáře, kde hledejte položku Root přístup. Zde si můžete vybrat z těchto možností:

  • Zakázat
  • Pouze aplikace
  • Pouze ADB
  • Aplikace a ADB

Root přístup můžete povolovat či zakazovat podle toho, jak se Vám to hodí.

OTA aktualizace LineageOS

LineageOS je v současné verzi pro OnePlus 2 dostupný ve formě nightly verzí, tzn. vychází velmi často (1x týdně), díky funkčním OTA aktualizacím však není instalace nových verzí složitá. Nikdo Vás ani nenutí instalovat aktualizace každý týden. Pokud jste nezměnili nastavení u aktualizací, tak budete o vydání nové verze informováni ve stavové liště telefonu. K aktualizaci telefonu se dostanete přes Nastavení >> Informace o telefonu >> Aktualizace LineageOS.

Pro spuštění aktualizace stačí kliknout na Vámi vybranou verzi, ta se nejprve stáhne do telefonu.

Po tom co se požadovaná verze stáhne, tak opětovným kliknutím na ni přejdete k samotné aktualizaci. Na toto jste upozorněni nově otevřeným oknem, potvrzením tlačítkem OK spustíte samotnou aktualizaci.

Franco kernel pro OnePlus 2

Po instalaci LineageOS 14.1 (verze ze 14. září 2017) jsem bohužel zaznamenal náhodné vypínání telefonu. Stejný problém se objevil i u jiných uživatelů LineageOS s OnePlus 2, kdy tyto problémy se u nich objevili s novými verzemi asi od poloviny srpna 2017, kdy LineageOS team provedl velké změny v jádře. V některých fórech jsem zaznamenal podobné chyby už z jara 2017, bude se ale nejspíš jednat o dva odlišné problémy. Nakonec jsem z diskuzí vyčetl, že daného problému se lze zbavit instalací alternativního kernelu pro LineageOS, konkrétně instalací legendárního Franco kernelu. Je možné, že tento problém bude odstraněn v pozdějších aktualizacích a Franco kernel již nebude třeba kvůli stabilitě instalovat.

Dalším řešením, jak se vyhnout náhodným restartům po instalaci LineageOS, by mělo být nejprve downgradovat OxygenOS na verzi 3.1 a až poté instalovat LineageOS.

Já touto cestou nešel, nechtělo se mi znovu přeinstalovávat nově nastavený telefon s čerstvě nainstalovaným LineageOS.

Doplnění:
Od verze z 12. října 2017 již žádné náhodné vypínání nepozoruji. Instalace alternativního kernelu již proto není nutnou podmínkou.

Na XDA fóru je Franco kernelu pro OnePlus 2 věnováno celé vlákno [KERNEL][OP2][LineageOS] FrancoKernel.

Instalaci Franco kernelu lze provést přes aplikaci Manager & Updater for Franco Kernel
a nebo klasicky přes recovery. Krátce popíši instalaci s využitím recovery.

  1. stáhněte si poslední verzi Franco kernelu pro OnePlus 2 ve formě zip balíčku z adresy kernels.franco-lnx.net/OnePlus2/7.1.1/anyKernel/
  2. zkopírujte jej do telefonu, můžete použít již známý příkaz:

    adb push fk-rXX-anykernel2.zip /sdcard/
    a nebo jej stáhněte přímo do telefonu z výše uvedeného odkazu

  3. nabootujte do recovery, tzn. vypněte telefon a při jeho opětovném zapínání držte tlačítko hlasitosti – a tlačítko power
  4. v recovery velmi doporučuji provést zálohu Boot oddílu přes tlačítko Zálohovat – tímto se zazálohuje původní kernel
  5. vraťte se zpět do hlavního menu, kde zvolte Vymazat, pak Rozšířené vymazání, vyberte Cache a Dalvik / ART Cache oddíly pro vymazání, následně dole přes Potáhnout pro vymazání provedete samotné vymazání
  6. vraťte se zpět do hlavního menu, kde vyberte Instalovat a nainstalujte Franco kernel (fk-rXX-anykernel2.zip)
  7. vraťte se zpět do hlavního menu, kde zvolte Vymazat, pak Rozšířené vymazání, vyberte Cache a Dalvik / ART Cache oddíly pro vymazání, následně dole přes Potáhnout pro vymazání provedete samotné vymazání
  8. 8. vraťte se do hlavního menu, vyberte Restartovat a pak Systém

Systém je dle mých zkušeností s Franco kernelem svižnější a netrpí náhodnými restarty. Bohužel OTA aktualizace, jak jsem ji popisoval výše, se s nainstalovaným Franco kernelem nespustí. Pokud budete chtít aktualizovat OnePlus 2, tak musíte před spuštěním OTA aktualizace vrátit původní kernel z LineageOS. Proto jste si dělali zálohu Boot oddílu popsanou v bodu 4. Obnovení boot oddílu provedete v recovery přes tlačítko Obnovit. Před a po obnově nezapomeňte provést i vymazání Cache a Dalvik / ART Cache oddílů jak je popsáno v bodech 5 a 7.

OTA aktualizace je při použití Franco kernelu trochu složitější, to je však vyváženo svižnějším a stabilnějším systémem.

Dole najdete obrázky s LineageOS 14.1 na OnePlus 2, první dva obrázky představují výchozí Launcher Trebuchet pro LineageOS, poslední dva představují Nova Launcher, který pro změnu používám jako výchozí zase já.

Napsat komentář

Můžete použít tyto HTML tagy

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>