Patchwork [CONSOLIDATED,PULL,6/6] initrdscripts: fix init-live.sh for hddimg and livecd

login
register
mail settings
Submitter Saul Wold
Date Aug. 24, 2011, 3:50 p.m.
Message ID <4e7221d23bf335cbb4e1e2ba703e4c0a04df7129.1314200868.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/10495/
State New, archived
Headers show

Comments

Saul Wold - Aug. 24, 2011, 3:50 p.m.
From: Jingdong Lu <jingdong.lu@windriver.com>

Both hddimg and livecd use init-live.sh script to boot the rootfs.img.
But the paths of rootfs.img in hddimg and livecd are different. So we add
a variable "ISOLINUX" to provide a correct path.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
---
 meta/recipes-core/initrdscripts/files/init-live.sh |   17 +++++++++++------
 .../initrdscripts/initramfs-live-boot_1.0.bb       |    2 +-
 2 files changed, 12 insertions(+), 7 deletions(-)

Patch

diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index 1cd87e8..6a1deba 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -1,9 +1,10 @@ 
 #!/bin/sh
 
 ROOT_MOUNT="/rootfs/"
-ROOT_IMAGE="isolinux/rootfs.img"
+ROOT_IMAGE="rootfs.img"
 MOUNT="/bin/mount"
 UMOUNT="/bin/umount"
+ISOLINUX=""
 
 early_setup() {
     mkdir /proc
@@ -58,8 +59,12 @@  while true
 do
   for i in `ls /media 2>/dev/null`; do
       if [ -f /media/$i/$ROOT_IMAGE ] ; then
-	  found="yes"
-	  break
+		found="yes"
+		break
+	  elif [ -f /media/$i/isolinux/$ROOT_IMAGE ]; then
+		found="yes"
+		ISOLINUX="isolinux"
+		break	
       fi
   done
   if [ "$found" = "yes" ]; then
@@ -73,15 +78,15 @@  case $label in
 	mkdir $ROOT_MOUNT
 	mknod /dev/loop0 b 7 0
 
-	if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ROOT_IMAGE $ROOT_MOUNT ; then
+	if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
 	    fatal "Couldnt mount rootfs image"
 	else
 	    boot_live_root
 	fi
 	;;
     install)
-	if [ -f /media/$i/$ROOT_IMAGE ] ; then
-	    ./install.sh $i $ROOT_IMAGE $video_mode $vga_mode
+	if [ -f /media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
+	    ./install.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode
 	else
 	    fatal "Couldnt find install script"
 	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 140fb1d..6d354b7 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
@@ -3,7 +3,7 @@  LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SRC_URI = "file://init-live.sh"
 
-PR = "r4"
+PR = "r5"
 
 do_install() {
         install -m 0755 ${WORKDIR}/init-live.sh ${D}/init