mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
initramfs-framework: unmount automounts before switch_root
If mounts are left lingering, then after we switch_root, attempts to modify the block devices will result in an EBUSY with no way to unmount them. As we're about to switch_root anyways, there isn't much use to keep anything mounted unless it has the new rootfs. (From OE-Core rev: 4dc7af6d25597ea10ea43e76c7c3d7251462c0e5) Signed-off-by: Justin Bronder <jsbronder@cold-front.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
602bec0060
commit
2040c70fcc
@@ -12,6 +12,18 @@ finish_run() {
|
|||||||
fatal "ERROR: There's no '/dev' on rootfs."
|
fatal "ERROR: There's no '/dev' on rootfs."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Unmount anything that was automounted by busybox via mdev-mount.sh.
|
||||||
|
# We're about to switch_root, and leaving anything mounted will prevent
|
||||||
|
# the next rootfs from modifying the block device. Ignore ROOT_DISK,
|
||||||
|
# if it was set by setup-live, because it'll be mounted over loopback
|
||||||
|
# to ROOTFS_DIR.
|
||||||
|
local dev
|
||||||
|
for dev in /run/media/*; do
|
||||||
|
if mountpoint -q "${dev}" && [ "${dev##*/}" != "${ROOT_DISK}" ]; then
|
||||||
|
umount -f "${dev}" || debug "Failed to unmount ${dev}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
info "Switching root to '$ROOTFS_DIR'..."
|
info "Switching root to '$ROOTFS_DIR'..."
|
||||||
|
|
||||||
debug "Moving /dev, /proc and /sys onto rootfs..."
|
debug "Moving /dev, /proc and /sys onto rootfs..."
|
||||||
|
|||||||
Reference in New Issue
Block a user