私のAndroid携帯電話(CyanogenMod 10.1、カーネル3.0.78)で遊んで、次のことを見つけました。
- スクリプト
/etc/init.d/99system.swap.sh
- /systemをrwに再マウントし、次にイメージファイルを作成します。
/system/swap/swap.img
携帯電話が起動したら、このswap.imgファイルを見るとそれが見つかり、使用中です/proc/swaps
。しかし/system
roとしてインストールされました。
別の電話機で手動で同じ操作を試しました。しかし、再インストールしよう/system
とするとルオ、リソースが使用中であるというエラーが発生します。ファイルのイメージを置き換えると、swap.img
すぐに次/system
のように再マウントできます。ルオ。
私が間違っていた、再定式化でき/system
ないルオ次のように再インストールした後読み書き。ラソフ使用中の多くのプロセスを表示します/system
。
答え1
swapon
理論的には、マンページに次のように指定されているので、可能でなければなりません。
[...] the swap file implementation in the kernel expecting to be able to write to the file directly, without the assistance of the file system [...]
したがって、スワップファイルがある場合、カーネルはそれをパーティションとして扱うことを好みます。つまり、ディスク上のスワップファイルの物理的な場所を決定し、その領域をパーティション領域のように直接使用します。通常のパーティションに置き換えるのと同じくらい速くファイルに置き換える方法は次のとおりです。
この時点で、ファイルシステムはループから外れ、ファイルシステム自体を読み取り専用に設定できます。実際にこれを許可するかどうかは別の問題です。特に、Androidは通常のLinux環境とは異なる動作をする可能性があるため、直接テストしませんでした。