【ラズパイ】Raspberry Pi 4でAndroid端末を自作する【LineageOS】

Raspberry Pi

Androidタブレットをラズパイで自作

キッチンでもタブレット見ながら料理とかしたい・・・が事のキッカケ。在宅勤務が週3日くらいで導入されて夕飯をちゃんと作るようになったのですが(もともと料理は得意)、レシピや動画見ながら料理できる環境が欲しくなったのでキッチン用タブレットを設置することにします。さっさと中古タブレット買えばいいのかもしれませんが自作派としてはそれでは面白くないのでラズパイ4にLineageOSを導入してRasPadでAndroidタブレット化します。新しいバージョンがでたときにメーカーのバージョンアップを待つ必要ないですし車載化したり地デジ見られるようにしたりと自作の方が圧倒的に自由度高いですからね。

ラズパイにAndroid TVをインストールしてテレビで運用するならこちらをどうぞ◎

Raspad 3.0

最低限の構成がオールインワンになっているのってこれしかないんです。

ラズパイ+タッチスクリーンならAliExpressなどにもたくさんありますが10インチでスピーカーありはRaspadしかありません。早い話が10.1インチタッチ対応ディスプレイ+スピーカー+バッテリー+ケースです。ディスプレイを自分で手配すると専用ケースをぼったくりみたいな値段で買うか自作するかしかないのでバッテリー不要でもRaspadが一番合理的です。 組立はとても簡単、収まるところに収まるように作られています。ラズパイの素晴らしい後方互換性を考えるともしラズパイ5が発売されてもこのまま使えそうです。

中身はこんな感じ。画像左に見えているのがラズパイ4です。まさにラズパイのためのAll-in-oneタブレット化キットです。

Android 11 (LineageOS 18) の導入

ここではAndroidのカスタムROMであるLineageOS 18 (Android 11)を使います。

LineageOSはAndroidベースのカスタムROMでGoogleではなく有志がつくったものになります。そのLineageOSをKonsta氏がラズパイ用にBuildして配布してくれているので感謝しながら利用させてもらいます。ページ中ほどにダウンロードリンクがあるのでラズパイ用Android本体のlineage-18.1-[日付]-UNOFFICIAL-KonstaKANG-rpi4.zipをダウンロードしておきます。この記事の時点で2021年11月23日が最新版でした。新しいバージョンになっていれば適宜読み替えてください。

2021年10月にAndroid 12がリリースされてKonsta氏もラズパイ用のLineageOS 19のビルドをリリースしているのですが、OpenGAppsがまだAndroid 12をリリースしていません。Playストアが使えないAndroidは不便でしかないので現時点の最新版はAndroid 11となります。

SDカードにインストール

先ほどダウンロードした-KonstaKANG-rpi4.zipを解凍してできる.imgファイルをSDカードに書き込みます。ちょっと前ならbalenaEcharを使うところですが公式のPi Imagerが非常に使い勝手よくなったのでPi Imagerで進めます。

起動するとシンプルな画面が表示されます。

OSを選んで ⇒ 書き込み先を指定して ⇒ クリックするだけの親切設計。ダウンロードしたimgファイルを書き込むのでCHOOSE OSでは一番下のUse customから解凍してできた.imgを選択します。CHOOSE STRAGEでSDカードを選択、Writeを押すだけです。

Google謹製アプリの準備

みなさんおなじみのマップやPlay ストアなどはLineageOSには含まれません。というのもグーグルアプリをAndroidにバンドルして配布するためにはGoogle社のライセンスが必要なんです。大人の事情で非公式カスタムROMには含まれてないのですが、これまた頭のいいひとたちがOpenGAppsというプロジェクトを作ってくれています。

ARM64、LineageOS 18.1はAndroid 11、種類はpicoを選択して感謝しながらダウンロードします。

