BotBrew udělá z Androida plnohodnotný „Linux“

Adam Štrauch 25. 5. 2012

Povýšení systému Android na plnohodnotný Linux s sebou přináší výhody, ale zároveň komplikace s instalací i používáním získaných funkcí. BotBrew je aplikace, která ledasco mění. Není potřeba chroot, není potřeba instalovat žádnou linuxovou distribuci, prostě se do Androida přidá balíčkovací systém, pár programů a máte to.

Před pár měsíci jsme vám v článku Debian v chrootu na Androidu představili aplikaci pro instalaci chroot prostředí do androidích zařízení. Ukázali jsme si, jak dostat do telefonu třeba Debian a co všechno se s ním dá dělat. Dnes se podíváme na něco podobného, přeneseme se mimo chroot a upravíme si androidí systém tak, aby obsahovat nástroje, které známe z běžného linuxového systému.

K tomu použijeme aplikaci BotBrew (homepage), kterou vyvinul Jiang Yio a poskytl ji na Google Play zdarma. Aplikace do vašeho telefonu nainstaluje základní systém s balíčkovacím nástrojem opkg. Díky tomu si pak telefon můžete dovybavit dalšími programy, které jinak v základním systému nejsou. Aplikace běží pouze na architektuře ARM, takže uživatelé běžící na x86 nebo MIPS mají prozatím smůlu. Narazit mohou i uživatelé se správným hardwarem, protože pro bezproblémovou instalaci prostředí je nutné splnit dvě podmínky:

  • Rootnutý telefon
  • Dostatek volného místa v oblasti s daty (~16 MB)

Pokud obě podmínky splňujete, neměl by BotBrew dělat žádné problémy, ani pokud se rozhodnete nainstalovat pár menších balíčků z repositáře. Jako balíčkovací systém byl zvolen opkg (Open PacKaGe Management), který se používá třeba i ve známé distribuci OpenWRT. Jde o lehký balíčkovací systém napsaný v jazyce C, inspirovaný apt a dpkg z Debianu. Je navržen pro běh na embedded zařízeních, což váš telefon či tablet rozhodně neurazí.

Instalace

Proces instalace stojí trochu na vodě a vyžaduje program busybox. Pro jeho instalaci použijte třeba aplikaci BusyBox, případně její Pro variantu. Můžete zkusit také BusyBox Installer, ale s ním se mi prostředí nainstalovat nepodařilo. Navíc aplikace BusyBox umí busybox i odinstalovat a její vývoj je aktivnější.

Tak jako tak, pokud busybox máte, stačí nainstalovat a spustit BotBrew a kliknout na tlačítko Proceed. Než tak učiníte, zvažte, zda si neuděláte zálohu například přes recovery. BotBrew je sice otestovaný, ale jeho autor nemá šanci vyzkoušet všechny možné scénáře a během instalace může právě na vašem zařízení dojít k problémům, které znefunkční systém.

Máte-li hotovo, objeví se něco podobného jako je na screenshotu níže:

BotBrew standardně instaluje prostředí do /data/botbrew a tuto cestu „binduje“ do /botbrew. Až poté lze celé prostředí přenést na kartu. Přesun může přinést problémy v případě, že provozujete jednoho či více daemonů a rozhodnete se připojit SD kartu jako USB disk někam do počítače. V takovém případě se tyto aplikace a možná i celý systém mohou chovat nepředvídatelně. Čistá instalace nabírá kolem 6 MB, ale třeba instalace kompletního Pythonu vezme dalších 60 MB. Obecně autor doporučuje držet BotBrew prostředí v oblasti s daty, ale samozřejmě to závisí na vašem úsudku a vašich možnostech.

Emulátory terminálu

Prostředí nainstalované přes BotBrew je dostupné pouze přes emulátor terminálu, případně přes nějakého správce skriptů. Pokud chcete BotBrew využít naplno, bez emulátoru se určitě neobejdete. Možností je vícero:

ConnectBot se už pravděpodobně nevyvíjí, ale stále může na některých starších telefonech, nejlépe s hardwarovou klávesnicí, fungovat dobře. Android Terminal Emulator je zdarma a udělá vám dobrou službu i na čistě dotykových zařízeních. Je jednoduchý na ovládání i na konfiguraci. Nejlepší, ale bohužel ne dokonalý, se mi jeví Better Terminal Emulator Pro, který má podle mých zkušeností nejlépe zvládnuté ovládání na dotykovém displeji, dá se do detailu nakonfigurovat a pokud si zrovna nehrajete s BotBrew, oceníte integrovaný busybox.

