2021-07-07 / @syui

android / android

nexus7をandroid 11にupgradeしてみた

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/

$ 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

magisk root

root化は現在、magiskが一般的らしい。

$ 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化されてる図。

nexus7 usb接続の不具合

このnexus7は昔からusb接続の調子がよくありません。特にusbでデータ接続すると切断を繰り返すため、容量の大きいファイルをnexus7にuploadするのがストレスでした。

昔からデータ通信、接続が不安定で、充電はできるんですが、データのほうは接続と切断を繰り返すため、コマンドも通る時と通らない時がありました。

これは、おそらくハード的な故障だと思われます。一度分解してusb基板を交換しており、交換直後は問題なかったのですが、最近、また調子が悪くなってきて、おそらく、また故障しています。

# 接続切断が頻発するときの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も通る。

nexus7 + android 11の感想

前よりもサクサク動くようになった気がしなくもない。