このあとopengappsをインストールするのですがsystem領域のサイズからstock(いわゆる工場出荷時)だと容量が大きくてerror 70で返されます。TWRPのwipeでクリアするなどいろいろな方法がありますがKonsta氏のビルドではsystemのサイズを大きくするより最低限の構成で容量が最も軽いpico、つまりPlayストアをインストールして後から手動で追加の方が楽で早いので我が家ではpicoにしています。

[追記] この記事を書いた後にKonsta氏のページでもpicoをインストールしてねと案内がありました。picoでplayストアのみ最初に入れて、あとから必要なアプリを入れていくほうが早くて安定のようです。

ラズパイでAndroid 11を起動

SDカードをラズパイにさして電源いれるだけ。もしここで起動しない場合は古いバージョンを試してみてください。相性というかワケワカラン理由で起動ループにはまることがあります。過去バージョンはKonsta氏のAndroid File Hostからダウンロードできます。rpi4となっているのが素のアンドロイドでrpi4-atvはAndroid TV用です。ちなみに経験上画面のちらつきなどで起動するのに見づらいってときは電源の容量不足の可能性が高いです。

起動時は英語になっているのでApps ⇒設定 (歯車) ⇒ Device Preferences ⇒ Language ⇒ 日本語にしておきます。

リカバリーモードで再起動

Android端末と違ってシステムの電源ボタンがないので見える化します。設定 ⇒ システム ⇒  詳細設定(ラズパイのマーク)⇒ Virtual buttons on navigation barを有効にします。物理的な電源ボタンや音量ボタンがない端末も想定して仮想ボタンをオンにする機能がついてます。スバラシイ。

お次はGAppsをインストールするためにリカバリーモードを有効にします。設定 ⇒ システム ⇒  ジェスチャー ⇒ 電源ボタンメニュー ⇒ 高度な再起動をONにします。

これで右下にポチッと見えてる電源ボタンから再起動 ⇒ リカバリーができるようになります。再起動の前にzipファイルのままのGAppsを移したUSBメモリをラズパイにさしておくのをお忘れなく。

GAppsのインストール

起動が完了すると見慣れない画面になりますので、Swipe to Allow Modificationsのスライダーを右までもっていきます。

リカバリーモードのホーム画面に移ったらMountを選択、zipファイルのままのGAppsを移したUSBメモリが刺さっていることを確認して、Boot、System、Data、USBの4つを選択してSelect Storageをクリックします。

ホーム画面に戻ってInstallをクリックするとUSBの中に先ほどのpico.zipがあるのでクリック、ここでも同じようにスライダーを右までスライドしてインストールします。 数分かけてインストールが終わったらWipe DalvikでもRebootでもなくホームボタンをクリックして、Wipeを選択、Swipe to Factory Resetをスライドして完了後Reboot Systemを選択します。

Android 11 (GAppsアリ) 起動

新しいスマホを買った時と同様に無線LANやグーグルアカウントを設定していきます。途中で位置情報使う?と聞かれますがラズパイにはGPSついていないのでWiFiからのロケーションの推定になります。YesでもNoでもどちらでも大丈夫です。 設定が終わると先ほどよりもホーム画面がにぎやかになったと思います。ここまで来たらほぼ完了、残すステップはあとひとつです。

ストレージの最適化

初期のインストールのままだとAndroidが認識している容量はSDカードのサイズに関わらず5ギガになっています。まぁここのままでも困らないかもですがフルに使えるようにします。

再び感謝しながらKonsta氏のAndroid File Hostのルートフォルダにとんで、Rpi-Common/LineageOS18/lineage-18.1-rpi-resize.zipをダウンロードします。zipのままUSBにコピーして同じようにリカバリーモードで起動、USBメモリをマウントしてインストールします。

Swipe to confirm Flashを右にスワイプしてインストール完了後Rebootをクリック、通常起動でいいのでSystemで再起動すればAndroid 11を搭載したラズパイの準備完了です◎

コメント

タイトルとURLをコピーしました