Install

Differences between revisions 58 and 111 (spanning 53 versions)
Revision 58 as of 2013-09-17 08:38:43
Size: 13107
Editor: lool
Comment:
Revision 111 as of 2016-05-04 23:15:48
Size: 89
Editor: davidc3
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<Include(../Menu)>>

= Instructions for flashing a phone or tablet device with Ubuntu =

||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>||

{{attachment:App-dev-tablet-GoMobile.png}}

The Ubuntu Touch Developer Preview is intended to be used for development and evaluation purposes only. '''It is an experimental development snapshot that can potentially brick your device'''. It does not provide all of the features and services of a retail phone and cannot replace your current handset. This preview is the first release of a very new and unfinished version of Ubuntu and it will evolve quickly.

'''This process will delete all data from the device. Restoring Android will not restore this data.'''

== Disclaimer ==

<<Include(../Disclaimer)>>

== What to expect after flashing ==

For detailed information [[../ReleaseNotes|check the release notes]]

 1. Shell and core applications
 1. Connection to the GSM network (on Galaxy Nexus and Nexus 4)
 1. Phone calls and SMS (on Galaxy Nexus and Nexus 4)
 1. Networking via Wifi
 1. Functional camera (front and back)
 1. Device accessible through the Android Developer Bridge tool (`adb`)

= Supported devices and codenames =

