diff --git a/package/base/rockinitrd/init b/package/base/rockinitrd/init index e87375583..5c445dd0b 100644 --- a/package/base/rockinitrd/init +++ b/package/base/rockinitrd/init @@ -36,8 +36,8 @@ initrd_mount() { # {{{ } # }}} emit_udev_events() { # {{{ - /sbin/udevtrigger - /sbin/udevsettle + /sbin/udevadm trigger + /sbin/udevadm settle } # }}} PATH="/sbin:/usr/sbin:/bin/:/usr/bin" diff --git a/package/base/rockinitrd/initrd_base.txt b/package/base/rockinitrd/initrd_base.txt index f81f12511..044678fb7 100644 --- a/package/base/rockinitrd/initrd_base.txt +++ b/package/base/rockinitrd/initrd_base.txt @@ -12,10 +12,9 @@ /bin/grep /bin/grep /bin/gawk /bin/awk /bin/sleep /bin/sleep -/sbin/udevtrigger /sbin/udevtrigger -/sbin/udevsettle /sbin/udevsettle -/sbin/udevd /sbin/udevd -/sbin/modprobe /sbin/modprobe -/sbin/depmod /sbin/depmod -/etc/udev /etc/udev -/lib/udev /lib/udev +/sbin/udevadm /sbin/udevadm +/sbin/udevd /sbin/udevd +/sbin/modprobe /sbin/modprobe +/sbin/depmod /sbin/depmod +/etc/udev /etc/udev +/lib/udev /lib/udev diff --git a/package/base/udev/udev.conf b/package/base/udev/udev.conf index e415cc3dc..8c06ead7d 100644 --- a/package/base/udev/udev.conf +++ b/package/base/udev/udev.conf @@ -21,10 +21,16 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- +# prefix="" +# set_confopt +sbindir="$instroot/sbin" +var_append confopt ' ' '--exec-prefix="${instroot#$root}"' + +hook_add postmake 1 udev_pm udev_pm() { # the deletion and re-creation is needed for stage 9 rebuilds - rm -rf $root/lib/{firmware,udev/devices/{pts,shm,bus/usb}} - mkdir -p $root/lib/{firmware,udev/devices/{pts,shm,bus/usb}} + rm -rf $root/lib/udev/devices/{pts,shm,bus/usb} + mkdir -p $root/lib/udev/devices/{pts,shm,bus/usb} rm -f $root/lib/udev/devices/null mknod -m0666 $root/lib/udev/devices/null c 1 3 add_flist $root/lib/udev/devices/null @@ -45,22 +51,20 @@ udev_pm() { # cp: will not create hard link `/dev/pts' to directory `/dev/bus/usb' touch $root/lib/udev/devices/{pts,shm,bus/usb}/.empty - # Install LFS-specific rules and docs. -# tar $taropt $archdir/udev-config-$udev_config_ver.tar.bz2 -# cd udev-config-$udev_config_ver -# make install -# make install-doc -# make install-extra-doc - rm -f etc/udev/rules.d/*.orig - cp -v etc/udev/rules.d/* $confdir/rules/* $root/etc/udev/rules.d/ + + cp -v $confdir/rules/* $root/etc/udev/rules.d/ + # Copy package/architecture specific rules supplied by udev. + # Rules in lib/udev are private to udev and should not be modified by users. + cp -v rules/packages/* $root/lib/udev/rules.d/ + cp -v $confdir/scripts/*.sh $confdir/scripts/modalias_* $root/lib/udev/ chmod +x $root/lib/udev/*.sh $root/lib/udev/modalias_* install_init udev $confdir/udev.init found_group_error=0 - for group in `grep 'GROUP="[^%]' $root/etc/udev/rules.d/*.rules | sed 's,.*GROUP=",,; s,".*,,;' | sort -u` + for group in `grep 'GROUP="[^%]' $root/{etc,lib}/udev/rules.d/*.rules | sed 's,.*GROUP=",,; s,".*,,;' | sort -u` do if ! grep -q "^$group:" $root/etc/group; then echo "ERROR: Found udev rules not existing group '$group'." @@ -70,19 +74,6 @@ udev_pm() { [ $found_group_error = 0 ] || abort } -udev_prem() { - for i in $(find extras/ -maxdepth 2 -name Makefile); do - udev_extras="${udev_extras} $(dirname ${i})" - done - # DESTDIR=/ prevents kill and restart of udev. - var_append makeopt " " 'EXTRAS="${udev_extras}"' - var_append makeinstopt " " 'EXTRAS="${udev_extras}"' -} - -prefix="" -hook_add postmake 1 udev_pm -hook_add premake 3 udev_prem - if [ $stagelevel -le 2 ] ; then export LD=$CC var_append makeopt " " "CROSS_COMPILE=$archprefix" diff --git a/package/base/udev/udev.desc b/package/base/udev/udev.desc index acdb17364..50436120f 100644 --- a/package/base/udev/udev.desc +++ b/package/base/udev/udev.desc @@ -41,11 +41,8 @@ [F] CORE DIETLIBC [L] GPL -[S] Beta -[V] 116 +[S] Stable +[V] 130 [P] X --X--5---9 129.450 -[D] 3785201846 udev-116.tar.bz2 ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/ -# udev configuration from linuxfromscratch.org -# [O] udev_config_ver=20061021 -# [D] 3022928461 udev-config-20061021.tar.bz2 http://www.linuxfromscratch.org/lfs/downloads/development/ +[D] 854829437 udev-130.tar.bz2 ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/ diff --git a/package/base/udev/udev.init b/package/base/udev/udev.init index 0a7788aa2..0683e9d31 100644 --- a/package/base/udev/udev.init +++ b/package/base/udev/udev.init @@ -36,16 +36,25 @@ main_begin cp -r /lib/udev/devices/* /dev + # Disable old hotplug helper, recommended by udev. echo "" > /proc/sys/kernel/hotplug + check(`/sbin/udevd --daemon') # create nodes for devices already in kernel - /sbin/udevtrigger - /sbin/udevsettle + /sbin/udevadm trigger + /sbin/udevadm settle exec > /dev/console 2>&1 < /dev/console echo "Mounted /dev (udev) from udev init script." fi + block_split(`Setting /dev/root.') + if [ ! -e /dev/root ] ; then + ( + eval $( udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/ ) + mknod /dev/root b $ROOT_MAJOR $ROOT_MINOR + ) + fi block_end block_begin(stop, `Stopping udevd.') diff --git a/package/target-finish/1st-stage/initrd/initrd_bootdisk b/package/target-finish/1st-stage/initrd/initrd_bootdisk index 563c1f6a2..e12d6bd35 100644 --- a/package/target-finish/1st-stage/initrd/initrd_bootdisk +++ b/package/target-finish/1st-stage/initrd/initrd_bootdisk @@ -28,12 +28,10 @@ /sbin/swapon /sbin/swapon /sbin/swapoff /sbin/swapoff /sbin/udevd /sbin/udevd -/sbin/udevsettle /sbin/udevsettle -/sbin/udevtrigger /sbin/udevtrigger +/sbin/udevadm /sbin/udevadm /sbin/modprobe /sbin/modprobe /sbin/depmod /sbin/depmod /bin/mknod /bin/mknod -/usr/sbin/udevmonitor /usr/sbin/udevmonitor /bin/dmesg /bin/dmesg /usr/bin/wget /usr/bin/wget /usr/bin/expand /usr/bin/expand diff --git a/package/target-finish/1st-stage/linuxrc.sh b/package/target-finish/1st-stage/linuxrc.sh index c8d6781f1..a0842e2f6 100644 --- a/package/target-finish/1st-stage/linuxrc.sh +++ b/package/target-finish/1st-stage/linuxrc.sh @@ -405,8 +405,8 @@ checkisomd5() { # {{{ } # }}} emit_udev_events() { # {{{ - /sbin/udevtrigger - /sbin/udevsettle + /sbin/udevadm trigger + /sbin/udevadm settle } # }}} input=1 diff --git a/package/target-finish/2nd-stage/2nd-stage.conf b/package/target-finish/2nd-stage/2nd-stage.conf index 4e6dabe45..f4fb343f0 100644 --- a/package/target-finish/2nd-stage/2nd-stage.conf +++ b/package/target-finish/2nd-stage/2nd-stage.conf @@ -197,8 +197,8 @@ cat <<- EOT > etc/setup-00-start-udevd.sh #!/bin/sh if [ "$( type -p udevd )" ] ; then udevd --daemon - udevtrigger - udevsettle + udevadm trigger + udevadm settle fi EOT # diff --git a/package/target-finish/initramfs/build.d/initramfs-livecd/07-udev b/package/target-finish/initramfs/build.d/initramfs-livecd/07-udev index 7374cd2e4..268f2fa4b 100644 --- a/package/target-finish/initramfs/build.d/initramfs-livecd/07-udev +++ b/package/target-finish/initramfs/build.d/initramfs-livecd/07-udev @@ -2,11 +2,7 @@ BINLIST=" sbin/udevd -sbin/udevcontrol -sbin/udevsettle -sbin/udevtrigger -usr/bin/udevinfo -usr/bin/udevtest +sbin/udevadm " for x in $BINLIST @@ -20,6 +16,7 @@ dir /etc/udev/rules.d 0755 0 0 file /etc/udev/udev.conf $rootdir/etc/udev/udev.conf 644 0 0 dir /lib/udev 0755 0 0 +dir /lib/udev/rules.d 0755 0 0 dir /lib/udev/devices 0755 0 0 dir /lib/udev/devices/bus 0755 0 0 dir /lib/udev/devices/bus/usb 0755 0 0 @@ -46,7 +43,7 @@ EOF do echo "file $x $rootdir/$x 644 0 0" done - find etc/udev/rules.d -maxdepth 1 -type f | while read x + find {etc,lib}/udev/rules.d -maxdepth 1 -type f | while read x do echo "file $x $rootdir/$x 644 0 0" done diff --git a/package/target-finish/initramfs/files/initramfs-livecd/init.d/20-udev b/package/target-finish/initramfs/files/initramfs-livecd/init.d/20-udev index 9b0f0339b..791cf7ae3 100644 --- a/package/target-finish/initramfs/files/initramfs-livecd/init.d/20-udev +++ b/package/target-finish/initramfs/files/initramfs-livecd/init.d/20-udev @@ -4,8 +4,8 @@ if ! test -e /dev/.udev ; then fi udevd --daemon -udevtrigger -udevsettle +udevadm trigger +udevadm settle mkdir -p /dev/pts mkdir -p /dev/shm diff --git a/package/teha/rockinitramfs/build.d/07-udev b/package/teha/rockinitramfs/build.d/07-udev index d069b4b63..06f10eee9 100644 --- a/package/teha/rockinitramfs/build.d/07-udev +++ b/package/teha/rockinitramfs/build.d/07-udev @@ -2,11 +2,7 @@ BINLIST=" sbin/udevd -sbin/udevcontrol -sbin/udevsettle -sbin/udevtrigger -usr/bin/udevinfo -usr/bin/udevtest +sbin/udevadm " for x in $BINLIST @@ -20,6 +16,7 @@ dir /etc/udev/rules.d 0755 0 0 file /etc/udev/udev.conf $rootdir/etc/udev/udev.conf 644 0 0 dir /lib/udev 0755 0 0 +dir /lib/udev/rules.d 0755 0 0 dir /lib/udev/devices 0755 0 0 dir /lib/udev/devices/bus 0755 0 0 dir /lib/udev/devices/bus/usb 0755 0 0 @@ -37,7 +34,7 @@ EOF ( cd ${rootdir}/ - find etc/udev/rules.d -maxdepth 1 -type f | while read x + find {etc,lib}/udev/rules.d -maxdepth 1 -type f | while read x do echo "file $x $rootdir/$x 644 0 0" done diff --git a/package/teha/rockinitramfs/files/init.d/20-udev b/package/teha/rockinitramfs/files/init.d/20-udev index bd3703d13..e255d5c59 100644 --- a/package/teha/rockinitramfs/files/init.d/20-udev +++ b/package/teha/rockinitramfs/files/init.d/20-udev @@ -1,9 +1,9 @@ mount -t tmpfs none /dev udevd --daemon -udevtrigger +udevadm trigger sleep 2 -udevsettle -echo "sleeping another 3 seconds after udevsettle ran..." +udevadm settle +echo "sleeping another 3 seconds after udevadm settle ran..." sleep 3 mkdir -p /dev/pts mkdir -p /dev/shm