Ubuntu TouchをNexus7にインストールする

提供: Akionux-wiki
Share/Save/Bookmark
移動: 案内検索

概要

Nexus 7(2013)へUbuntu Touchにインストールする。

インストールしてみたものの、X.orgが使えないことや日本語入力ができないことなど実用化するには不備が多いので元に戻した。

ちなみに、アンロックすると、

  • メーカーのサポートが受けられなくなる
  • デバイス内のデータが消える

ということが起こるので、必要なデータのバックアップを取った上で、リスクを承知した上で自己責任で行なうこと

Linuxマシンの準備

Ubuntu系のLinuxマシンのaptのソースにubuntu-sdk-teamを追加する。

Ubuntu 14.04.1 LTSなら、/etc/apt/sources.listへ次の行を追加:

deb http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu trusty main 
deb-src http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu trusty main 

アップデートと必要なパッケージのインストール:

sudo apt-get update
sudo apt-get install ubuntu-device-flash
sudo apt-get install phablet-tools

デベロッパーモードにする

Nexus7で、設定→タブレット情報のビルド番号を7回タップする。

USBデバッグを有効にする

設定→開発者向けオプションで「USBデバッグ」を有効にする。

adbで接続を確認する:

% adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
xxxxxxxx	device

データのバックアップ

Linuxマシン側で以下のコマンドを実行:

adb backup -apk -shared -all

Nexus7側で「フルバックアップ」というのがでるので、「データのバックアップ」を選択すれば、バックアップし始める。 カレントディレクトリへbackup.abという名前のバックアップファイルができる。

必要なデバイスの情報をメモする

次のコマンドでデバイスタイプとビルドIDをmydevicedataというファイルへ出力しておく。

 adb shell grep ro.product.name /system/build.prop > mydevicedata \
&& adb shell grep build.id /system/build.prop >> mydevicedata \
&& adb shell grep ro.product.device /system/build.prop >> mydevicedata

mydevicedataに以下のような内容が出力される:

% cat mydevicedata   
ro.product.name=razor
ro.build.id=LMY47V
ro.product.device=flo
# ro.build.product is obsolete; use ro.product.device

アンロック

Ubuntuをインストールするには、Nexus7を"Unlock"する必要がある。 "Unlock"した時点で、Nexus7のデータは全て消えるので要注意である。

まずブートローダーモードで再起動させる:

adb reboot bootloader

これでNexus7はドロイド君が横たわった画像と上部に緑色で「Start」と出た画面になる。

接続を確認する:

% fastboot devices
xxxxxxxx	fastboot

次のコマンドでアンロックを実行。

sudo fastboot oem unlock

Nexus7側で"Unlock bootloader?"という質問が出るので"Yes"を押す。タッチパネルが効かないので、ボリュームボタンで選択し、電源ボタンで決定する。

Nexus7をリブートする。

% fastboot reboot
rebooting...

finished. total time: 0.005s

リブートにはしばらく時間がかかる。

インストール

まず、Nexus7の電源を切る。

https://source.android.com/source/building-devices.html#booting-into-fastboot-modeの自分のデバイスタイプに応じたボタンの押し方でブートローダーを起動する。 floの場合は、ボリュームダウンを押しながら電源ボタン長押し。

Channel selection guideを参考に選択したチャンネルでUbuntuをインストールする。 次の例ではdevel(開発版)を選択する:

ubuntu-device-flash touch --channel=ubuntu-touch/devel/ubuntu --bootstrap

リブート後、Ubuntu Touchが起動する。

元に戻す

Factory Images for Nexus Devicesからイメージをダウンロードする。

イメージを解凍し、解凍でできたディレクトリへ移動する。

tar xvf razor-lmy47v-factory-a58e6175.tgz
cd razor-lmy47v

Ubuntu Touchデバイスで「システム設定」→「端末情報」→「開発者モード」で「開発者モード」を有効にしておく。「開発者モード」を有効にするには、「ロックとセキュリティ」でパスコードかパスフレーズを設定しておく必要がある。 「開発者モード」を有効にした後、Ubuntu TouchデバイスをUSBで繋ぐ。

パソコン側で接続を確認する:

% adb devices
List of devices attached 
xxxxxxxx	device

ブートローダーモードで再起動させる:

adb reboot bootloader

flash-all.shスクリプトを実行すれば、Ubuntu Touchが消去されてAndroidがインストールされる。

./flash-all.sh

バックアップデータから復元する

Nexus7でUBSデバッグを有効にしてから、バックアップ時にできたbackup.abのあるディレクトリに移動し、次のコマンドを実行する:

adb restore backup.ab

Nexus7で「データを復元する」をタップする。

もし元のようにロックしたいならば、以下のようにする。

fastboot oem lock
fastboot reboot

References