[OE-core] [PATCH] initrdscripts: fix udevd path
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Nov 1 19:31:59 UTC 2012
On Thu, 2012-11-01 at 16:32 +0200, Alex DAMIAN wrote:
> From: Ross Burton <ross.burton at intel.com>
>
> 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 <ross.burton at intel.com>
> ---
> 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
More information about the Openembedded-core
mailing list