diff options
| -rwxr-xr-x | meta/recipes-core/initrdscripts/initramfs-framework/finish | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/finish b/meta/recipes-core/initrdscripts/initramfs-framework/finish index 717383ebac..f08a920867 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/finish +++ b/meta/recipes-core/initrdscripts/initramfs-framework/finish | |||
| @@ -12,6 +12,18 @@ finish_run() { | |||
| 12 | fatal "ERROR: There's no '/dev' on rootfs." | 12 | fatal "ERROR: There's no '/dev' on rootfs." |
| 13 | fi | 13 | fi |
| 14 | 14 | ||
| 15 | # Unmount anything that was automounted by busybox via mdev-mount.sh. | ||
| 16 | # We're about to switch_root, and leaving anything mounted will prevent | ||
| 17 | # the next rootfs from modifying the block device. Ignore ROOT_DISK, | ||
| 18 | # if it was set by setup-live, because it'll be mounted over loopback | ||
| 19 | # to ROOTFS_DIR. | ||
| 20 | local dev | ||
| 21 | for dev in /run/media/*; do | ||
| 22 | if mountpoint -q "${dev}" && [ "${dev##*/}" != "${ROOT_DISK}" ]; then | ||
| 23 | umount -f "${dev}" || debug "Failed to unmount ${dev}" | ||
| 24 | fi | ||
| 25 | done | ||
| 26 | |||
| 15 | info "Switching root to '$ROOTFS_DIR'..." | 27 | info "Switching root to '$ROOTFS_DIR'..." |
| 16 | 28 | ||
| 17 | debug "Moving /dev, /proc and /sys onto rootfs..." | 29 | debug "Moving /dev, /proc and /sys onto rootfs..." |
