Ubuntu Phone for Nexus One brought to you by Evervolv
Prereq:
Intro:
How it works:
Building:
Whats working:
Install:
---Download:
---Insert sdcard and mount
---Unzip installer tools
---Copy the ubuntu rootfs to sdcard
---Install android images
---Bootup
---Once booted
---Navigation
---Caveats
To get back to regular android
Prereq:
Sdcard with sd-ext part. i.e. A second partition formated as ext4 and AT LEAST 1.5GB FREE space
Micro sdcard reader for pc.
Linux pc with sudo access. NO WINDOWS PCs
Will work on any hboot (including stock)
Intro:
Ubuntu is ~1GB so we must install to the sdcard. Instead of ****ing with a2sd
I have just modified the ramdisk to mount mmcblk0p2 (sdcard second partition)
directly to /data. The 'copy-tarball' script will push the ubuntu rootfs to the
proper location which is mounted as /data/ubuntu. The perms on this folder must
be correct or it will not boot, therefore no windows (unless someone gets it
working).
How it works:
Ubuntu did a fantastic job making this easy. Essentially all that is happening
is it boots android sans gui. During the bootup a service called ubuntu_chroot
runs which exports some vars, bind mounts some things, then chroots /data/ubuntu
and starts the ubuntu init process. From there the prebuilt ubuntu takes off.
Building:
The android side is now based on Evervolv v3.2.0 every device we support
can run ubuntu with minor changes.
to get source:
Code:repo init -u git://github.com/Evervolv/android.git -b jellybean-ubuntuphone repo sync
Whats working:
Wifi, Browser, THAT IS IT. It is slow, very very alpha.
Only install if you are curious.
Install:
---Download:
Grap the latest installer script, and android image from http://archive.evervolv.com/ubuntuphone/
Ive also uploaded the ubuntu rootfs i used to test it, you can try the latest nightlies but if they dont work download the latest ubuntu rootfs from above url
---Insert sdcard and mount
Most distros will automount. In that case just figure out what folder its in
e.g. /run/media/drew/blablabla
If not just open in in nautilus and figure out what folder its in.
---Unzip installer tools
Code:
$ cd ~/Downloads
$ unzip ev-nexusone-ubuntu-tools-1.zip
$ cd ev-nexusone-ubuntu-tools
---Copy the ubuntu rootfs to sdcard
Code:
# adjust paths accordingly.
$ bash copy-tarball.sh quantal-preinstalled-phablet-armhf.zip /run/media/drew/blablabla
---Install android images
like any other rom, fastboot update package and flashable zip available
no wipe needed
---Bootup
There is no bootanimation, just black screen. It might take up to 5 minutes to boot ubuntu. If you think it is stuck. Check logcat and dmesg
$ adb logcat -C
->> check for repeating errors
$ adb shell dmesg
->> check repeating errors e.g.
<6>[ 181.698364] init: ubuntu-session state changed from starting to pre-start
<6>[ 181.698608] init: ubuntu-session state changed from pre-start to spawned
<6>[ 181.715667] init: ubuntu-session main process (724)
<6>[ 181.716003] init: ubuntu-session state changed from spawned to post-start
<6>[ 181.716583] init: ubuntu-session state changed from post-start to running
post full logcat and dmesg
---Once booted
Code:
#swipe right to unlock
#drag down on network icon and connect to network (confirmed wpa2 personal works)
#use adb to set timezone and install ssh
$ adb shell
root@android:/ # ubuntu_chroot shell
#change to yours
root@localhost:/# echo "America/Chicago" > /etc/timezone
root@localhost:/# dpkg-reconfigure --frontend noninteractive tzdata
root@localhost:/# apt-get update
root@localhost:/# apt-get install openssh-server
# set reasonable hostname
root@localhost:/# echo n1 > /etc/hostname
# get out and reboot
root@localhost:/# exit
root@android:/ # exit
$ adb reboot
# do NOT reboot from within ubuntu chroot you must reboot from android
#connect ssh password phablet
ssh phablet@n1
enjoy full command line goodness on your phone
phablet@n1:~$ lsb_release --all
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
phablet@n1:~$ uname -a
Linux n1 2.6.38.8-evervolv-perdo-jellybean #1 PREEMPT Sun Feb 24 16:34:07 CST 2013 armv7l armv7l armv7l GNU/Linux
---Navigation
Softbuttons (home/menu/back/search) dont work and wont. ubuntu is swipe based and these would only inhibit usage
swipe up from bottom to get to app specific menu
swipe up from bottom to about halfway up screen untill you see the button (see last screenshot) to get to main menu (where you can close apps)
---Caveats
Allways keep it plugged in. There is no power management
Screen stays on all the time, and there is no way to turn off the device
except through adb.
To get back to regular android
boot recovery and run nandroid or flash latest evervolv nightly (or whatever)
Attachments
Last edited: