On Thu, 2012-11-01 at 16:32 +0200, Alex DAMIAN wrote: > From: Ross Burton <[email protected]> > > udevd moved location and isn't in $PATH anymore, so use an absolute path to > start it. > > The control socket path moved too, so mkdir the directory it's in.
This patch looks to do a little more than that... Cheers, Richard > Signed-off-by: Ross Burton <[email protected]> > --- > meta/recipes-core/initrdscripts/files/init-live.sh | 50 > +++++++++++++++++--- > .../initrdscripts/initramfs-framework/udev | 6 +-- > .../initrdscripts/initramfs-framework_1.0.bb | 2 + > .../initrdscripts/initramfs-live-boot_1.0.bb | 2 +- > 4 files changed, 50 insertions(+), 10 deletions(-) > > diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh > b/meta/recipes-core/initrdscripts/files/init-live.sh > index 5682fd1..fdea892 100644 > --- a/meta/recipes-core/initrdscripts/files/init-live.sh > +++ b/meta/recipes-core/initrdscripts/files/init-live.sh > @@ -19,7 +19,8 @@ early_setup() { > modprobe isofs 2> /dev/null > > mkdir -p /run > - udevd --daemon > + mkdir -p /var/run > + /lib/udev/udevd --daemon > udevadm trigger --action=add > } > > @@ -68,13 +69,49 @@ fatal() { > > early_setup > > +# wait for the udevd to settle > +echo "Waiting for udev to settle..." > +sleep 3 > + > [ -z "$CONSOLE" ] && CONSOLE="/dev/console" > > read_args > > -echo "Waiting for removable media..." > -while true > +# boot partiton menu, if one or more bootable partitions exist > +BOOTMENU=`ls /media/sd*/sbin/init 2>/dev/null | wc -l` > +if [ $BOOTMENU -gt 0 ]; then > + choice=0 > + while [ $choice -le 0 ]; do > + echo "1). boot live ramfs image" > + count=2 > + for i in `ls /media/sd*/sbin/init 2>/dev/null | cut -d "/" -f > 3`; do > + echo $count"). boot /dev/"$i > + choicecmd[$count]=$i > + count=$(( count + 1)) > + done > + echo > + echo -n "Your choice: " > + read choice > + done > + > + if [ $choice -gt 1 ]; then > + #ROOT_MOUNT=/media/${choicecmd[${choice}]} > + ROOT_MOUNT=none #testing > + echo "Booting local root ... $ROOT_MOUNT" > + if [ -d $ROOT_MOUNT ]; then > + boot_live_root > + else > + fatal "Rootfs partition not mounted" > + fi > + fi > +fi > + > +echo -n "Waiting for removable media... " > +CNT=0 > +while [ $CNT -le 3 ]; > do > + echo -n "$CNT " > + CNT=$(( $CNT + 1 )) > for i in `ls /media 2>/dev/null`; do > if [ -f /media/$i/$ROOT_IMAGE ] ; then > found="yes" > @@ -82,7 +119,7 @@ do > elif [ -f /media/$i/isolinux/$ROOT_IMAGE ]; then > found="yes" > ISOLINUX="isolinux" > - break > + break > fi > done > if [ "$found" = "yes" ]; then > @@ -90,13 +127,14 @@ do > fi > sleep 1 > done > +if [ "$found" != "yes" ]; then > + fatal "...could not mount removable media, drop to shell" > +fi > > case $label in > boot) > mkdir $ROOT_MOUNT > mknod /dev/loop0 b 7 0 2>/dev/null > - > - > if [ "$UNIONFS" = "yes" ]; then > mkdir /rootfs-tmp > > diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev > b/meta/recipes-core/initrdscripts/initramfs-framework/udev > index 9ea8aa3..15a1d5b 100644 > --- a/meta/recipes-core/initrdscripts/initramfs-framework/udev > +++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev > @@ -3,8 +3,8 @@ > # Licensed on MIT > > udev_enabled() { > - if [ ! -e /sbin/udevd ]; then > - debug "/sbin/udev doesn't exist" > + if [ ! -e /lib/udev/udevd ]; then > + debug "/lib/udev/udev doesn't exist" > return 1 > fi > > @@ -14,7 +14,7 @@ udev_enabled() { > udev_run() { > mkdir -p /run > > - udevd --daemon > /dev/null > + /lib/udev/udevd --daemon > /dev/null > udevadm trigger --action=add > udevadm settle > > diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb > b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb > index 58e41d4..45d6592 100644 > --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb > +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb > @@ -3,6 +3,8 @@ LICENSE = "MIT" > LIC_FILES_CHKSUM = > "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" > RDEPENDS = "busybox" > > +PR = "r1" > + > inherit allarch > > SRC_URI = "file://init \ > 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 137a401..55a8600 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 @@ RDEPENDS = "udev" > DEPENDS = "virtual/kernel" > SRC_URI = "file://init-live.sh" > > -PR = "r10" > +PR = "r11" > > do_compile() { > #if grep -q "CONFIG_UNION_FS=y" ${STAGING_KERNEL_DIR}/.config; then _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
