Plasma MobileのベースシステムをLineage OSかAOSPに移行
以前紹介した「Plasma Mobile」のベースシステムでは、「CyanogenMod」が利用されていました。しかし「CyanogenMod」のサービス終了を受け、「Plasma Mobile」のベースシステムが後継の「Lineage OS」か「AOSP」に移行するとのことです。
CyanogenModベースシステム
まず「Plasma Mobile」登場時の状況とベースシステムの遷移を見てみます。プロトタイプの登場とUbuntu Touchのベースシステム
直近のAkademyにて、Plasmaチームは新しいPlasma Mobileのプロトタイプを披露した。Plasma Mobileは既存の様々なOSスタック上で動作するように設計されている。
今のところ、Plasma Mobileのリファレンスイメージは、Ubuntu Touchをベースにしている。
Ubuntu Touchは、Androidのハードウェア抽象レイヤーを活用し、ハードウェアを活用するバイナリードライバー及びその他プロプライエタリーサービスを利用するため、LXCコンテナー内のAndroidシステムを起動する。
我々はPlasma Mobileのリファレンスイメージを作成するため、Ubuntu Touchのrootfsを入手し、そこからUnity/Mirパッケージを削除し、KDE Framewrok 5、kwin_wayland、Plasmaをインストールし、その上で動作するアプリケーション群もインストールした。
最初にベースにしたUbuntu Touchのバージョンは、Ubuntu 15.04である。
Ubuntu Touchから分岐
我々のイメージのベースはUbuntu Touchから分岐し始めた。例えば、libhybrisをアップストリームのバージョンへとアップグレードした。
libhybrisはAndroidのドライバーとOSを仲介するライブラリーである。
libhybrisを利用すれば、Androidのドライバー上でWaylandを構築することができる。
Ubuntuのアーカイブにあるlibhybrisは、アップストリームから分岐し、様々な変更が加えられている。
アップストリームで行われた実装に追従しきれておらず、互換性のない変更がAPIに対し行われている。
そのため、libhybrisをアップストリームのバージョンへとアップグレードする必要がああった。
Qtのバージョンもより新しいバージョンへとアップグレードした。
また我々は、ベースシステムをUbuntu 16.04へとアップグレードする必要があった。
これは最新のKDE Framewrok 5とPlasmaをUbuntu 15.04へ移植するには、十分なリーソスがなかったためだ。
Ubuntu TouchからCyanogenmodベースへ
早い話我々は、モバイルデバイス上で我々のOSスタックを動作させられるかどうか挑戦したかったのだ。我々は要件の分析及び精査を行った後、以下のベースシステムをピックアップした。
- Cyanogenmod/AOSP(Android Open Source Project) ベースのAndroidシステム
- chrootもしくはコンテナー内で動作するUbuntu/Neonシステム
この新しいシステムは、我々に素晴らしい優位性をもたらす。
- Plasma Mobileスタックを様々なOSで簡単に動作させることができる
- 理論上は、Cyanogenmodがサポートしているデバイス上でPlasmaを起動できる
- PlasmaからAndroidを制御できる
Androidのchroot内でLinuxシステムを動作させる方法は色々ある。
例えばLinux Deploy Androidアプリケーションはそのうちの1つだ。
しかしこの方法は完全なAndroidシステムを必要とし、GUIを表示するのにVNCビューワーやそれに類似した方法が必要になる。
我々は完全なKWin/Waylandセッションを動作させたかったため、この方法は取れなかった。
我々は最終的にLXC for androidに行き着いた。
LXC for androidにより、Android上のコンテナー内でLinuxシステムを動かすことができる。
この新しいベースシステム上でPlasma Mobileを構築する方法は、以下を参照して欲しい。
CyanogenMod
「CyanogenMod」はAndroidベースのOSであり、スマフォやタブレット向けのOSです。オープンソースで開発されています。
CyanogenModは夜更け過ぎに、Lineage OSへと変わるだろう
2016年も終わりに近づいた頃、クリスマス休暇中に突如「CyanogenMod」を含む同社のすべてのサービスの終了がアナウンスされました。「CyanogenMod」のコミュニティーはこのアナウンスを受け、「CyanogenMod」をフォークし「Lineage OS」プロジェクトを立ち上げました。
そして「Plasma Mobile」も同サービス終了を受け、「Plasma Mobile」のベースシステムの移行を余儀なくされました。
「Plasma Mobile」は、「CyanogenMod」のソースツリーとカーネルを最小構成のAndroidシステムを生成するために利用しており、Nexus 5(hammerhead)の移植に使用しています。
「CyanogenMod」のソースツリーとカーネルは現在GitHubで公開されていますが、「CyanogenMod」のサービスが終了となった今、ソースコードのアップデート等も含め先行きは不透明です。
そこで「Plasma Mobile」は、以下の方針を打ち出しました。
1.Lineage OSへ移行
現在Lineage OSはCyanogenModと機能が1:1で対応しており、移行にあたり多くの作業を必要としない。2.AOSPへ移行
AOSP上のCMによって提供される余分な機能が不要になる。AOSPへの移行により多くの作業が必要になると思われるかもしれないが、そうでもない。
実際Nexus 5X (bullhead)への移植では、「CyanogenMod」に代わりに「AOSP」をベースとしている。
とのことです。