スワップイメージを使用している場合は、読み取り専用で再インストールできますか?

スワップイメージを使用している場合は、読み取り専用で再インストールできますか?

私のAndroid携帯電話(CyanogenMod 10.1、カーネル3.0.78)で遊んで、次のことを見つけました。

  • スクリプト/etc/init.d/99system.swap.sh
  • /systemをrwに再マウントし、次にイメージファイルを作成します。/system/swap/swap.img

携帯電話が起動したら、このswap.imgファイルを見るとそれが見つかり、使用中です/proc/swaps。しかし/systemroとしてインストールされました。

別の電話機で手動で同じ操作を試しました。しかし、再インストールしよう/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環境とは異なる動作をする可能性があるため、直接テストしませんでした。

おすすめ記事