読者です 読者をやめる 読者になる 読者になる

どせいたんさき。

ナスダヨー

TWRP v2.6.0.0 で Nexus7 の Android 4.3 JWR66V→JWR66Y のアップデートが失敗する件について

目的

rooted, TWRP v2.6, Android4.3(JWR66V) の Nexus7 を Android4.3(JWR66Y) にアップデートしたい.

問題

インストール中に以下のエラーが出てアップデートに失敗してしまう.

Updating partition details...
Installing '/cache/XXXXXXXXXX.signed-nakasi-JWR66Y-from-JWR66V.XXX.zip'
Checking for MD5 file...
Skipping MD5 check: no MD5 file found.
Warning: No file_contexts
Verifying current system...
Removing unneeded files...
Patching system files...
Unpacking new recovery...
Symlinks and permissions...
set_perm: some changes failed
E:Error executing updater binary in zip '/cache/XXXXXXXXXX.signed-nakasi-JWR66Y-from-JWR66V.XXX.zip'
Error flashing zip '/cache/XXXXXXXXXX.signed-nakasi-JWR66Y-from-JWR66V.XXX.zip'
Updating partition details. . .

解決策

/system/etc/install-recovery.sh の属性を変更する.

ここの議論によればアップデートでは /system/etc/install-recovery.sh が更新されるはずなのだがファイルの属性に immutable が設定されているために更新できず,エラーで死ぬらしい.エラーの詳細についてはこのポストが詳しい.ということでリカバリモードで起動して system パーティションをマウントした後に以下のコマンドでファイルの属性を設定する.

su
cd /system/etc
chattr -i install-recovery.sh   # -i: immutable を解除

その後, TWRP の install から /cache に保存されている zip ファイルをフラッシュすれば問題なくインストールが完了する.再起動前に root 権限を復活させるかどうかを効いてくるので忘れずに復活させておくこと.