Chcete více systému na jednom telefonu/tabletu? S aplikací MultiROM žádný problém.

multiboot_ico

Do redakce jsme dostali e-mail vývojáře Vojtěcha Bočka, ve kterém představuje své projekty – kromě jiného i aplikace, umožňující spouštět na jednom zařízení více verzí ROM, které jsou uloženy na paměťové kartě. Pojďme se tedy podívat, co dokáže MultiROM pro Optimus One a MultiROM pro Nexus 7. Text zveřejňujeme se svolením autora v původním znění.

Ahoj, jmenuji se Vojtěch Boček, je mi 18 let a tento školní rok bude pro mě doufám poslední na střední škole. K Androidu jsem se dostal poměrně nevinně – před třemi lety jsem byl obdarován smartphonem LG Optimus One, který nahradil moji starou Nokii 6230i. V té době už jsem uměl alespoň na nějaké základní úrovni programovat, a tak mi netrvalo dlouho, abych si OS Android zamiloval právě kvůli tomu, jak snadné je jej jakkoliv upravovat. Vlastně ještě ten večer jsem si napsal velmi jednoduchou aplikaci, která uměla přes Bluetooth řídit malého robota!

Robot, řízený z telefonu LG Optimus One Robot, řízený z telefonu LG Optimus One

Následovala hromada pokusů, kdy jsem zkoušel, co všechno vlastně tahle věc umí – s pomocí AndroidFórum.cz a později XDA-developers.com jsem se dozvěděl, že telefon jde rootnout a přetaktovat, co je to custom recovery a jak s ní lze zazálohovat celý telefon anebo jak se flashují upravené ROMky. Přiznávám, že jsem často pokoušel štěstí a dělal věci, kterým jsem úplně nerozuměl – ještě že je poměrně složité Optimus One rozbít tak, že už nejde opravit, alespoň pomocí SW :). Během této “fáze” jsem se ale také spoustu naučil o tom, jak Android vypadá a funguje uvnitř.

Jednoho dne padla na AndroidFóru zmínka o tom, že lze nabootovat systém z SD karty. Tento nápad se mi nesmírně zalíbil a dostáváme se tedy k hlavnímu bodu článku, MultiROM. Jedná se o modifikaci pro multiboot, tedy možnost mít na zařízení nainstalováno více systémů zaráz.

MultiROM pro LG Optimus One

MultiROM pro Optimus One již není podporovaná a se současnou verzí nemá mnoho společného, takže jen krátce. Původně uměla bootovat pouze jednu sekundární ROM z SD karty a vše se ovládalo z custom recovery, později přišla podpora pro více ROM. Byl také přidán grafický boot manager – nabídka, která se zobrazí při každém bootu a uživatel zde může vybrat, který systém chce spustit (viz obrázek).

Tato verze bohužel neumí udělat screenshot, a tak pomohl nejlevnější fotoaparát, který jsem tu našel Tato verze bohužel neumí udělat screenshot, a tak pomohl nejlevnější fotoaparát, který jsem tu našel

Všechna nastavení bylo možné měnit v Androidí aplikaci, která také dovedla MultiROM sama nainstalovat a aktualizovat. Protože se ale postupně do MultiROM nabalovalo více a více možností a protože jsem od začátku nevěděl, co všechno to bude umět, vznikl nakonec takový kočkopes, který se rozhodně příliš jednoduše nepoužívá. Když se mi do rukou dostal Nexus 7, rozhodl jsem se tedy celý projekt raději přepsat.

MultiROM pro Nexus 7

Verze pro Nexus 7 je uživatelsky o poznání příjemnější a umí toho více. Dokáže bootovat jak z interní paměti tak z USB flash disku a podporuje prakticky všechny systémy dostupné pro Nexus 7 – všechny Android ROM, Ubuntu Desktop i Touch, testovací verze WebOS a Plasma Active a komunita na XDA používá dokonce i Archlinux.

MultiROM pro Nexus 7 už screenshot udělat umí. MultiROM pro Nexus 7 už screenshot udělat umí.

