ivot_rootの場合は、OLDが使用するすべてのプロセスを終了してMTDパーティションを分離できるようにし、シェルを終了して戻します。

ivot_rootの場合は、OLDが使用するすべてのプロセスを終了してMTDパーティションを分離できるようにし、シェルを終了して戻します。

arm7に組み込みLinuxがあります。

フラッシュデバイスであるMTDパーティション10(たとえば/ dev / mtd10)にrootfsがマウントされています。ボリュームは UBIFS デバイス UBI0 (/dev/ubi0) です。

私はおおよそ次のガイドラインに従ってPivot_root(chrootに似ています)tmpfsを設定しました。ライブルートファイルシステムのサイズを変更するにはどうですか?

mtd10(UBI0)を削除/再フォーマットしたいです。私が経験している問題は、UBI0が使用中であるというメッセージが表示されるまで、UBI0を分離/フォーマットできないことです。だから、次のコマンドを使用します。

fuser -vm /dev/mtd10これで終了できるプロセスのリストが提供されたので、すべての操作を実行してから、UBI0にマウントされているすべてのパーティションをアンマウント(またはumount -l)しました。

したがって、私のシステムは、私が実行しているシェルに加えてUBI0に依存しません。私は多くの方法の組み合わせを試しましたが、うまくいくように見える唯一の方法は(exitコマンドを使用して)ログアウトして再度ログインすることです(私は私のユーザー名を入力するだけですroot)。

この時点telinit uでログアウト/実行すると、UBI0が消えて分離できます。

修正する:Killはrc_mxc.Sログアウトと同様の効果を持ちます(つまり、シェルが終了して再度ログインする必要がありますが、これはスクリプトも終了します。

ここで問題は、スクリプトを書く方法がわからないということです。スクリプト内で実行すると、exitスクリプトは終了します。

答え1

find /proc/$$ -type l -lsFSを開いた状態でシェルで実行します。このFSへの各リンクに対して適切な処置を取ってください。

  • fdサブディレクトリで:runはファイル記述子番号、指すファイル、exec n>replacementまたはその記述子を閉じます。nreplacement&-
  • またはサブディレクトリ:runのexetmpfsルートディレクトリにある必要なシェルのパスを置き換えます。map_filesexec /bin/sh/bin/sh
  • As cwd:cd別のディレクトリに。
  • As root:tmpfsルートディレクトリに移動しますchroot .

関連情報