ルートファイルシステムとして使用されているAUFSファイルシステムを適切にアンマウントする方法


2

書き込み可能なファイルシステムがその上にオーバーレイされた(常に)読み取り専用のルートファイルシステムを持つ組み込みシステムがあります。ただし、システムをシャットダウンして読み取り専用ファイルシステムとしてアンマウントまたは再マウントすると問題が発生します(その結果、孤立したiノードなどが次のブート時にチェックされます)。

# mount -o remount,ro /initrd/root-overlay/
mount: mounting /dev/mmcblk0p7 on /initrd/root-overlay failed: Device or resource busy

システムは、ブートを続行する前に、ファイルシステムのマウントを実行するinitrdイメージで起動します。ルートファイルシステムとして別のパーティションを選択する場合があるため、initrdのlinuxrcファイルでこれを行います。

ルートパーティションとそのオーバーレイを設定するlinuxrcスクリプトは次のとおりです。

echo "Mounting /proc..."
mount -t proc none /proc

echo "Mounting /dev/mmcblk0p5 on /ro-root..."
mkdir -p /ro-root
mount -o ro -t ext4 /dev/mmcblk0p5 /ro-root

echo "Mounting /dev/mmcblk0p7 on /root-overlay..."
mkdir -p /root-overlay
mount -o rw -t ext4 /dev/mmcblk0p7 /root-overlay

echo "Creating union of /ro-root and /root-overlay on /realroot..."
mkdir -p /real-root
mount -t aufs -o br:/root-overlay=rw:/ro-root=ro none /real-root

echo "Pivoting to /real-root... initrd will be at /initrd."
cd /real-root
mkdir -p initrd
pivot_root . initrd

echo "Unmounting /proc..."
umount /initrd/proc
echo "Unmounting /dev..."
umount /initrd/dev

echo "Executing real init..."
exec /sbin/init

-oこれを実現するために(オプションを介して渡される)mountコマンドで使用できる特別な構文があるかもしれないと推測していますが、それが何であるかはわかりません。

必要に応じて、ファイルシステムの初期マウントを実行する別の方法を受け入れています。

回答:


1

これを試して。マウントされているすべてのaufをアンマウントします。

umount -l $(grep 'aufs' /proc/mounts | awk '{print$2}' | sort -r)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.