Android 10で密かに搭載され、Android 11で正式に開発者向けオプションに追加された「DSU Loader」ですが、この機能を使用することで、GSI(Generic System Image)を端末に焼かずに起動することが可能となりました。
ただ、その手順はそこそこややこしいコマンドを入力する必要があり、また、GSIを圧縮する手間も必要と、正直手軽とはいえませんでした。
その面倒な手順を自動で行ってくれるアプリが「DSU-Sideloader」です。以前の記事で使用しましたが、せっかくなので少し肉付けして単体の記事として紹介します。GSI導入前の動作確認などに非常に便利です。
端末側の条件
- Android 11以降を搭載
- Project Treble対応(対応しているかはアプリで確認可能)
- ブートローダーアンロック済み
基本的にはこの条件を満たせば可能ですが、すべての端末で動作するとは限りません。
また、OSはAndroid 11以降としましたが、DSU Loader自体はAndroid 10の時点で搭載されており、以下のコマンドで有効化できます。ただし、動作確認は行っておりませんので今回は対象外としています。動作した場合にはぜひコメントで情報いただけると助かります。
adb shell setprop persist.sys.fflag.override.settings_dynamic_system true
【非Rootの場合】USBデバッグを有効化しておく
最後にADBコマンドを入力する必要があるため、事前にAndroid端末側の設定で「USBデバッグ」を有効化しておいてください。
root権限があれば端末のみで実行可能
root権限があればすべての処理がAndroid端末のみで完結させることができます。今回の記事の内容はブートローダーアンロックが必須となっているため、合わせてMagiskを導入してRoot化しておくと良い思います。
スポンサーリンク
注意
GSIにはかなり多くの種類があり、AOSPやカスタムROMはもちろん、メーカーの独自UIを移植したGSIも存在します。ただし、これらの一部には全く起動しないものも多く含まれており、私はXiaomi端末(Mi 11)でこれらをDSU Loaderで読み込ませるとMIUIも起動しない状態となりました。
1年くらい前の話のなので、今は修正済みかもしれません。
何かしら対処法はあるのかもしれませんが、私が試した限りでは全く起動しなかったためやむを得ず初期化を行いました。おそらくXiaomi端末に限った話だとは思いますが、いずれにしてもデータのバックアップは忘れずに取りましょう。
ダウンロード
DSU-Sideloader
今回使用するアプリです。以下のリンクから「app-release.apk」をクリックしてダウンロードし、Android端末にインストールします。
スポンサーリンク
GSIのダウンロード
起動したいGSIをダウンロードします。先日正式リリースされたばかりのAndroid 12LのカスタムROMのGSIも存在しますし、その他カスタムROMもほぼすべてのGSIが存在します。
特に決まっていない場合、以下のリンクに多くのGSIがまとめられているのでこちらから探すのがおすすめです。
Android公式のGSI(Beta版)
Android 12LやAndroid 13など、最新OSのベータ版はGSIでもリリースされています。ただし、Pixelシリーズのものと異なり、アイコンやテーマ周りのカスタマイズは含まれず、AOSPのアプリに加えてGMSのみが追加されたものになります。
以下のリンクはAndroid 13
GSI関連の単語
GSIの開発にかなり貢献している開発者であるPhusson氏のGSIなどで使用されている単語です。意味は私の勝手な解釈なので、もしかしたら一部違う箇所もあるかもしれません。もしあったらコメントにて情報をいただければと思います。
単語 | 意味 |
---|---|
arm / arm32 / arm64 / x86 | アーキテクチャのこと。端末のCPUに応じて選択します。 最近のほぼすべてのAndroid端末はarm64ですが、確認したい場合は 「CPU-Info」などのアプリで確認できます。 |
GMS / GApps | GooglePlayなどのGoogle製アプリを含むものに記載されています。 最近は記載がなくても含まれているものが多い印象です。 |
Secure | root権限が含まれないGSIに記載されています。とは言え、このROMでもMagiskを導入すればroot化は可能。 |
Vndklite | この記載のあるGSIはsystemファイルの書き込み等が可能です。 ただし、機種によっては不可能な場合もあります。DSU Loaderでは必要ないです。 |
floss | 「Free/Libre and Open Source Software」の略。 GAppsの代わりにオープンソースのストアアプリ等が導入されています。 脱Googleをしたい方向け。 |
vanilla | GAppsやFlossのアプリを一切含まない純粋なGSI。 |
slim | 基本的にGAppsを含むROMで使われる単語です。GooglePlay関連など、最低限のGoogleアプリのみ搭載している、ということです。 |
省略表示されている場合も多い
以下のように、アルファベット3文字で表される場合も多いです。
1文字目 | a:A Only(A/Bパーティション非搭載)機種用 b:A/Bパーティション搭載機種用 |
2文字目 | v:GAppsなど非搭載(Vanilla) g:GAppsを含む |
3文字目 | S:Superuser(要はroot権限)を含む N:root権限なし(Non rooted) |
他にもあったら是非コメント欄で教えてください。
使用したGSI
今回の記事ではGSIの開発にかなり貢献しているPhusson氏の開発するAOSPのGSIを使用しました。端末にはLegion Y700(Android 11)を使用しています。今回はテスト用途での起動だったので、容量の一番少ないARM64のGSI「system-squeak-arm64-ab-vanilla.img.xz」を選択しました。バージョンは記事作成時点でAndroid 12バージョンの最新版「AOSP 12.0 v402」です。
なお、現在はAndroid 12L(12.1)版もリリースされています。
スポンサーリンク
GSIを起動するまでの手順
GSIのダウンロードが完了したら、ファイルを解凍して中の.imgファイルを取り出し、Android端末へコピーします。
root化している場合には、GSIのダウンロードもAndroid端末のみで行うことでPC不要で起動可能です。
なお、拡張子が「.xz」「.gz」の場合はそのままでもAndroid側で読み込めますが、解凍処理に時間がかかるためPCで解凍しておくのがおすすめです。
DSU-Sideloaderを開き、初期設定を行います。
作業用フォルダの指定を求められるので、適当なフォルダを作成して指定します。「dsu」などわかりやすい名前にしておきましょう。
root権限を取得している場合、ここで権限を求められるので許可しましょう。
初期設定が完了したら、一番上の項目をタップし、先程ダウンロードしたGSIを選択します。
GSIを選択したら「DSUでGSIをインストール」をタップ。確認が表示されるので内容を確認して「進む」をタップ。すると右のように処理が進みますのでしばらく待ちます。
DSU-Sideloderの処理が完了すると、以下のようにADBコマンドが表示されるので、これをパソコンで入力します。
非Rootの場合はパソコンでコマンドを実行後、Root化している場合は処理が完了すると、以下のように通知バーに進捗状況が表示されます。完了したら右側のような表示になりますので、「再起動」をタップすることでGSIを起動できます。
GSIが簡単に起動
今回はほぼ純粋なAOSPのGSIなので、以下の画面となりました。カスタムROMの使い勝手や機能、また、機種ごとの不具合の有無などを確認できます。
スポンサーリンク
GSIのインストール・起動に失敗してしまう場合
インストールに失敗してしまう場合は以下を確認しましょう
- 既に別のGSIをインストールしていないか
→別のGSIをインストールしている場合は通知から「破棄」をタップし削除すれば改善すると思われます。 - system.imgのアーキテクチャが間違っていないか
→機種に応じて適切なGSIを選択しましょう
DSU Loaderへのインストール完了後、GSIへ再起動しても正常に起動しない場合は以下を確認しましょう。ちなみに、DSU Loaderは稀に起動に失敗することがあり、何度か試すと改善する場合もあるので数回は試すことをおすすめします。
- system.imgのアーキテクチャが間違っていないか
→機種に応じて適切なGSIを選択しましょう - GSIは正常に動作するものを使用しているか
→独自UIを移植したGSIは起動しないものが多いです。AOSP GSIなどを使用し原因の切り分けを行いましょう。
コメント
コメント一覧 (1件)
[…] 自分は、最終的に残念な結果となってしまいましたが、LineageOSの起動自体はできました。DSU Loaderを試したりもしてみたんですが、setpropができなかったので断念しました。ブートループ […]