テクニカルプア

備忘録と若干の補足

Plasma Active on Nexus7

 Plasma Active(http://plasma-active.org/)をNexus7上で動かしたというおはなし。

Plasma Activeとは何ぞやというのは上のPlasma Activeの本家サイトをご覧ください。

手順

 インストールはまずブートローダカーネルをNexus7にインストールし、その後Plasma Activeのシステムをインストールするという流れになる。

 まずインストールの前にTWRPとかで既存システム全体のバックアップを作成し、母艦PCなどにそれをコピーしておく。Plasma ActiveをインストールするとNexus7の記憶領域は全て削除されてしまい、リカバリ領域からもとの環境へ戻そうとしてもデータが消滅してしまっているのでどうしようもなくなってしまう。

 バックアップが終わったらインストールに必要なイメージファイルなどをhttp://files.kde.org/plasma/active/3.0/images/nexus7/よりもってくる。インストールに必要なものは

  • moslo-nexus7-0.0.15.3.tar.gz
  • plasma-active-nexus7-testing-mer-latest-2013-01-07.tar.bz2

の2つ(2013年03月06日現在。日付部分ないしバージョン部分が変わっていてもこの名前のファイルをもってくれば間違いはないはず)。ダウンロードしたら、moslo-nexus7のほうを展開し、展開先ディレクトリへ移動する。

 次に端末側の準備、まずNexus7の電源を落とし、音量調整キーを上下両方とも押したまま電源キーを押し、fastbootモード(ドロイド君が腹を開けて寝っ転がってるアレ)に落ちる。fastbootモードに落ちたらNexus7をPCとUSBケーブルで接続し、以下を実行。

$ sudo fastboot erase boot
$ sudo fastboot -c "ro console=tty1 rootwait rootfstype=ext4" flash:raw boot zImage-moslo initrd-moslo

 ブートイメージとカーネルを焼き終わったらNexus7の電源キーを押す(PCと接続したまま)。するとNexus7が再起動し、しばらく待っているとNexus7が外部記憶領域としてPCに認識される。そうなったらすかさず dmesg などを使い、Nexus7のデバイス名を調べる。今回は/dev/sddとなっていたので、以下では/dev/sddをNexus7のデバイス名として話を進めていく(適宜置換のこと)。

 まずNexus7上にファイルシステムを作成する。

$ sudo mkfs.ext4 /dev/sdd

 ファイルシステム作成後、適当なディレクトリへマウントし、そこへ移動する。

$ sudo mount /dev/sdd /mnt
$ cd /mnt

このマウントしたディレクトリへPlasma Activeのシステムを流し込んでいく。

$ sudo tar xvf /<当該ファイルへのパス>/plasma-active-nexus7-testing-mer-latest-2013-01-07.tar.bz2
$ sync

 作業が終了したらNexus7をアンマウントする。

$ cd ~/
$ sudo umount /mnt

 アンマウントが成功したらUSBケーブルを引き抜けば自動的にNexus7が再起動する。が、どういう仕組みになっているのかよくわからないのだが、システムをブートさせるよりも前にリカバリ領域を読みにいってしまい、Plasma Activeよりも先にTWRP(などのリカバリ用プログラム)が起動してしまう。システムからきちんとブートさせるために、Nexus7をfastbootモードで起動後ブートイメージを焼き直す。

$ sudo fastboot erase boot
$ sudo fastboot -c "root=/dev/mmcblk0p9 ro console=tty1 rootwait rootfstype=ext4" flash:raw boot zImage-moslo
$sudo fastboot reboot

これでリカバリ領域からではなくシステムからブートするようになる。

f:id:aaodsn:20130306233924p:plainインストールしたてのホーム画面(?)

雑感

 使用した感じだが、さすがにAndroid 4.2.2などと比較すると悲しくなるものの動作はすこぶる軽快。UIは統一感があり、かっこいい。

だがハードウェアキーボード(microUSBで接続するタイプのやつ。Bluetooth接続のキーボードは所持していないので試していない)を認識してくれない、仮想キーボードの出現・消失タイミングが謎であるなど不便な点もある。

またPlasma ActiveにはGUIのパッケージマネージャがないようなのだが、実はzypperがデフォルトでインストールされており、これでパッケージの管理を行える。仮想キーボードを使う必要があるので若干不便だが馴染みのあるlinux*1を操作しているようで楽しい。

全体的には面白いものだと思う。ただし(これは仕方のない事なのだが)発展途上の感が否めない。

参考

*1:もちろんAndroidだってlinuxベースだしPlasma Activeの中核であるMerもlinuxベースであることは認識している