新しいカーネル
Linux 6.18 · Google GKI
カーネルは、システムの中でハードウェアと直接やりとりする部分です。出荷時の古い版から、Google が配布する現在の版にそのまま移りました。だから Google のセキュリティ修正がそのまま届きます。MindOne に固有のものは、その上に読み込まれます。
非公式の Android · iKKO MindOne
カードサイズの端末に Android 17 を。メーカーのソースコードなしで。
iKKO MindOne は Android 15 で発売されましたが、その下の層は Android 12 世代のもので、先に進めるためのコードをメーカーは公開していません。ハードウェアに近いところから端末のソフトウェアを作り直し、いまは無料のコミュニティ版 Android である LineageOS で Android 17 が動いています。内蔵の仮想 SIM を除き、端末の機能はすべて使えます。毎日使っている自分のスマートフォンで、ほかの持ち主もインストールできる版を準備しています。
開発中 · 更新
いまの状況
Android 17
LineageOS 24 で、自分の MindOne で毎日使っています。
すべての機能に対応
内蔵の仮想 SIM を除きます。
ダウンロードは準備中
ソースコードはすでに GitHub で公開しています。
どんな仕事だったか
古い部品に新しい塗装をしたのではなく、ハードウェアに近い層から順に、すべてを現在の Android へ。
Android の下には、画面、カメラ、音声、モバイル通信を動かすソフトウェアの層があります。非公式の Android の多くはこの元の層をそのまま残し、上だけを入れ替えます。それは古い部品が新しいシステムに合わなくなるまでの話です。メーカーは、チップを新しい Android に載せるとき、自社のソースコードとチームでこの層を作り直します。ここではそれを外側から一人で行いました。Google の最新のカーネルと MediaTek がこのチップ向けに公開しているドライバから始め、残りは端末そのものを調べて埋めています。
このプロジェクトでしていること
Linux 6.18 · Google GKI
カーネルは、システムの中でハードウェアと直接やりとりする部分です。出荷時の古い版から、Google が配布する現在の版にそのまま移りました。だから Google のセキュリティ修正がそのまま届きます。MindOne に固有のものは、その上に読み込まれます。
デバイスツリー、出荷時のバイナリから復元
何かを動かす前に、基板に何が載っていてどうつながっているかをシステムに教える必要があります。メーカーはこの記述を公開していないので、端末の中にあったコンパイル済みのコピーから作り直しました。
自作の Android サービス:音声、センサー、位置情報、カメラ、動画
音声、センサー、位置情報、カメラ、動画は、元の非公開のものではなく、この端末のために書いたサービスを通ります。オープンなコードだから新しい Android に移せますし、改良もできます。
ドナー部品、ビルドする人が各自で取り出す
グラフィックスなど書き直せない一部の部品は、同じチップを積んだ新しい端末 — Samsung Galaxy A07 など — から借りています。どれも現在の Android 向けに作られた版です。
使える機能
内蔵の仮想 SIM を除き、端末の機能はすべて使えます。
どんな端末?
MindOne はクレジットカードほどの大きさのスマートフォンです。サファイアガラスの下に正方形の AMOLED、ヒンジで回転して自撮りにも使えるカメラが 1 つ。ここまで小さな端末はめったにありません。新しいソフトウェアで使い続ける理由はそこにあります。
これから取り組むこと
GitHub でのダウンロードと、一つずつ説明したインストール手順。その後の更新は端末のアップデーターアプリから届きます。Google アプリは含めず、追加する方法を案内します。
電池持ち、速さ、安定性。
Snap キーボードケース用の Android アプリと新しいファームウェア。キーの割り当てやヘッドホン出力を調整できるようにします。
Google のカーネル修正を出るたびに取り込み、今後の Android にもついていきます。長期的な目標は LineageOS の公式サポートです。
自分の端末にも入れられる?
まだです。そのままインストールできる版を準備しています。公開したら、このページからダウンロード先と MindOne への導入手順を案内します。
開発者の方へ
すべて GitHub でオープンなライセンスのもとに公開しています。端末がなお必要とする非公開のファイルはビルドする人が各自で取り出すもので、リポジトリには含めていません。
LineageOS 24 / Android 17。音声、センサー、GNSS、カメラプロバイダ、バイブレーターの自作 AIDL サービス、ツリー内の V4L2 Codec2 による動画、Rust によるモデム補助ツール。64 ビットのみ。lineage-23.2 ブランチには Linux 6.12 の Android 16 版が残っています。
Google の android17-6.18 GKI コアの上に載るデバイスモジュール、DTB/DTBO、Kleaf DDK のビルド。以前の android16-6.12 系列と android14-6.1 の移植も残しています。
免責事項
このページに書かれていることは、明示・黙示を問わずいかなる保証もなく現状のまま提供されます。ブートローダーのアンロック、パーティションの書き換え、ここからリンクしているツールの実行は、端末上のすべてのデータを消し、端末を恒久的に起動不能にする可能性があります。実行はご自身の責任と判断で行ってください。ここに書かれたことに従った結果として生じた損失や損害について、端末に対するものかどうかを問わず、著者は一切の責任を負いません。
小売で購入した端末での個人的な研究プロジェクトであり、1 台の個体で起きたことの記録です。iKKO および MediaTek とは無関係で、両社の承認も支援も受けていません。