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?
120na80.cz: Běžecká lékárnička: jak si poradit?

Běžecká lékárnička: jak si poradit?

DigiZone.cz: Náhrada za nevrácená zařízení?

Náhrada za nevrácená zařízení?

Lupa.cz: Text umírá, na webu zbude jen video

Text umírá, na webu zbude jen video

DigiZone.cz: Skylink přidává kanály už teď

Skylink přidává kanály už teď

120na80.cz: Jsou opalovací krémy pro děti jiné?

Jsou opalovací krémy pro děti jiné?

DigiZone.cz: Roční bonus pro Dvořáka schválen

Roční bonus pro Dvořáka schválen

Root.cz: Špína v počítačích: mrtvé myši, prach a pavouci

Špína v počítačích: mrtvé myši, prach a pavouci

Root.cz: Střílejte v obýváku, stačí kamera a projektor

Střílejte v obýváku, stačí kamera a projektor

DigiZone.cz: ČTÚ květen: rušení TV vysílání narůstá

ČTÚ květen: rušení TV vysílání narůstá

Lupa.cz: Jaké IoT tarify nabízejí mobilní operátoři?

Jaké IoT tarify nabízejí mobilní operátoři?

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

DigiZone.cz: Markíza: tady je předběžné opatření

Markíza: tady je předběžné opatření

DigiZone.cz: Nova: technické pauzy každé 1. pondělí

Nova: technické pauzy každé 1. pondělí

Lupa.cz: eIDAS je tu. O co přijdeme u elektronických podpisů?

eIDAS je tu. O co přijdeme u elektronických podpisů?

Podnikatel.cz: Oblíbené Babišovo reverse charge. Potopilo je?

Oblíbené Babišovo reverse charge. Potopilo je?

DigiZone.cz: Kritické poznámky k DVB-T2

Kritické poznámky k DVB-T2

DigiZone.cz: ČT veze bronz z klání televizní grafiky

ČT veze bronz z klání televizní grafiky

DigiZone.cz: TV Nova a její postoj k DVB-T2

TV Nova a její postoj k DVB-T2

DigiZone.cz: Soud zakázal šíření TV Markíza v ČR

Soud zakázal šíření TV Markíza v ČR