Difference between revisions of "Ubuntu Touch on Google Nexus 4"

From Cactus Howto
Jump to navigationJump to search
Line 25: Line 25:
tim@itsecorg:~$ adb devices
tim@itsecorg:~$ adb devices
List of devices attached
List of devices attached
008bbd79e094c7a4 device
00000000xxxxx device
tim@itsecorg:~$ wget http://humpolec.ubuntu.com/latest/dualboot.sh
tim@itsecorg:~$ wget http://humpolec.ubuntu.com/latest/dualboot.sh
tim@itsecorg:~$ chmod 755 dualboot.sh
tim@itsecorg:~$ chmod 755 dualboot.sh
Line 37: Line 37:
100 5861 100 5861 0 0 10104 0 --:--:-- --:--:-- --:--:-- 10105
100 5861 100 5861 0 0 10104 0 --:--:-- --:--:-- --:--:-- 10105
Rebooting to bootloader
Rebooting to bootloader

< waiting for device >
(snip)
downloading 'boot.img'...

OKAY [ 0.839s]
booting...
OKAY [ 0.003s]
finished. total time: 0.842s
Waiting for recovery to boot
Creating update command
Booting back to bootloader
< waiting for device >
downloading 'boot.img'...
OKAY [ 0.685s]
booting...
OKAY [ 0.002s]
finished. total time: 0.687s
Waiting for sideload to boot
sending: 'sideload' 100%
Wait for installation of package to complete
If you are asked to preserve possibly lost root access
Or if device should be rooted
This is false warning and yuou can answer either yes or no
Rebooting to bootloader
< waiting for device >
downloading 'boot.img'...
OKAY [ 0.803s]
booting...
OKAY [ 0.003s]
finished. total time: 0.806s
Waiting for recovery to boot
Creating update command
Booting back to bootloader
< waiting for device >
downloading 'boot.img'...
OKAY [ 0.819s]
booting...
OKAY [ 0.002s]
finished. total time: 0.822s
finished. total time: 0.822s
Waiting for sideload to boot
Waiting for sideload to boot

Revision as of 20:38, 20 January 2014

Nexus 4 Dual Boot Android/Ubuntu Touch

Main source: https://wiki.ubuntu.com/Touch/DualBootInstallation

General information: https://wiki.ubuntu.com/Touch/ReleaseNotes

Please note that development is currently (January 2014) still in alpha state. Do not expect this to be a fully working operating system.

  • Install tools on Ubuntu Desktop:
sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

Starting Upgrade on Ubuntu Desktop

tim@itsecorg:~$ adb kill-server
tim@itsecorg:~$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
tim@itsecorg:~$ adb devices
List of devices attached 
00000000xxxxx	device
tim@itsecorg:~$ wget http://humpolec.ubuntu.com/latest/dualboot.sh
tim@itsecorg:~$ chmod 755 dualboot.sh 
tim@itsecorg:~$ ./dualboot.sh FULL
Connect device to install Ubuntu installer to.
Detected connected Nexus 4
FULL install
Downloading SU package
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5861  100  5861    0     0  10104      0 --:--:-- --:--:-- --:--:-- 10105
Rebooting to bootloader

(snip)

finished. total time: 0.822s
Waiting for sideload to boot
sending: 'sideload'  100%    
Wait for installation of package to complete
tim@itsecorg:~$
Starting upgrade process on phone
  • On the device, press the apps button in Android to bring up the list of apps
  • Browse the apps to find the Ubuntu Installer icon and press it to start the app
  • When the app launches, press on Choose channel to install and choose a channel to download from (the recommended channel is Trusty)
  • Error message: ubuntu-boot.img is not a correct image
  • Once download is completed you need to Grant SU permissions to the application for the install to be successful. Press the Grant button, when prompted.
  • Error can not access /cache/system - no such file or directory (2); Missing update command
  • Press the Reboot to Ubuntu button to boot to Ubuntu. A standard phone reboot with the hard key will always boot to Android.

This first worked on 2014-01-17 with Ubuntu Touch 14.04.

root@ubuntu-phablet:/# uname -a
Linux ubuntu-phablet 3.4.0-3-mako #21-Ubuntu SMP PREEMPT Tue Oct 8 13:11:48 UTC 2013 armv7l armv7l armv7l GNU/Linux
root@ubuntu-phablet:/# cat /etc/ubuntu-build 
132
root@ubuntu-phablet:/#

Connecting to the device at shell level

  • connect device to ubuntu desktop via usb
  • check connection status
tim@itsecorg:~$ adb devices
List of devices attached 
008bbd79e094c7a4	device
tim@itsecorg:~$
  • start shell
adb shell

Problems encountered

  • Bluetooth does not work
  • Enter key does not work in Terminal App
  • openssh-server is installed but does not start

changing password

Remount root fs rw (for update to /etc/shadow):

mount -o remount,rw /

Run passwd command

passwd phablet


Problem with this: dualboot app in touch does not work any more since the password seems to be hard-coded.

getting sshd to work

mkdir /var/run/sshd
chmod 755 /var/run/sshd
service ssh start
cd /home/phablet
mkdir .ssh
chmod 700 .ssh

Add your pub key to authorized keys:

vi .ssh/authorized_keys

Change acl:

chmod 400 .ssh/authorized_keys 
chown -R phablet:phablet .ssh
  

ssh as phablet now works:

macantha:.ssh tim$ ssh phablet@touch
Welcome to Ubuntu Trusty Tahr (development branch) (GNU/Linux 3.4.0-3-mako armv7l)
* Documentation:  https://help.ubuntu.com/
Last login: Sun Jan 19 11:29:41 2014 from macantha.fritz.box
phablet@ubuntu-phablet:~$

Problem - this does not seem to be boot-resistant. The directory /var/run/sshd vanishes. So the following commands need to be added to the boot process:

Remount root fs rw:

mount -o remount,rw /

Add the following lines to /etc/rc.local (before exit cmd)

mkdir /var/run/sshd
chmod 755 /var/run/sshd
service ssh start

How to become root / use sudo?

  • as phablet user simply use "sudo su -"
  • Whenever you're asked for a password, it's phablet.

Various commands on Ubuntu touch

dpkg -l     - lists all installed packages
click list  - lists installed click packages
pkcon install xxx   - installs click package
pkcon search name xxx - searches for package containing xxx

Installing Apps not listed

root@ubuntu-phablet:~# pkcon install thunderbird
Installing                    [=========================]         
Waiting in queue              [=========================]         
Starting                      [=========================]         
Loading cache                 [=========================]         
Querying                      [=========================]         
Running                       [=========================]         
Loading cache                 [=========================]         
Installing packages           [                         ] (0%)  
The following packages have to be installed:
 libstartup-notification0-0.12-3ubuntu1.armhf	library for program launch feedback (shared library)
 thunderbird-1:24.2.0+build1-0ubuntu1.armhf	Email, RSS and newsgroup client with integrated spam filter
Proceed with changes? [N/y] y

                              [=========================]         
Installing                    [=========================]         
Waiting in queue              [            ==           ]         The daemon crashed mid-transaction!
root@ubuntu-phablet:~#