私はフォローしていますこれNANDフラッシュメモリのファームウェアアップデートを実行する方法のチュートリアルです。新しいルートディレクトリがあるディレクトリだけを変更して従いました。/bin
/dev
/sbin
/usr
すべてのフォルダをtmpfs
私の所にコピーしていますRAM
。
次のコマンドで問題が発生し始めます。
umount /sys
umount /proc
削除するとkillall5
sys
問題はありませんが、procを削除しようとすると、次のメッセージが表示されます。
umount: can't umount /proc: Device or resource busy
chroot
私は次のようなものを試しました。これ同様の質問へのリンクです。しかし、あまり役に立たないようです。
次のコマンドを使用して新しいルートとしてchrootingを試みましたが、もっと悲しみを感じました。
chroot /tmp/newroot /bin/ash
間違い:
umount: can't umount /proc: Invalid argument
誰もが正しい方向に私を指すことができますか?しばしばそのように些細なことを逃しているような感じがします。
答え1
まあ、おそらく/proc
。プロセスは次のとおりです。実際のファイルシステムでもないただし、メモリの内容と現在実行中のプロセスを示します。あなたが望むものはおそらくバインドマウントchroot内の場所へ:
# mkdir -m 0555 /tmp/newroot/proc
# mount --bind /proc /tmp/newroot/proc
答え2
lsof
まだインストールされていない場合は、インストールしてからシングルユーザーモードで再起動してを入力しますlsof | grep /proc
。まだ使用中のすべてのプログラムを終了します/proc
。その後、削除できます。
答え3
遅延マウント解除を使用すると、umount -l /proc
すべての参照が削除されるまでマウントは保持されますが、ルートをアンマウントできるように接続が切断されます(使用後pivot_root
)。
または、モバイルマウントポイントを使用することもできますmount --move
。