+++ date = "2021-07-07" tags = ["android"] title = "nexus7をandroid 11にupgradeしてみた" slug = "android" +++ nexus7はかなり長く使っていて、はじめて体験するandroidとしては、とてもよい体験だったと思います。公式romはandroid 6.xがlatestで、私もそれを使用していました。 しかし、nexus7は、custom romがandroid 10までありますし、lineage(android 11)もインストールが可能なので、最新のandroidを試してみることにします。 ### lineage(android 11 base) 今回は、android 11ベースのlineageをインストールします。 twrp : https://twrp.me/asus/asusnexus72013wifi.html lineage os 18.1 : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/ sysrepart_1280_120.zip : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/ opengapps(android 11) : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/ ```sh $ adb reboot-bootloader $ fastboot flash recovery twrp.img $ fastboot boot twrp.img $ adb push sysrepart.zip /sdcard/ # twrp -> install -> sysrepart $ adb push lineageos.zip /sdcard/ $ adb push opengaaps.zip /sdcard/ # twrp -> install -> lineage, opengaaps ``` ![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_01.png) ### magisk root root化は現在、magiskが一般的らしい。 ```sh $ adb install magisk.apk # magiskでlineageのboot.imgにpatchを当てる $ adb pull /sdcard/Downloads/magisk_patched.img $ adb reboot-bootloader $ fastboot flash boot magisk_patched.img ``` firewallとterminalがroot化されてる図。 ![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_02.png) ### nexus7 usb接続の不具合 このnexus7は昔からusb接続の調子がよくありません。特にusbでデータ接続すると切断を繰り返すため、容量の大きいファイルをnexus7にuploadするのがストレスでした。 昔からデータ通信、接続が不安定で、充電はできるんですが、データのほうは接続と切断を繰り返すため、コマンドも通る時と通らない時がありました。 これは、おそらくハード的な故障だと思われます。一度分解してusb基板を交換しており、交換直後は問題なかったのですが、最近、また調子が悪くなってきて、おそらく、また故障しています。 ```sh # 接続切断が頻発するときのerror adb: error: failed to read copy response20210622-UNOFFICIAL_TEST.zip open_gapps-arm-11.0-pico-20210622-UNOFFICIAL_TEST.zip: 1 file pushed, 0 skipped. 29.1 MB/s (101391216 bytes in 3.323s) adb: error: failed to read copy response adb: error: failed to get feature set: no devices/emulators found ``` 今回もusb接続が継続されることはほぼなくなり、adbでデータのやり取りが困難でやりづらかった。GUIの表示上は接続できているんですが、内部では接続と切断を繰り返している状態です。 したがって、端末に大きなファイルをuploadしたい場合、androidに入れてるarchにsshしてrsyncでuploadしていました。archでは/sdcard/という名のandroid root dirをmountしているので、特に問題ありませんが、このarchが壊れてしまうと、他にnexus7にデータをuploadする手段があまりないため、かなり不便になります。例えば、gitのprivate repoにpushして、androidでcloneする方法がありますが、このようなcloudを使った手法しかできなくなります。 一応、分解した状態で接続すると、うまく継続されること多いんですけどね...。 したがって、今回、androidをupgredeする際の注意点としては、主要なdir構造を保持すること(いくつかmountするため)とsupersuなどでterminal emulatorにroot権限を付与できること、busyboxをインストール可能であることが重要になってきます。 なお、lineage osをインストールする際によく説明されているストレージの初期化は必ずしも必要ありません。 今回、なぜかbusyboxを`/system/xbin`にインストールできなかったので、`/system/bin`にインストールして、arch.bootを書き換えました。これはmagiskのroot名前空間の設定でglobalを選択するのだろうか。 一応、lineage os(android 11)上でarch.imgまでは起動できました。sshも通る。 ![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_03.png) ### nexus7 + android 11の感想 前よりもサクサク動くようになった気がしなくもない。