Tato modifikace se skládá se ze dvou částí – boot manager, který nechá uživatele vybrat, jaký systém chce spustit, a z upravené TWRP recovery, ve které uživatel spravuje všechny vedlejší ROM. Právě upravená recovery je jedna z největších výhod MultiROM – instalaci sekundárního systému provede recovery celou sama, stačí zvolit instalační ZIP soubor. Na co že tohle všechno může být vhodné? Zde je pár příkladů ode mne a z XDA, určitě ale přijdete na další možnosti:

  • Vývoj aplikací na Android – běžně používám ROM se spoustou úprav, ale na tom nemůžu vyvíjet aplikace (není to běžné prostředí, které běží na většině zařízení), proto mám nainstalovanou i čistou verzi nejnovějšího Androidu, kterou vždy spustím.
  • Používání Android Transporter – je to ROM, která přes wifi dokáže streamovat obraz z N7 (nemá HDMI, bohužel). Opět, když potřebuji předvést nějakou aplikaci na projektoru tak stačí nabootovat do této ROM.
  • Vyzkoušení čehokoliv nového bez vymazání celého zařízení – někdo vymyslí nějaký šílený způsob ovládání, Google vydá novou verzi Androidu a nebo se jen chci podívat, jak vlastně vypadá to Ubuntu Touch – všechno tohle je mnohem jednodušší.
  • Někteří uživatelé používají Ubuntu Desktop jako “netbook” třeba do školy – prostě připojí klávesnici a myš a hotovo. Když to pak chtějí používat zase jako tablet, je to otázka jednoho rebootu. MultiROM dokáže zálohu systému obnovit jako další vedlejší ROM.
  • Některé aplikace prý nefungují na rootnutém systému – uživatel si nainstaloval čistou ROM vedle hlavní, kterou používá většinu času a která je rootnutá.

Nedílnou součástí projektu je i upravená verze TWRP recovery, která se stará o správu vedlejších ROM. Během vývoje jsem ale kromě přidání funkcí pro MultiROM našel a opravil pár bugů a přidal pár nových funkcí, které by se hodily i do oficiální verze recovery. TWRP je open-source projekt, do kterého každý může přispívat a jeho vývojáři jsou poměrně přátelští, takže jsem začal do TWRP přispívat a zajímat se celkové o dění kolem tohoto projektu. Pokud používáte TWRP na svém telefonu, můžete si všimnout scrollbarů v seznamu souborů nebo sliderů na nastavení intenzity podsvícení displeje, to jsou asi nejvíce viditelné změny, které pocházejí z MultiROM.

Krátce po vydání MultiROM pro Nexus 7 se na internetu začala objevovat spousta návodů, zpráviček a videí o tom, co MultiROM je a jak se používá. To pro mě bylo velmi příjemné překvapení a nesmírná čest, protože to (zvláště u videí) znamená, že si ostatní lidé dali tu práci a strávili čas jejich tvorbou. Chtěl jsem to zkusit sám, tak jsem si od známého vypůjčil příšernou kameru a pokusil se 5-6 minut anglicky mluvit tak, aby mi bylo rozumět. Výsledkem je jakési představení toho, co MultiROM umí.

MultiROM – multiboot for Nexus 7

MultiROM - multiboot for Nexus 7

Indiegogo kampaň a plány do budoucna

Postupně jsem do MultiROM přidával nové funkce a opravoval případné chyby, ale největší nevýhodou je stále kompatibilita pouze s jedním zařízením. Důvodem je to, že Androidí tablety a telefony bohužel nejsou příliš standardizované, a tak je pro vytvoření multi-bootu často potřeba mít k onomu zařízení přístup (nebo alespoň k dané platformě – Tegra, Exynos apod.).

Nedávno byla představená nová verze Nexusu 7 (pro pořádek ho budu dále označovat jako flo) a já jsem zaznamenal poměrně velký zájem o MultiROM i na tomto zařízení. Jako “chudý student” si ale nemohu dovolit koupit další tablet pro vývoj, nicméně po uvážení celé situace jsem se rozhodl zkusit založit kampaň na indiegogo.com. Tato možnost mi přijde naprosto ideální – pokud komunita vyjádří opravdový zájem, kampaň uspěje a MultiROM se rozšíří i na další zařízení, pokud ne, nikdo nic neztratí. Jedním z cílů této kampaně je upravení kódu MultiROM aby byl pokud možno co nejvíce přenositelný mezi zařízeními a portování by tedy mohli dělat ostatní členové komunity, podobně jako je tomu u TWRP.

V současnosti už flo dorazilo z UK ke mně a (velmi) zhruba další měsíc bude probíhat upravování kódu, aby se dostal do co nejvíce přenositelné podoby a MultiROM se mohla rozšiřovat i dále. V plánu mám například i přidání podpory pro zálohování vedlejších ROM, což je častý požadavek uživatelů na XDA.

Karel Kilián
O Autorovi - Karel Kilián

S překonanou čtyřicítkou je s náskokem nejstarším členem redakce :-). Před několika lety hypoteticky vymyslel operační systém svých snů, aby následně zjistil, že přesně na… více o autorovi

Mohlo by vás zajímat

Komentáře (14)