Ubuntu auf dem Galaxy Tab

Aus einer dummen Idee heraus, bin ich auf die Idee gekommen, Ubuntu auf meinem Galaxy Tab zu installieren.
Nach ein bisschen rumgoogeln bin ich auf die Seite der xda-developers gestossen, mit einer mehr oder weniger funktionstüchtigen Lösung:

Alles was man braucht ist ein gerootetes Galaxy Tab. Weiter muss das folgende installiert werden:

  • Busybox
  • Superuser
  • AndroidVNC
  • Terminal Emulator

Und natürlich noch das wichtigste: die Core-Dateien von hier

Zum kopieren wird das SDK und die darin enthaltene Datei adb verwendet. Bei su muss das Tab entsperrt sein und die Anfrage auf dem Display berechtigt werden:

cd C:/sdk/plattform-tools
adb.exe shell
su
cd /sdcard/
mkdir ubuntu
exit

Nun könnten die Daten rüberkopiert werden. Jedoch, aus welchen Gründen auch immer, versucht das Skript bootlinux das Image als ext4 zu mounten, was das Tab dummerweise gar nicht unterstützt… Also muss das zuerst noch angepasst werden:

#modprobe ext4
mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
if [ ! -d /data/local/ubuntu ]
then
mkdir /data/local/ubuntu
fi
export mnt=/data/local/ubuntu
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
mknod /dev/loop5 b 7 0
losetup /dev/block/loop5 /sdcard/ubuntu/ubuntu.img
mount -t ext2 /dev/block/loop5 /data/local/ubuntu
#mount -o loop,noatime -t ext4 $kit/ubuntu.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "Created by KellyLewis3985 and BThomas22x! "
echo "Brought to you by Team Viper! "
echo " "
chroot $mnt /bin/bash

#After exit command is executed clear it all up
echo " "

echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc 
umount $mnt/sys 
umount $mnt

Nun können die Dateien rüberkopiert werden. Und keine Panik, das Image dauert etwas länger ;):

adb.exe push bootlinux /sdcard/ubuntu
adb.exe push fsrw /sdcard/ubuntu
adb.exe push mountonly /sdcard/ubuntu
adb.exe push ubuntu.sh /sdcard/ubuntu
adb.exe push unionfs /sdcard/ubuntu
adb.exe push ubuntu.img /sdcard/ubuntu

Nun kommt nochmal adb.exe shell zum Einsatz:

cd /sdcard/ubuntu
sh ./ubuntu.sh
bootlinux

Und schon läuft Ubuntu auf dem Tab. Ich habe mir noch Openssh-server installiert, damit ich immer wieder darauf zugreifen kann:

apt-get install openssh-server
/etc/init.d/ssh restart

Und erstaunlicherweise wird das Tab nicht merklich langsamer 🙂

Wer nun will, der kann sich noch einen VNC-Server einrichten, damit er das GUI benützen kann, der muss diesen auf dem Linux zuerst einrichten:

rm -rf /tmp/.X*
export USER=root
vncserver -geometry 1280x800

Danach kann über AndroidVNC verbunden werden:

Der Nickname ist „root“, das Passwort „ubuntu“ und das alles unter „localhost“ über Port 5901:

Vielleicht gibt es bald eine Lösung mit Dualboot, das wär cool 😀 Denn die Netbook-Edition stell ich mir noch ganz angenehm vor auf dem Tablet… Oder was denkt ihr? Würdet ihr bei Android bleiben, wenn es eine passende Ubuntu-Version gäbe?

4 Kommentare bei „Ubuntu auf dem Galaxy Tab

    1. Nun bedingt macht es schon Sinn. So gibt es zum Beispiel kein Metasploit für Android, was über Ubuntu auf dem Android zwar nicht wirklich schön, aber gelöst werden kann 😉

  1. Ich hab einmal Debian auf meine HTC Hero installiert. Funktioniert hat es, aber leider viel viel zu langsam. Auf einem Tablet kann ich es mir aber sofort vorstellen. Ich hab leider nur ein iPad und hier würde eine ordentliche Linux Distri schon sehr viel bringen: Flash, OpenSource Apps, dateimanager, office Suite,……

  2. Unity auf dem Pad und Gnome3 auf dem Desktop wäre meine Traumkombination. Dann nur noch die Dateien zwischen den Geräten automatisch synchronisieren und die Welt ist perfekt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.