Linux na Androidzie

Linux na Androidzie

Linux na Androidzie
Jan Nowak
24.05.2014 13:46, aktualizacja: 13.01.2022 10:07

Android to Linux, tylko mocno „wykastrowany”, jednak dzięki Chroot'owi można na nim uruchomić pełnoprawny system – Ubuntu, Debian czy Fedora. Jak to działa? Ma to jakiś sens?

Wszystko za sprawą aplikacji „LinuxOnAndroid” (Linux Install Complete), która umożliwia w łatwy sposób uruchomienie pulpitowych systemów na telefonie (używając wbudowanych mechanizmów).

Obraz
© Logo Linux4Android

Zacznijmy od tego co to jest Chroot.

Chroot polega na zmianie katalogu głównego systemu.

Załóżmy, że na partycji mamy katalog główny „/”, a w „/external_sd/Debian/Debian.img” - Debiana.

Po zamontowaniu Debian.img, można zmienić katalog główny – i po prostu przejść na system z Debian.img i dzięki temu „trikowi” - można mieć dowolny system Linuksowy na architekturze ARM.

Czemu ARM? Dlatego, że system nie jest emulowany, wirtualizowany (jak np. Qemu czy VirtualBox), tylko uruchamiany natywnie

Po co mi Linux na Androidzie?

Być może nie jest ci taki system potrzebny, niemniej jeśli twój telefon ma port HDMI, a ty masz taki monitor (telefon raczej microHDMI) – a do MicroUSB podłączysz HUB'a, który da porty na myszkę i klawiaturę – możesz używać telefonu jako mini-komputera.

Ale czy to potrzebne? To już musisz sam zadecydować, niemniej na takim smartfonie można programować w wielu językach, włączać aplikacje, których nie znajdziemy na Androidzie czy po prostu bawić się.

Osobiście nie korzystam nagminnie z Debiana na Androidzie, niemniej chcę, by mój telefon stał się mobilnym komputerem (z Lapdockiem, o którym pisałem wcześniej), a w domu czekała mocna stacjonarka. Można się zastanawiać czy takie rozwiązanie ma sens, niemniej zakładam, że nie będę za dużo z „mobilnego komputera” korzystać (tyle, by do kolegi czy do szkoły).

Ciekawe, ciekawe – ale jakie wymagania ma mieć smartphone?

Twórcy wymagają:

  • Zrootowany telefon
  • Zainstalowany emulator terminala
  • Busybox

I zalecają:

  • Włączone USB Debugging (ja nie miałem i nie wiem czy potrzebna jest ta opcja)

Należy pamiętać ogólnie, że im lepszy telefon – tym lepiej. Ja mam Motorolę Atrix 4G i działa to całkiem nieźle, chociaż zapewne na mocniejszych telefonach można już używać bez spadków wydajności.

Jaki system mogę odpalić?

Lista dystrybucji wspieranych przez Linux Install Complete
Lista dystrybucji wspieranych przez Linux Install Complete© Mój screenshot

Aktualnie wspieranych jest (przez LinuxOnAndroid) 6 systemów, jednak na Sourceforge jest ich trochę więcej (jednak są to obrazy w wersjach Alpha):

  • Ubuntu (w wersjach 13.04 i 13.10)
  • Debian (w wersji Lenny [5] i Jessie [Wersja rozwojowa, Debiana - 8])
  • Arch Linux
  • Kali Linux
  • Fedora (19)
  • OpenSuse (12.3)

W wersjach Alpha:

  • Ubuntu (14.04)
  • Bodhi (2.4.0)
  • Slackware (14)
  • Backtrack

Osobiście przetestowałem Debiana w wersji Testing i Ubuntu 13.10 – działają bardzo dobrze.

Jak zainstalować system na telefonie?

W zasadzie należy pobrać aplikację LinuxOnAndroid i postępować zgodnie z „Install Guides” (Poradnik instalacyjny), dzieli on się na 4 strony

Pierwsza informuje co jest potrzebne i zalecane do uruchomienia systemu.

Druga daje linki skróty do obrazu z systemem i programów (osobiście polecam się wstrzymać z VNC).

Trzecia informuje co się stanie po włączeniu systemu.

Ostatnia jak połączyć się przez VNC i jak wyłączyć systemem.

