live image misc fixes
cover live image misc fixes
The purpose of this patchset is to make our live image work correctly after the following commit.
commit acfe3014d41de5e87cdbc58d0396349c6b9c3ffd
udev-extraconf: update mount.sh to use /run/media instead of /media
These patches are tested against the core-image-minimal iso image for both booting and installing.
//Chen Qi
The following changes since commit 58417093d7ce83c8a2f683a356fddc23aaee5e8e:
wic: Extend indirect string connection to support image names and rootfs (2014-05-13 19:35:06 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib ChenQi/live-image-misc-fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/live-image-misc-fixes
Chen Qi (3):
udev-extraconf: fix the misuse of /run/media
init-live.sh: list block devices correctly
initrdscripts: fix for /run/media
.../initrdscripts/files/init-install-efi-testfs.sh | 14 +++++++------- .../initrdscripts/files/init-install-efi.sh | 14 +++++++------- .../initrdscripts/files/init-install-testfs.sh | 4 ++-- .../initrdscripts/files/init-install.sh | 4 ++-- meta/recipes-core/initrdscripts/files/init-live.sh | 20 ++++++++++---------- meta/recipes-core/udev/udev-extraconf/mount.sh | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-)
Signature · 1 line
1.7.9.5
PATCH 1/3 udev-extraconf: fix the misuse of /run/media
The error was introduced by the following commit.
acfe3014d41de5e87cdbc58d0396349c6b9c3ffd
udev-extraconf: update mount.sh to use /run/media instead of /media
It accidently replaced 'device/media' by 'device/run/media' which causes error for live images to be unable to boot up correctly, complaining "Cannot find rootfs.img in /media/*".
This patch fixes the above problem.
--- meta/recipes-core/udev/udev-extraconf/mount.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/udev/udev-extraconf/mount.sh +1 -1
@@ -60,7 +60,7 @@ rm_dir() { # No ID_FS_TYPE for cdrom device, yet it should be mounted name="`basename "$DEVNAME"`" -[ -e /sys/block/$name/device/run/media ] && media_type=`cat /sys/block/$name/device/run/media` +[ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media` if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then if [ -x "$PMOUNT" ]; then
Signature · 1 line
1.7.9.5
PATCH 2/3 init-live.sh: list block devices correctly
In reply to Chen QiInstead of using 'ls /dev/sd*' command to list block devices, we should rather use 'cat /proc/partitions'.
--- meta/recipes-core/initrdscripts/files/init-live.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/initrdscripts/files/init-live.sh +1 -1
@@ -134,7 +134,7 @@ do echo "Mounted filesystems" mount | grep media echo "Available block devices" - ls /dev/sd* + cat /proc/partitions fatal "Cannot find $ROOT_IMAGE file in /media/* , dropping to a shell " fi C=$(( C + 1 ))
Signature · 1 line
1.7.9.5
PATCH 3/3 initrdscripts: fix for /run/media
In reply to Chen Qimount.sh in udev-extraconf was modified to use /run/media instead of /media. Unfortunately, our scripts in initrdscripts have some dependency on the auto-mounting mechanism proviced by udev-extraconf. So these scripts should also be fixed to use /run/media instead /media, otherwise, our live image cannot work correctly.
--- .../initrdscripts/files/init-install-efi-testfs.sh | 14 +++++++------- .../initrdscripts/files/init-install-efi.sh | 14 +++++++------- .../initrdscripts/files/init-install-testfs.sh | 4 ++-- .../initrdscripts/files/init-install.sh | 4 ++-- meta/recipes-core/initrdscripts/files/init-live.sh | 18 +++++++++--------- 5 files changed, 27 insertions(+), 27 deletions(-)
meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh +7 -7
@@ -128,7 +128,7 @@ mkdir /rootmnt mkdir /bootmnt mount $rootfs /ssd -mount -o rw,loop,noatime,nodiratime /media/$1/$2 /rootmnt +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /rootmnt echo "Copying rootfs files..." cp -a /rootmnt/* /ssd
@@ -150,13 +150,13 @@ mount $bootfs /ssd EFIDIR="/ssd/EFI/BOOT" mkdir -p $EFIDIR -cp /media/$1/vmlinuz /ssd +cp /run/media/$1/vmlinuz /ssd # Copy the efi loader -cp /media/$1/EFI/BOOT/*.efi $EFIDIR +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR -if [ -f /media/$1/EFI/BOOT/grub.cfg ]; then +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then GRUBCFG="$EFIDIR/grub.cfg" - cp /media/$1/EFI/BOOT/grub.cfg $GRUBCFG + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG # Update grub config for the installed image # Delete the install entry sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG
@@ -170,10 +170,10 @@ if [ -f /media/$1/EFI/BOOT/grub.cfg ]; then sed -i "s@linux /vmlinuz *@linux /vmlinuz root=$rootfs rw $rootwait quiet @" $GRUBCFG fi -if [ -d /media/$1/loader ]; then +if [ -d /run/media/$1/loader ]; then GUMMIBOOT_CFGS="/ssd/loader/entries/*.conf" # copy config files for gummiboot - cp -dr /media/$1/loader /ssd + cp -dr /run/media/$1/loader /ssd # delete the install entry rm -f /ssd/loader/entries/install.conf # delete the initrd lines
meta/recipes-core/initrdscripts/files/init-install-efi.sh +7 -7
@@ -128,7 +128,7 @@ mkdir /rootmnt mkdir /bootmnt mount $rootfs /ssd -mount -o rw,loop,noatime,nodiratime /media/$1/$2 /rootmnt +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /rootmnt echo "Copying rootfs files..." cp -a /rootmnt/* /ssd
@@ -150,13 +150,13 @@ mount $bootfs /ssd EFIDIR="/ssd/EFI/BOOT" mkdir -p $EFIDIR -cp /media/$1/vmlinuz /ssd +cp /run/media/$1/vmlinuz /ssd # Copy the efi loader -cp /media/$1/EFI/BOOT/*.efi $EFIDIR +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR -if [ -f /media/$1/EFI/BOOT/grub.cfg ]; then +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then GRUBCFG="$EFIDIR/grub.cfg" - cp /media/$1/EFI/BOOT/grub.cfg $GRUBCFG + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG # Update grub config for the installed image # Delete the install entry sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG
@@ -170,10 +170,10 @@ if [ -f /media/$1/EFI/BOOT/grub.cfg ]; then sed -i "s@linux /vmlinuz *@linux /vmlinuz root=$rootfs rw $rootwait quiet @" $GRUBCFG fi -if [ -d /media/$1/loader ]; then +if [ -d /run/media/$1/loader ]; then GUMMIBOOT_CFGS="/ssd/loader/entries/*.conf" # copy config files for gummiboot - cp -dr /media/$1/loader /ssd + cp -dr /run/media/$1/loader /ssd # delete the install entry rm -f /ssd/loader/entries/install.conf # delete the initrd lines
meta/recipes-core/initrdscripts/files/init-install-testfs.sh +2 -2
@@ -151,7 +151,7 @@ mkdir -p /boot # Handling of the target root partition mount $rootfs /tgt_root -mount -o rw,loop,noatime,nodiratime /media/$1/$2 /src_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root echo "Copying rootfs files..." cp -a /src_root/* /tgt_root if [ -d /tgt_root/etc/ ] ; then
@@ -197,7 +197,7 @@ if [ ! -f /boot/grub/grub.cfg ] ; then echo "kernel /vmlinuz root=$rootfs rw $3 $4 quiet" >> /boot/grub/menu.lst fi -cp /media/$1/vmlinuz /boot/ +cp /run/media/$1/vmlinuz /boot/ umount /boot
meta/recipes-core/initrdscripts/files/init-install.sh +2 -2
@@ -151,7 +151,7 @@ mkdir -p /boot # Handling of the target root partition mount $rootfs /tgt_root -mount -o rw,loop,noatime,nodiratime /media/$1/$2 /src_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root echo "Copying rootfs files..." cp -a /src_root/* /tgt_root if [ -d /tgt_root/etc/ ] ; then
@@ -194,7 +194,7 @@ if [ ! -f /boot/grub/grub.cfg ] ; then echo "kernel /vmlinuz root=$rootfs rw $3 $4 quiet" >> /boot/grub/menu.lst fi -cp /media/$1/vmlinuz /boot/ +cp /run/media/$1/vmlinuz /boot/ umount /boot
meta/recipes-core/initrdscripts/files/init-live.sh +9 -9
@@ -82,9 +82,9 @@ boot_live_root() { # Move the mount points of some filesystems over to # the corresponding directories under the real root filesystem. - for dir in `awk '/\/dev.* \/media/{print $2}' /proc/mounts`; do - mkdir -p ${ROOT_MOUNT}/$dir - mount -n --move $dir ${ROOT_MOUNT}/$dir + for dir in `awk '/\/dev.* \/run\/media/{print $2}' /proc/mounts`; do + mkdir -p ${ROOT_MOUNT}/media/${dir##*/} + mount -n --move $dir ${ROOT_MOUNT}/media/${dir##*/} done mount -n --move /proc ${ROOT_MOUNT}/proc mount -n --move /sys ${ROOT_MOUNT}/sys
@@ -113,11 +113,11 @@ echo "Waiting for removable media..." C=0 while true do - for i in `ls /media 2>/dev/null`; do - if [ -f /media/$i/$ROOT_IMAGE ] ; then + for i in `ls /run/media 2>/dev/null`; do + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then found="yes" break - elif [ -f /media/$i/isolinux/$ROOT_IMAGE ]; then + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then found="yes" ISOLINUX="isolinux" break
@@ -135,7 +135,7 @@ do mount | grep media echo "Available block devices" cat /proc/partitions - fatal "Cannot find $ROOT_IMAGE file in /media/* , dropping to a shell " + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell " fi C=$(( C + 1 )) fi
@@ -150,7 +150,7 @@ mount_and_boot() { mkdir $ROOT_MOUNT mknod /dev/loop0 b 7 0 2>/dev/null - if ! mount -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then + if ! mount -o rw,loop,noatime,nodiratime /run/media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then fatal "Could not mount rootfs image" fi
@@ -211,7 +211,7 @@ case $label in mount_and_boot ;; install|install-efi) - if [ -f /media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then ./$label.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params else fatal "Could not find $label script"
Signature · 1 line
1.7.9.5
Quoted 9 lines · Chen Qi
The purpose of this patchset is to make our live image work correctly after the following commit.
commit
acfe3014d41de5e87cdbc58d0396349c6b9c3ffd
udev-extraconf: updatemount.shto use/run/mediainstead of /mediaThese patches are tested against the core-image-minimal iso image for both booting and installing.
//Chen Qi
Quoted 23 lines
The following changes since commit
58417093d7ce83c8a2f683a356fddc23aaee5e8e:wic: Extend indirect string connection to support image names and rootfs (2014-05-13 19:35:06 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribChenQi/live-image-misc-fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/live-image-misc-fixesChen Qi (3):
udev-extraconf: fix the misuse of/run/media
init-live.sh: list block devices correctly
initrdscripts: fix for/run/media.../initrdscripts/files/init-install-efi-testfs.sh | 14 +++++++------- .../initrdscripts/files/init-install-efi.sh | 14 +++++++------- .../initrdscripts/files/init-install-testfs.sh | 4 ++-- .../initrdscripts/files/init-install.sh | 4 ++-- meta/recipes-core/initrdscripts/files/init-live.sh | 20 ++++++++++---------- meta/recipes-core/udev/udev-extraconf/mount.sh | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-)