Něž začnete nainstalované prostředí používat, je potřeba upravit proměnnou PATH, ve které jsou uvedeny cesty k binárkám v systému. Standardně je tam třeba /system/bin nebo /system/xbin, ale protože BotBrew nainstaloval prostředí do /botbrew, je potřeba tam doplnit cestu /botbrew/bin. V Android Terminal Emulator i Better Terminal Emulator Pro se tato proměnná nastavuje téměř shodně v nastavení pod volbou Initial command.

Máte-li emulátor, můžete se pustit do instalace balíčků a trochu si s novými funkcemi pohrát.

Využití

Prostředí BotBrew stojí na balíčcích, které jsou v jeho repositářích k dispozici. Možná chybí plnohodnotné SSH nebo webový server Nginx, ale je tu spousta jiných balíčků, které nabízejí také mnoho zábavy. Všechny programy se instalují z aplikace BotBrew a není potřeba používat opkg přímo z řádky. BotBrew se také dokáže postarat o daemony běžící na pozadí, taktéž ze svého uživatelského rozhraní. Daemony je možné jednotlivě zapínat či vypínat a nebo je možné vypnout/zapnout celý Supervisor, který se o daemony stará.

K dispozici máte třeba:

  • Python, Ruby
  • nmap, tcpdump. lynx, rsync
  • dropbear, lighttpd
  • gcc. jamvm (Java Virtual Machine)
  • git, subversion
  • sqlite3
  • vim, nano

S takovouto výbavou spustíte většinu konzolových pythoních/ruby skriptů, kouknete se, co teče po síti, co se schovává v databázi libovolné aplikace, stáhnete si třeba repositář jádra nebo spustíte čistě javový program. Fantazii se meze nekladou a tady se můžete inspirovat:

  • Synchronizace vybraných adresářů se vzdáleným serverem
  • Synchronizace dat mezi dvěma telefony/tablety
  • Analýza vzdálených strojů přes nmap (na toto je lepší použít třeba aplikaci Fing)
  • Analýza provozu přes tcpdump
  • Kompilace čehokoli co projde přes GCC a má v repositáři potřebné knihovny
  • Sdílení vybraných souborů přes webový server
  • Provoz dynamických webových stránek (Django, Ruby on Rails)
  • Zpřístupnění zařízení přes SSH

.. a nebo třeba komplikované stažené RSS kanálu Roota.

Shrnutí

V porovnání s řešením přes chroot, jaké nabízí Linux Installer, je BotBrew pohodlnější, nezatahuje do systému zbytečné věci a jak instalace, tak použití je jednodušší. Množství programů v repositáři je omezené, ale je možné doplnit repositář vlastní nebo pokud najdete, tak komunitní, a dostat tak další software.

Našli jste v článku chybu?
Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

120na80.cz: I tuto vodu můžete pít

I tuto vodu můžete pít

Vitalia.cz: Bio vejce nepoznají ani veterináři

Bio vejce nepoznají ani veterináři

DigiZone.cz: Discovery Channel HD jen tak nebude

Discovery Channel HD jen tak nebude

DigiZone.cz: Skylink o půlnoci vypnul 12 525

Skylink o půlnoci vypnul 12 525

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

120na80.cz: 7 překážek při odvykání kouření

7 překážek při odvykání kouření

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Měšec.cz: OSVČ a zálohy: kdy musíte a nemusíte platit?

OSVČ a zálohy: kdy musíte a nemusíte platit?

Podnikatel.cz: Účtenky v rámci EET? Klidně emailem

Účtenky v rámci EET? Klidně emailem

Podnikatel.cz: Italské těstoviny nebyly k mání, tak je začal vyrábět

Italské těstoviny nebyly k mání, tak je začal vyrábět

Vitalia.cz: Nejdůležitější změny v potravinářské novele

Nejdůležitější změny v potravinářské novele

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

Lupa.cz: Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Podnikatel.cz: Přiznal prodej padělků. Pokuta ho nemine

Přiznal prodej padělků. Pokuta ho nemine

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta