popin aladdin 2でadbを有効化する
October 04, 2020
前置き
popin aladdinというデバイスを購入したのだが, adbがブロックされていて, kodi等の野良apkをsideloadできない. system領域を書き換えてやることで, adbdを起動させたい.
当然今後のOTAで失敗するであろうと考えられるので, 導入は慎重に…
Stock ROM
とりあえずオフィシャルのROMを手に入れる.
wget $(curl 'http://jp2-update.popin.cc/api/update?gimiPid=TTTTTTTTTTTT&systemVersion=V1.1.0&androidVersion=Android9&type=rom' | jq ".data.packageDownloadUrl" | sed 's/"//g')TTTTTTTTTTTTは自分のシリアルを入れてもよいし, 入れなくてもよい.
System領域の解凍
先程ダウンロードしたファイルを解凍して,
brotli --decompress system.new.dat.br --output=system.new.dat
wget https://raw.githubusercontent.com/xpirt/sdat2img/master/sdat2img.py
chmod +x sdat2img.py
./sdat2img.py system.transfer.list system.new.dat system.imgとする.
これでシステム領域のext4イメージが手に入った.
system.imgの書き換え
mkdir output
sudo mount -o loop system.img output等でsystem領域をマウントして, output/system/etc/prop.defaultのパラメータを下記のように書き換える.
ro.secure=0
ro.debuggable=1
persist.sys.usb.config=adb
ro.adb.secure=0sudo vim output/system/etc/prop.default等で編集すればいい.
次に認証に穴をあけたadbdを用意して, 標準のもの(output/system/bin/adbd)と差し換える.
sudo cp /path/to/adbd output/system/bin/adbd
chmod 755 output/system/bin/adbd/path/to/adbdは自分のadbdへのpathを入れる.
最後にアンマウントしておこう.
sudo umount outputアップデートファイルの作成
git clone https://github.com/khadas/utils.git
cd utils
tee ./aml_upgrade_package.conf <<EOF
[LIST_NORMAL]
[LIST_VERIFY]
file="system.img" main_type="PARTITION" sub_type="system"
EOF
./aml_image_v2_packer -r ./aml_upgrade_package.conf /path/to/parent/of/system.img XGIMI_ALADD_II_PA20U01DJ.bin/path/to/parent/of/system.imgはsystem.imgの親ディレクトリを意味している.
Flash
FAT32でフォーマットしたUSBメモリにXGIMI_ALADD_II_PA20U01DJ.binをコピーする.
USBメモリをデバイスに挿入して, システム環境設定 -> システムアップデート -> USBメモリによるアップデートを選択する.
暫くまつと再起動するので, なぞのアナウンスがながれるが, 慌てずにリモコンのホームボタンを押す.
システム環境設定 -> その他の設定 -> リセットからデータ領域の初期化をするとよい.