This is a modified version of the Tutorial found here:
http://androlinux.com/android-ubuntu-development/how-to-install-ubuntu-on-android/
I had to do things a bit different to get it to work correctly.
Custom Kernels using /data to sd/ext WILL NOT WORK! The /data/local directory MUST be on the internal data partition.
These are the few things you will need to install Ubuntu in chroot on your Galaxy Prevail:
-Rooted device
-Busybox 1.19.4(I used this version for testing so I know it works)
-Android VNCServer(free)
-Android Terminal Emulator(free)
-Access to a computer w/ adb
-Samsung USB drivers
-At least a 4gb of free space on your SD card(fat partition)
-KoumaKernel_2.5 or Stock Kernel
(I reccomend Kouma Kernel. The overclock makes a big difference and MUST be in SSM mode or DEFAULT)
Ok here we go:
-First, download the following Ubuntu.zip file (from a preferred mirror), unzip and copy over the whole ubuntu directory to the SD card of your Android smartphone/tablet device:
Download AndroidUbuntu/ubuntu.zip at DownloadAndroidROM.com
(Turn USB storage ON then copy over the Ubuntu folder to the root directory of your SD card.)
1) Again, make sure you have your Android smartphone/tablet “rooted”!
2) You must have
Android SDK installed or have access to adb.exe.
3) Make sure your Android phone/tablet is in debugging mode. Go to
Settings->Applications->Development and make sure USB Debugging is checked ON.
4) Connect your Android device to your computer via USB cable and set the USB mode to “Just Charge”.
5) Your Android device should be recognized as “ADB Device” under Device Manager. If not, install appropriate drivers.
6) Open up a command prompt by typing “cmd” under
Start->Search programs and files.
7) Browse to your SDK directory where you installed the Android SDK or adb.exe:
8) Type “adb devices” to double-check your Android device is recognized.
9) Type “adb shell” to enter the Android shell.
Then type “su” to enter super user mode, then type “cd /sdcard” and “cd ubuntu” to enter the ubuntu directory in your SD card of your Android device.
10) Next, type “sh ubuntu.sh” to run the script which will basically get your Ubuntu image ready to run on your Android smartphone/tablet.
If you get error messages, don’t worry and keep going.
11) Type “bootubuntu” to enter Ubuntu. (Next time you enter Ubuntu, you just need to type “bootubuntu” from your
/sdcard/ubuntu directory, no need to run
ubuntu.sh again.
-If you got “root@localhost” at this point, congratulations! This means your Android OS comes with loop device support and Ubuntu is now running “chrooted” on top of your Android OS!!!
-However, if you failed at this point, your Android OS probably doesn’t support loop devices, try installing another ROM or compiling your own kernel with loop device support
-Now what you will want to do it edit your sources.list so you can update and install packages.
-So in terminal type: "cd /etc/apt"-Then type: "cat > sources.list", then hit enter and add these repos:
(Enter them one at a time and be sure to hit enter after each)
deb
Index of /ubuntu karmic main restricted
deb-src
Index of /ubuntu karmic main restricted
deb
Index of /ubuntu karmic-updates main restricted
deb-src
Index of /ubuntu karmic-updates main restricted
deb
Index of /ubuntu karmic universe
deb-src
Index of /ubuntu karmic universe
deb
Index of /ubuntu karmic-updates universe
deb-src
Index of /ubuntu karmic-updates universe
deb
Index of /ubuntu karmic multiverse
deb-src
Index of /ubuntu karmic multiverse
deb
Index of /ubuntu karmic-updates multiverse
deb-src
Index of /ubuntu karmic-updates multiverse
deb
Index of /ubuntu karmic-security main restricted
deb-src
Index of /ubuntu karmic-security main restricted
deb
Index of /ubuntu karmic-security universe
deb-src
Index of /ubuntu karmic-security universe
deb
Index of /ubuntu karmic-security multiverse
deb-src
Index of /ubuntu karmic-security multiverse
-Then hit Ctrl D twice to save edited the file. (If using android terminal emulator use: Vol_dn+D)
Now your safe to update and install packages. So your next step is to install the rest of the necessary packages you need for this to work.
-So nowin terminal type:"apt-get update"
-Now in terminal type:“apt-get install openssh-server”
-Once openssh-server install is complete, type:"apt-get install tightvncserver"
-After type:"export LANG=en_US.UTF-8"
(This will ensure that the native language is english)
-Next, we will install LXDE (Lightweight X11 Desktop Environment). Although we can use Ubuntu’s default GNOME, LXDE takes up less memory so our GUI access will be faster. (If you like GNOME, you can skip this step though)
-So in terminal type:"apt-get install lxde"
-Next, let’s setup xstartup file so that when TightVNCServer is started, the LXDE runs instead of GNOME:type “cat > /root/.vnc/xstartup”
Then type:
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Then hit Ctrl+D twice.
-Now, let’s start the TightVNCServer:
Type “export USER=root”, enter
Then: “vncserver -geometry 1024×800", enter
(Here, you can change the resolution settings 1024×800 to the resolution of your liking). You will be prompted to make a view-only password, chose no, then create your desktop access password(remember this, you will need it for VNC connection).
Now your TightVNCServer is ready to accept any incoming connections from your phone or computer. Just point to the correct IP address and use port number 5901 to connect.
-Now on your phone, just download the free app “Android-VNC-Viewer” and set the IP address to “127.0.0.1″ and port number 5901, type in the password you set in terminal to connect.
UbuntuARM.png
Ubuntu Karmic Koala w/GNOME running on HoneyBread6/K.K.2.5(SSM w/swap), 946mhz
I would like to thank AndroLinux for the supplied Ubuntu.img and original Tutorial, and Google for helping me solve the problems that were for preventing me from getting this to work. As well as Kouma for his OC/SSM Kernel & most of all The Prevail Community, for all of the break throughs and work that made this possible on our little phones.
If You'd Like to donate: (Not sure why the link wont display correctly)
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=FSBHTCE4ZMYEQ&lc=US ¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donat e_SM%2egif%3aNonHosted