diff options
-rw-r--r-- | meta/recipes-core/initrdscripts/files/init-live.sh | 10 | ||||
-rw-r--r-- | meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh index 28219641a4..d852c5737f 100644 --- a/meta/recipes-core/initrdscripts/files/init-live.sh +++ b/meta/recipes-core/initrdscripts/files/init-live.sh @@ -8,6 +8,8 @@ MOUNT="/bin/mount" UMOUNT="/bin/umount" ISOLINUX="" +ROOT_DISK="" + # Copied from initramfs-framework. The core of this script probably should be # turned into initramfs-framework modules to reduce duplication. udev_daemon() { @@ -80,6 +82,10 @@ boot_live_root() { udevadm settle --timeout=3 --quiet killall "${_UDEV_DAEMON##*/}" 2>/dev/null + # Allow for identification of the real root even after boot + mkdir -p ${ROOT_MOUNT}/media/realroot + mount -n --move "/run/media/${ROOT_DISK}" ${ROOT_MOUNT}/media/realroot + # Move the mount points of some filesystems over to # the corresponding directories under the real root filesystem. for dir in `awk '/\/dev.* \/run\/media/{print $2}' /proc/mounts`; do @@ -116,10 +122,12 @@ do for i in `ls /run/media 2>/dev/null`; do if [ -f /run/media/$i/$ROOT_IMAGE ] ; then found="yes" + ROOT_DISK="$i" break elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then found="yes" ISOLINUX="isolinux" + ROOT_DISK="$i" break fi done @@ -150,7 +158,7 @@ mount_and_boot() { mkdir $ROOT_MOUNT mknod /dev/loop0 b 7 0 2>/dev/null - if ! mount -o rw,loop,noatime,nodiratime /run/media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then + if ! mount -o rw,loop,noatime,nodiratime /run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then fatal "Could not mount rootfs image" fi diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb index 2d378e2101..ac54902415 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb @@ -5,7 +5,7 @@ DEPENDS = "virtual/kernel" RDEPENDS_${PN} = "udev udev-extraconf" SRC_URI = "file://init-live.sh" -PR = "r11" +PR = "r12" do_install() { install -m 0755 ${WORKDIR}/init-live.sh ${D}/init @@ -13,5 +13,5 @@ do_install() { FILES_${PN} += " /init " -# Due to kernel depdendency +# Due to kernel dependency PACKAGE_ARCH = "${MACHINE_ARCH}" |