Jak zainstalować Ubuntu na HTC Desire
Tłumaczenie poradnika znajdującego się tu . Poradnik oparty na podstawie tego dla Nexus One .
Modyfikację można wykonać za pomocą Windows 7 na ROMach CyanogenMod 5.0.8 i Defrost2.0c (przetestowane i działające w 100%, zachęcam do testowania na innych ROMach). ROM jest ważny dla powodzenia instalacji Ubuntu.
Praktycznie wszystkie kroki zostały zaczerpnięte z poradnika zedomaxa.
Przygotowania:
Najpierw trzeba pobrać plik ubuntu.zip i rozpakować go:
:Megaupload: :FileFactory:
Teraz potrzebujemy zmodyfikowanego skryptu aktualizacji od zedomaxa, który znajduje się
tutaj .
Nadpisujemy plik bootbuntu znajdujący się wśród wcześniej rozpakowanych plików tym przed chwilą pobranym.
Właściwa instalacja:
Najpierw potrzbujemy zrootowanego Desire. Zedomax mówił, że potrzeba busyboxa w wersji przynajmniej 1.16.1, ale na Defroscie 2.0c (Busybox 1.16.0) też działa, więc możemy śmiało zignorować ten punkt.
Skoro mamy już już zrootowany telefon z Androidem, będziemy mogli uruchomić Ubuntu pod chrootem (chroot to w uproszczeniu uruchomienie systemu pod innym systemem) 🙂
Kopiujemy te sześć plików z ubuntu.zip na kartę SD, pod folderem o nazwie ubuntu
Uruchamiamy telefon w trybie Recovery i podłączamy go do komputera przez USB.
Zakładając, że mamy już Androidowe SDK (które jest wymagane podczas rootowania telefonu), uruchamiamy Wiersz poleceń (cmd.exe), wchodzimy do katalogu tools (domyślna ścieżka: C:\AndroidSDK\Tools) i uruchamiamy adbshell.exe.
Po wejściu do ADB Shell, powinniśmy zobaczyć znak #. Świetnie, zacznijmy więc bootować Ubuntu.
Teraz wpisujemy do ADBShell: mount system, a następnie mount sdcard. Jeśli wyświetli się komunikat:"mount: mounting /dev/block/mmcblk0p1 on /sdcard failed: Device or resource busy", zignorujcie go, karta jest już zamontowana.
Teraz wpisujemy: cd /sdcard/ubuntu
Teraz wpiszemy serię komend zamiast korzystania ze skryptu (jeśli pojawią się błędy, łatwiej je rozpoznamy. Wpisujemy komendę po komendzie zatwierdzając enterem:
rm /system/bin/fsrw <=(prawdopodobnie pojawi się błąd, ignorujemy go)
rm /system/bin/bootubuntu <=(prawdopodobnie pojawi się błąd, ignorujemy go)
rm /system/bin/unionfs <=(prawdopodobnie pojawi się błąd, ignorujemy go)
rm /system/bin/mountonly <=(prawdopodobnie pojawi się błąd, ignorujemy go)
cp -f fsrw /system/bin
cp -f bootubuntu /system/bin
cp -f unionfs /system/bin
cp -f mountonly /system/bin
cd /sdcard/ubuntu
chmod 4777 * <=(prawdopodobnie pojawi się błąd, ignorujemy go)
cd /system/bin/
chmod 4777 *
cd /
umount sdcard
umount system
exit
Teraz wybieramy opcję "Reboot system now" z menu Recovery. Kiedy uruchomi się Android, będziemy musieli jeszcze raz uruchomić ADB Shell.
Wpisujemy su, aby wejść do trybu superusera, to konieczne do poprawnego uruchomienia Ubuntu, więc pamiętajmy o tym.
Wpisujemy:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mkdir /data/local/mnt
Po tym kroku, wpisujemy bootbuntu do chroota lub bootujemy do naszego nowego Ubuntu na Androidzie.
Jeśli otrzymamy tekst: root_localhost:/#, właśnie uruchomiliśmy Ubuntu na HTC Desire. Jeśli nie, powtórz czynności z poradnika, byc może coś zrobiłeś nie tak (nawet samemu autorowi poradnika się nie udawało)
Najtrudniejsza część za nami! Od teraz, kontynuujemy zabawę wg poradnika dla Nexus One, aby uzyskać dostęp do pulpitu Gnome.
Robimy graficzny interfejs użytkownika na naszym telefonie:
Zedomax preferuje linię komend i nie lubi GUI, które pobiera więcej pamięci i wolniej działa, ale my przecież lubimy różne eyecandies! 😃
Aby skorzystać z GUI, musimy najpierw pobrać
Android VNC Viewer w postaci pliku *.apk. Po pobraniu na telefon instalujemy jak każdą inną aplikację pod Androidem.
Teraz musimy pobrać nieco plików za pomocą linuksowego narzędzia apt-get. Wracamy więc do chrootowego Ubuntu i wpisujemy:
apt-get update
[i]//aby zaktualizować pakiety Ubuntu[/i]
apt-get install tightvncserver
[i]//aby zainstalować TightVNCServer[/i]
apt-get install lxde
[i]//aby zainstalować LXDE[/i]
export USER=root
vncserver -geometry 1024×800 [i]//Możemy ustawić na 800x480, ale ponoć wyższa rozdzielczość sprawuje się nieźle, a nawet lepiej, bo więcej elementów mieści się na ekranie[/i]
[i]//po ostatniej komendzie podajemy hasło do programu VNCServer - wystarczy nam np. "123123123"[/i]
Teraz dodamy powyższą komendę do /root/.vnc/xstartup za pomocą polecenia cat:
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Teraz naciskamy dwa razy CTRL+D tak, żeby w linii komend pojawiło się ^D^D.
Teraz uruchamiamy Android VNC na naszym Desire i wpisujemy hasło, które podaliśmy parę kroków wcześniej, a port ustawiamy na 5901.
Teraz wystarczy nacisnąć "Connect" i powinniśmy zobaczyć ekran GNome z Ubuntu!
Teraz skonfigurujmy nasze Ubuntu tak, aby serwer VNC uruchamiał się sam za każdym razem kiedy uruchamiamy Ubuntu:
Trzeba dodać trochę kodu do pliku /root/.bashrc, który jest przetwarzany przy każdym starcie Ubuntu:
cat > front
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1024×800
Po tych komendach znowu naciskamy dwa razy CTRL+D i zatwierdzamy ENTERem.
Teraz powiążemy zrobiony przez nas front i /root/.bashrc do nowego pliku o nazwie temp:
cat front /root/.bashrc > temp
Potem kopiujemy nowy plik nadpisując stary /root/.bashrc:
cp temp /root/.bashrc
Teraz pozostaje nam nic innego jak tylko sprawdzić czy możemy wyjść z Ubuntu - wpisujemy exit, i czy możemy znowu je uruchomić - wpisujemy bootbuntu.
Od tej pory za każdym razem kiedy będziemy uruchamiać Ubuntu, VNCServer uruchomi się automatycznie.
Najważniejsze: Możemy korzystać z dowolnego Terminala na Androida (np. Terminal Emulator), aby wejść do Ubuntu wpisując komendy:
su
bootubuntu
Tak więc nie potrzebujemy ADB Shell, ani niczego innego, wystarczy nam tylko poprawnie skonfigurowany Ubunciak i Desire!
Problemy z mapowaniem klawiszy rozwiązać można tu (angielskie forum): [DEV] [HACK] Ubuntu Running on Nexus One! - xda-developers