Linux na Androidzie

Linux na Androidzie24.05.2014 13:46
Jan Nowak

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).

Źródło zdjęć: © Logo Linux4Android
Źródło zdjęć: © 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, Źródło zdjęć: © Mój screenshot
Lista dystrybucji wspieranych przez Linux Install Complete
Źródło zdjęć: © 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, Źródło zdjęć: © Mój screenshot
Debian po zabootowaniu
Źródło zdjęć: © 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ę, Źródło zdjęć: © Mój screenshot
Debian wykrył drukarkę
Źródło zdjęć: © 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, Źródło zdjęć: © Mój screenshot
Debian z Enlightenment (w wersji 17) na moim telefonie
Źródło zdjęć: © 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
Wybrane dla Ciebie
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.