Jak już pobierzemy i rozpakujemy system (zalecam tutaj na kartę MicroSD go rozpakować) – W zakładce „Launch” wskazujemy gdzie jest obraz, nazywamy go – i dajemy „Start Linux” by zabootować

System dzięki sumie kontrolnej md5 (która jest w pliku zip) sprawdzi czy obraz został poprawnie rozpakowany, jeśli tak – uruchomi się system.

Debian po zabootowaniu
Debian po zabootowaniu© Mój screenshot

VNC kontra X11

To może być ciekawa walka – nie robiłem benchmarków, chociaż wydaje mi się, że Serwer X działa wydajniej z naszym systemem. Dodatkowo jest „płynne” sterowanie myszką (VNC działa „przeskokowo” - kursor zmienia pozycję po kliknięciu lewym przyciskiem myszy). Raz udało mi się pod serwerem X odpalić klawiaturę ekranową (nie wiem jak) + Serwer X11 ma dużo możliwości konfiguracji w zakresie rozdzielczości czy skalowania.

Ja używam „Xserver XSDL”, który został pobrany z Google Play.

Konfiguracja Linuksa (Debiana)

  1. To są ogólne informacje na temat konfiguracji systemu

Warto zmienić strefę czasową, bo na „standardowej” zegar jest o 2 godziny cofnięty (tzdata).

  1. Jeśli komuś przeszkadza angielski, może system spolszczyć.
  1. Nie każde środowisko od razu „współpracuje z serwerem X” - ja stworzyłem plik „e”, który uruchamia Enlightenmenta na serwer X.

env DISPLAY=127.0.0.1:0 enlightenment_start

Dodatkowo samo środowisko ma (po doinstalowaniu locales-all) możliwość „spolszczenia” się.

Nie mam dźwięku, a urządzenia na USB nie działają

To jest dość „nieznany” problem, którego doświadczyłem i sobie poradziłem.

Potrzebujemy dodać (wymagana jest konsola Androida i Root) linijkę, która „zbinduje” (zrobi skrót) katalog /dev z Androida, do katalogu /dev w Debianie.

Pod komentarzem (Mount all required partitions) w pliku /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh

Należy dodać

*$bbox mount --bind /dev $mnt/dev

if [ $? -ne 0 ]; then error_exit "Unable to mount $mnt/dev!"; fi*

Jeśli po wpisaniu tego i uruchomieniu Linuksa – nie działa dźwięk (a np. drukarka tak), to znaczy, że dźwięk się samoczynnie wycisza

Debian wykrył drukarkę
Debian wykrył drukarkę© Mój screenshot

*#!/bin/sh

while [ neverendingloop=1 ] ;

do

sleep 2s

if amixer cget numid=27 | grep values=off > /dev/null 2>&1

then

amixer set -c 0 EPDAC unmute > /dev/null 2>&1

amixer set -c 0 HSLDAC unmute > /dev/null 2>&1

amixer set -c 0 HSRDAC unmute > /dev/null 2>&1

amixer set -c 0 "CPCAP Mixer Stereo DAC" unmute > /dev/null 2>&1

fi

done*

Jest to kawałek kodu (mojego), który ma wyłączyć wyciszanie (w Atriksie) – Może zadziałać w twoim smartfonie, ale nie musi [może wymagać dostosowania] (Trzeba za pomocą alsamixer zobaczyć, które kanały są wyciszone, włączyć jakiś odtwarzacz muzyki – i sprawdzać)

Na sam koniec - podsumowanie

Debian z Enlightenment (w wersji 17) na moim telefonie
Debian z Enlightenment (w wersji 17) na moim telefonie© Mój screenshot

Czy warto mieć Linuksa pod ręką? Moim zdaniem tak. Przede wszystkim to bardzo rozbudowany system, ma wiele ciekawych programów, których nie doświadczymy na czystym Androidzie (jak Gimp, czy OpenJDK) – i działa. Oczywiście warto mieć klawiaturę i myszkę (Bluetooth, lub jakiegoś Lapdocka), by się przyjemnie z niego korzystało. Jeśli jednak twój Android spełnia wszystkie funkcje, których oczekujesz – może nie być sensu instalacji pingwina.

Ciekawe kto doszedł do końca tekstu i go to zaciekawiło ;)

Do zobaczenia! Wyczekuj kolejnych wpisów na blogu ;)

Źródło artykułu:WP Gadżetomania
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (18)