The table below lists the supported devices and their corresponding factory images, should you want to switch back to Android. The images can be found [[https://developers.google.com/android/nexus/images|here]].

||'''Device'''||'''Codename'''||'''Factory firmware from Google'''||
||Galaxy Nexus||maguro|| [[https://developers.google.com/android/nexus/images#takju|takju]] or [[https://developers.google.com/android/nexus/images#yakju|yakju]]||
||Nexus 4||mako|| [[https://developers.google.com/android/nexus/images#occam|occam]] ||
||Nexus 7||grouper|| [[https://developers.google.com/android/nexus/images#nakasi|nakasi]] or [[https://developers.google.com/android/nexus/images#nakasig|nakasig]] ||
||Nexus 10||manta|| [[https://developers.google.com/android/nexus/images#mantaray|mantaray]] ||

= Flashing the device =

== Step 1 - Desktop Setup ==

The following steps are required on your desktop system that you'll need in order to flash and communicate with the device.

=== Setup the Touch Developer Preview Tools PPA ===

The PPA has the tools and dependencies to support Precise, Quantal, and Raring.
Add the Ubuntu Touch PPA by adding the following custom source list entry to your `/etc/apt/sources.list` file.

On your computer, press Ctrl+Alt+T to start a terminal.

{{{
sudo add-apt-repository ppa:phablet-team/tools
}}}

or if add-apt-repository is not available, append the following to your sources.list:

{{{
deb http://ppa.launchpad.net/phablet-team/tools/ubuntu [dist-codename] main
deb-src http://ppa.launchpad.net/phablet-team/tools/ubuntu [dist-codename] main
}}}
*Note: replace [dist-codename] with precise, quantal, raring or saucy.


Then do the following:

{{{
sudo apt-get update
sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot
}}}

== Step 1.5 - Optional Android Backup ==

 * If not enabled, enable developer mode, by tapping Settings -> About phone -> Build number (x 7 times)
 * If not enabled, enable usb debugging in Settings -> Developer options -> USB debugging
 * Execute on your computer $ adb backup -apk -shared -all

This should hopefully create backup.ab with all of your apps, OS, and data. Later, after reflashing with android (or rooting / unlocking) you will be able to use $ adb restore backup.ab to restore all of your data.

== Step 2 - Device unlock ==

If the device is already unlocked, skip to Step 3.
These steps will wipe all personal data from the device.
 1. With the device powered off, power on the device by holding the Power button + volume up + volume down.
 1. The device will boot into the bootloader.
 1. Plug the device into the computer via the USB cable.
 1. On your computer, press Ctrl+Alt+T to start a terminal. Type `sudo fastboot oem unlock`, followed by Enter
 1. On the device screen, accept the terms of unlocking.
 1. Boot the device by pressing the power button (pointed by an arrow with Start on the screen).

=== Device factory reset ===
If you get stuck in a bootloop rebooting the tablet after unlocking the bootloader... Here's what you do:
 1. During the bootloop.. hold the power button + volume up + volume down button simultaneously to get yourself back into fastboot mode as you were previously.
 1. In fastboot mode.. use the volume keys to scroll to Recovery and the power button to select it.
 1. In Recovery (Android robot on his back with a red triangle)... tap the volume up button and the power button simultaneously which will bring you into stock recovery. Again.. Don't hold the buttons, just tap them simultaneously. Also make sure you're holding the correct volume button. Up will be the volume key on the right.
 1. Once you're in Recovery.. perform a factory reset/data wipe and then reboot your tablet... you should now be back to the Welcome Screen.

== Step 3 - Initial Device Setup ==

Follow these initial steps on your device:
 1. If not booted, boot the device into Android
 1. Enable USB debugging on the device
  * on Ice Cream Sandwich (version 4.0) go to Settings and turn on USB Debugging (Settings > System > Developer options > USB debugging).
  * on Jelly Bean (versions 4.1 and 4.2) you need to enter Settings, About [Phone|Tablet] and tap the Build number 7 times to see the Developer Options.
  * on 4.2.2, (settings > about > tap on build number 7 times to activate the developer options menu item).
  * On either Android version you must then enable USB debugging via Settings > Developer options > USB debugging. You will also need to accept a host key on the device.
   * On the workstation-> adb kill-server; adb start-server
 1. Plug the device into the computer via the USB cable.
   * Depending on the installed Android version, a popup will show up on the device with the host key that needs to be accepted for the device to communicate with the workstation
   * Note, 'adb devices' should not show the device as 'offline'. If it does, unplug the device, run adb under sudo on the workstation (sudo adb kill-server; sudo adb start-server), then plug the device back in
 1. Save the version of the current image on the device, if on Android, to use as a reference to revert back to. The version can be found by going to Settings > About Phone > Build Number.

Newer Nexus 10s have not booted fully after developer mode was enabled. If this occurs boot into the bootloader and do "fastboot -w", then proceed to the next step.

== Step 4 - Downloading & Deploying Image to Device ==

To install the Ubuntu Touch Developer Preview on your device, you will need to execute the command below. Please note, this will wipe the contents of the device so ensure you have made a back-up. To install and get updates, you will have to run phablet-flash with a command and some flags; see `phablet-flash --help` for a list of commands `phablet-flash name-of-command --help` for a list of flags.

Currently available commands:
||`'''cdimage-touch'''`|| for developers who are working on the platform itself.<feff> Use if need to modify the system –read-write image ||
||`'''cdimage-legacy'''`||pre-flipped images; boots into the Android container before booting into Ubuntu, as opposed to the newer images that boot directly into Ubuntu without the Android container||
||`'''ubuntu-system'''`||for users/consumers & application developers –system is read-only. Updates are done over-the-air||
||`'''community'''`|| if you have a community supported build, you can use this to flash it to your device ||

/!\ Note: Also specify -b if you are using "cdimage-touch", so {{{ phablet-flash cdimage-touch -b }}} is a common invocation.


''Warning: This step can take a very long time.''

The -b performs a full bootstrap on the device. If the device is already unlocked it will carry on.
If you have already bootstrapped once and want to install a daily just do:

{{{
phablet-flash cdimage-touch
}}}

This will deploy the latest build onto your device. Your device should reboot into the Ubuntu Unity shell.

Notes:
 * '''Be patient''' - some steps like pushing the files over USB to the device take time. Just wait through any screens looking like input is required. Carefully read messgaes on the host and the device.
 * the files are saved in `Downloads/phablet-flash`.
 * If the deploy fails(ex boots to black screen), try wiping the /data partition on your device and redeploy
 * `phablet-flash` will '''not''' work unless you have booted your device (it must not be displaying the boot loader screen and "`adb devices`" should list your device).
 * if you get stuck at ' < waiting for device > ' and your phablet reboots into android, you may have to run phablet-flash under sudo


=== Further Examples ===

First run of phablet-flash on a newly rooted and developer-enabled device.

{{{
phablet-flash cdimage-touch -b
}}}

Conversion of device from cdimage-touch (flipped) to ubuntu-system (read only).

{{{
phablet-flash ubuntu-system
}}}

Running bleeding edge / untested images.

{{{
phablet-flash cdimage-touch --pending
}}}

or, for the read-only image..

{{{
phablet-flash ubuntu-system --channel=daily-proposed
}}}

Re-flash with a clean start, removing all apps and data.

{{{
phablet-flash cdimage-touch --wipe
}}}

or, for the read-only image..

{{{
phablet-flash ubuntu-system --no-backup
}}}

If you have a '''nexus 7 3G''', use this instead:

{{{
phablet-flash cdimage-touch -d grouper -b
}}}

= Restoring Android =

The Ubuntu Touch Preview image is not for everyone and may not suit your current needs (yet). The images can be found [[https://developers.google.com/android/nexus/images|here]]. If you wish to roll back to an Android factory image, follow these steps:

 1. Recall the version that was installed before flashing.
 1. Download the factory image corresponding to your device's model and version (initial table has links).
 1. Ensure the device is connected and powered on.
 1. Extract the downloaded file and cd into the extracted directory.
 1. run {{{adb reboot-bootloader}}}
 1. run {{{./flash-all.sh}}} (use {{{sudo}}} if lack of permissions on the workstation don't allow you to talk to the device).

If you want to lock the bootloader after restoring the factory image, follow these steps:

 1. Power on the device by holding the Power button + volume up + volume down.
 1. The device will boot into the bootloader.
 1. Plug the device into the computer via the USB cable.
 1. On your computer, press Ctrl+Alt+T to start a terminal. Type `sudo fastboot oem lock`, followed by Enter

Your device should boot into Android after the process is finished.

= Manual Download & Installation =

 * Boot your device into recovery mode
{{{
adb reboot recovery
}}}
 * Get the matching hardware specific zip for your device from the Ubuntu cdimage server [[http://cdimage.ubuntu.com/ubuntu-touch/daily-preinstalled/current/|here]], i.e. for a Nexus7 this is saucy-preinstalled-touch-armel+grouper.zip
 * Copy the zip file to the /sdcard/ directory naming it "autodeploy.zip" on the device using adb

{{{
adb push /path/to/your/downloaded/saucy-preinstalled-touch-armel+grouper.zip /sdcard/autodeploy.zip
}}}

 * Reboot into recovery mode

{{{
adb reboot recovery
}}}

 * Make sure you are in recovery mode again for the second step
 * Get the saucy-preinstalled-touch-armhf.zip file
 * Copy the zip file to the /sdcard/ directory naming it "autodeploy.zip" on the device using adb

{{{
adb push /path/to/your/downloaded/saucy-preinstalled-touch-armhf.zip /sdcard/autodeploy.zip
}}}

{{{
adb reboot recovery
}}}

 * After the final reboot the device should boot into the Ubuntu Touch UI


= Check version after install =

Check the following files to know which version you installed:

Android Side

{{{
/system/ubuntu_stamp
}}}

Ubuntu Side

{{{
/var/log/installer/media-info (link to /etc/media-info)
/etc/system-image/client.ini
}}}

= Need help? =

If you got lost somewhere, you found a bug or need some help, we're happy to help you. The Touch Developer Preview is put together by a community of many, who are eager to work together with you on this.

If you've got any troubles or questions with these installation instructions, there's a community willing to help: just [[http://askubuntu.com/questions/ask?tags=mobile|ask on Ask Ubuntu]]!

You can also:
 * Join us on '''IRC''' in [[http://webchat.freenode.net/?channels=ubuntu-touch|#ubuntu-touch]] on irc.freenode.net and/or
 * Join our '''mailing list''' by
  1. Joining the [[https://launchpad.net/~ubuntu-phone|ubuntu-phone team]] on Launchpad and
  1. Enabling the team mailing list at https://launchpad.net/~/+editemails
#refresh 0 https://developer.ubuntu.com/en/phone/devices/installing-ubuntu-for-devices/

Touch/Install (last edited 2016-05-04 23:15:48 by davidc3)