A live system had duplicate mount points for the same filesystem
in the output of 'mount' command. That was because we didn't handle
the temporary mounts properly before switch_root.
This patch fixes this problem by moving the mount points of some
filesystems to the corresponding directories in the real root filesystem.
[YOCTO #3155]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
boot_live_root() {
killall udevd 2>/dev/null
- # use devtmpfs if available
- if grep -q devtmpfs /proc/filesystems; then
- mount -t devtmpfs devtmpfs $ROOT_MOUNT/dev
- fi
+ # Move the mount points of some filesystems over to
+ # the corresponding directories under the real root filesystem.
+ mount -n --move /proc ${ROOT_MOUNT}/proc
+ mount -n --move /sys ${ROOT_MOUNT}/sys
+ mount -n --move /dev ${ROOT_MOUNT}/dev
cd $ROOT_MOUNT
exec switch_root -c /dev/console $ROOT_MOUNT /sbin/init