Install

Differences between revisions 85 and 87 (spanning 2 versions)
Revision 85 as of 2014-02-10 11:05:20
Size: 16277
Editor: 212-41-81-133
Comment: Added note about universe repository
Revision 87 as of 2014-02-18 23:24:49
Size: 14708
Editor: 22-113-127-94
Comment:
Deletions are marked like this. Additions are marked like this.
Line 61: Line 61:
}}}

On Ubuntu 12.04, you will also need to run:
{{{
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
Line 121: Line 126:
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:
||'''ubuntu-system'''|| * '''official images'''<<BR>> * system is read-only <<BR>> * updates are done over-the-air <<BR>> * supports multiple channels ||
||'''community'''|| * if you have a community supported build, you can use this to flash it to your device ||
||'''cdimage-touch'''|| * '''deprecated'''; previous official images <<BR>> * read-write by default <<BR>> * no OTA update ||
||'''cdimage-legacy'''|| * '''deprecated'''; old pre-flipped images <<BR>> * boots into Android and launches Ubuntu bits as a container (current images do the opposite) ||


To bootstrap on the `devel` channel or reinstall afresh (wiping everything) the recommended command is:
{{{
    phablet-flash ubuntu-system --channel devel --bootstrap
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 ubuntu-device-flash with a command and some flags; see `ubuntu-device-flash --help` for a list of commands `man ubuntu-device-flash` for additional usage information.

To bootstrap on the `devel` channel or reinstall afresh (wiping everything) the recommended command is to
be run from the bootloader
:
{{{
    ubuntu-device-flash --channel devel --bootstrap
Line 138: Line 137:
Note that there are other channels available:
|| '''channel''' || '''description''' ||
|| `devel` || alias to current development channel (`trusty`) ||
|| `devel-proposed` || alias to -proposed version of development channel (`trusty-proposed`) ||
|| `devel-customized` || alias to -customized version of development channel (`trusty-customized`) ||
|| `trusty` || latest development image which passed QA ||
|| `trusty-proposed` || latest development image before QA ||
|| `stable` || alias to current stable channel (saucy) ||
|| `saucy` || stable channel ||
Note that there are other channels available, to see them, run:
{{{
ubuntu-device-flash --list-channels
}}}
Line 162: Line 155:
First run of phablet-flash on a newly rooted and developer-enabled device:
{{{
    phablet-flash ubuntu-system --channel devel --no-backup
}}}

For the '''deprecated''' cdimage-touch images, use:
{{{
    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 ubuntu-system --channel devel-proposed
}}}

or, for the '''deprecated''' images:
{{{
    phablet-flash cdimage-touch --pending
Running bleeding edge / untested images while keeping user data:
{{{
    ubuntu-device-flash --channel devel-proposed
Line 189: Line 162:
    phablet-flash ubuntu-system --no-backup
}}}

or, for the '''deprecated''' images:
{{{
    phablet-flash cdimage-touc
h --wipe
}}}

If you have a '''nexus 7 3G''', pass `-d grouper`:
{{{
    phablet-flash ubuntu-system --no-backup -d grouper
}}}

You can mak
e your device read-write (a "developer mode") to allow editing system files directly. Doing this will stop your device from being updated, and is not recommended unless you're developing Ubuntu itself.
{{{
    adb shell touch /userdata/.writable_image && adb reboot
    ubuntu-device-flash --wipe
}}}

If you have a '''nexus 7 3G''', pass `-d grouper` while booted into the bootloader:
{{{
    ubuntu-device-flash --bootstrap -d grouper
}}}

You can ma
ke your device read-write (a "sytem image developer mode") to allow editing system files directly. Doing this will stop your device from being updated, and is not recommended unless you're developing Ubuntu itself.
{{{
    phablet-config writable-image
Line 222: Line 190:

If you didn't assign revision, you will get information like "INFO:phablet-flash:Flashing revision 100 from channel saucy" as installing. If you want to install other version, you can do
{{{
    phablet-flash ubuntu-system --channel saucy --bootstrap --revision 99
or
{{{
  ubuntu-device-flash --channel trusty
}}}

If you want to install other version, you can do
{{{
    ubuntu-device-flash --channel saucy --revision 99

Warning /!\ Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.

Instructions for flashing a phone or tablet device with Ubuntu

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

"Touch Developer Preview for Ubuntu" is released for free non-commercial use. It is provided without warranty, even the implied warranty of merchantability, satisfaction or fitness for a particular use. See the licence included with each program for details.

Some licences may grant additional rights; this notice shall not limit your rights under each program's licence. Licences for each program are available in the usr/share/doc directory. Source code for Ubuntu can be downloaded from archive.ubuntu.com. Ubuntu, the Ubuntu logo and Canonical are registered trademarks of Canonical Ltd. All other trademarks are the property of their respective owners.

"Touch Preview for Ubuntu" is released for limited use due to the inclusion of binary hardware support files. The original components and licenses can be found at:

https://developers.google.com/android/nexus/drivers

What to expect after flashing

For detailed information check the release notes

  1. Shell and core applications
  2. Connection to the GSM network (on Galaxy Nexus and Nexus 4)
  3. Phone calls and SMS (on Galaxy Nexus and Nexus 4)
  4. Networking via Wifi
  5. Functional camera (front and back)
  6. 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 here.

Warning /!\ Note: We currently do not support the newer '2013' Nexus 7.

Device

Codename

Factory firmware from Google

Status

Galaxy Nexus

maguro

takju or yakju

Stable (build #100)

Nexus 4

mako

occam

Stable (build #100)

Nexus 7

grouper

nakasi or nakasig

Pre-release

Nexus 10

manta

mantaray

Pre-release

Community support devices

Whilst Canonical provides images for the above Nexus devices, other devices may be supported. They are listed on the Devices wiki page.

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.

Set up the Touch Developer Preview Tools PPA

The PPA has the tools and dependencies to support Precise, Quantal, Raring and Saucy. 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

On Ubuntu 12.04, you will also need to run:

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

Then do the following:

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

Note: This requires that you have Universe repository enabled.

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.
  2. The device will boot into the bootloader.
  3. Plug the device into the computer via the USB cable.
  4. On your computer, press Ctrl+Alt+T to start a terminal. Type sudo fastboot oem unlock, followed by Enter

  5. On the device screen, accept the terms of unlocking.
  6. 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.
  2. In fastboot mode.. use the volume keys to scroll to Recovery and the power button to select it.
  3. 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.
  4. 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
  2. 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

  3. 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.
    • In some cases, the device will continue to show offline, and the host key popup will not appear if the USB connection method is 'MTP' (default for some devices and versions of Android). Unchecking all options in the USB connection method (Settings -> Storage -> Menu -> USB computer connection -> MTP, PTP) seems to resolve this adb connection issue for some users.

  4. 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 ubuntu-device-flash with a command and some flags; see ubuntu-device-flash --help for a list of commands man ubuntu-device-flash for additional usage information.

To bootstrap on the devel channel or reinstall afresh (wiping everything) the recommended command is to be run from the bootloader:

    ubuntu-device-flash --channel devel --bootstrap

Warning /!\ This step can take a very long time.

Note that there are other channels available, to see them, run:

ubuntu-device-flash --list-channels

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) take time. Pogress is normally shown in the terminal. Some screens on the device seem to require input, but they actually don't: Just wait.

    • However, Nexus 10 may prompt "ROM may flash stock recovery on boot. Fix?". Here it seems you have to select "+++Go back+++" on the tablet screen (using tablet buttons).
  • 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

Running bleeding edge / untested images while keeping user data:

    ubuntu-device-flash --channel devel-proposed

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

    ubuntu-device-flash --wipe

If you have a nexus 7 3G, pass -d grouper while booted into the bootloader:

    ubuntu-device-flash --bootstrap -d grouper

You can make your device read-write (a "sytem image developer mode") to allow editing system files directly. Doing this will stop your device from being updated, and is not recommended unless you're developing Ubuntu itself.

    phablet-config writable-image

If you have a device which is already flashed and you've made it read-write as above ("developer mode"), but now want to re-enable OTA updates (go back to read-only):

    adb shell rm /userdata/.writable_image
    adb shell system-image-cli --build 0

If you have a device which is already flashed and you've made it read-write, and want to update it and keep your data and retain read-write mode

    adb shell system-image-cli --build 0

Switch from Saucy to Trusty

    adb shell system-image-cli --channel trusty -b 0

or

   ubuntu-device-flash --channel trusty

If you want to install other version, you can do

    ubuntu-device-flash --channel saucy --revision 99

Restoring Android

The Ubuntu Touch Preview image is not for everyone and may not suit your current needs (yet). The images can be found here. If you wish to roll back to an Android factory image, follow these steps:

  1. Recall the version that was installed before flashing.
  2. Download the factory image corresponding to your device's model and version (initial table has links).
  3. Ensure the device is connected and powered on.
  4. Extract the downloaded file and cd into the extracted directory.
  5. run adb reboot-bootloader

  6. 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.
  2. The device will boot into the bootloader.
  3. Plug the device into the computer via the USB cable.
  4. 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

  • Get the hardware specific zip and img files for your device from the Ubuntu cdimage server here, i.e. for a Nexus7 this is trusty-preinstalled-touch-armel+grouper.zip

* Install the bootloader, recovery and system images using the android fastboot tool

adb reboot fastboot
fastboot flash recovery trusty-preinstalled-recovery-armel+grouper.img
fastboot flash boot trusty-preinstalled-boot-armhf+grouper.img
fastboot flash system trusty-preinstalled-system-armel+grouper.img
  • Boot your device into recovery mode

adb reboot recovery
  • Copy the zip file to the /sdcard/ directory naming it "autodeploy.zip" on the device using adb

adb push /path/to/your/downloaded/trusty-preinstalled-touch-armel+grouper.zip /sdcard/autodeploy.zip
  • Reboot into recovery mode

(This will install the file you copied in the previous step)

adb reboot recovery
  • Make sure you are in recovery mode again for the second step
  • Get the trusty-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/trusty-preinstalled-touch-armhf.zip /sdcard/autodeploy.zip
  • Reboot into recovery mode

(This will install the file you copied in the previous step)

adb reboot recovery
  • The device should automatically reboot into the Ubuntu Touch UI

Check version after install

Check the following files to know which version you installed:

Android Side

grep ro.build.date= /system/build.prop

Ubuntu Side

/var/log/installer/media-info (link to /etc/media-info)

or run this command:

$ system-image-cli --info

To see what version an image update would leave you at (without actually doing the update):

$ system-image-cli --dry-run

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 ask on Ask Ubuntu!

You can also:

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