Androidで/systemディレクトリを書き込み可能な状態にするため、次のコマンドで再マウントを行うと、強制リブート(再起動)されてしまう
# mount -o remount,rw /system /system
これは、/sbin/ric (Xperiaの場合) という実行ファイル(デーモン)が常駐して、/system
のマウント状態を監視して、再起動を掛けているとのことだ。
この仕組みを考えたプログラマは、ユーザのことを考えてくれたのか、ric
のファイルを/system
ではなく、/sbin
に置いてくれている。
/sbinが属する /
を書き込み可能状態で再マウントして、ric のファイルを削除すれば、問題は解決する。(ただし、システムを再起動すると /sbin/ric が再作成されるので、作業ごとに毎回やる必要がある)
ricを無効化するシェルスクリプト
#!/system/bin/sh # check process ric, if not then exit if [ -z "$(pgrep -f /sbin/ric)" ] then echo process ric not exist, EXIT SCRIPT exit fi /system/bin/mount -o remount,rw / [ -f /sbin/ric ] && /system/bin/mv /sbin/ric /sbin/ric.bak /system/bin/mount -o remount,ro / /system/bin/stop ric /system/xbin/pkill -f /sbin/ric echo "ric disabled, SCRIPT DONE."
これで ric デーモンが停止されるので、/system を書き込み可能モードで再マウントできる。