Harald Hoyer [Mon, 4 Jun 2012 11:56:55 +0000 (13:56 +0200)]
systemd/dracut-pre-trigger.sh: fixed rd.udev.{debug|info}
Harald Hoyer [Mon, 4 Jun 2012 11:12:07 +0000 (13:12 +0200)]
systemd/module-setup.sh: package udev in sysinit.target
Harald Hoyer [Mon, 4 Jun 2012 11:11:38 +0000 (13:11 +0200)]
udev-rules: check for systemd-udevd symlink already present
Harald Hoyer [Mon, 4 Jun 2012 10:58:42 +0000 (12:58 +0200)]
use pkg-config to determine the udev directory
Harald Hoyer [Mon, 4 Jun 2012 10:55:32 +0000 (12:55 +0200)]
systemd: use pkg-config to determine the systemd directories
Harald Hoyer [Mon, 4 Jun 2012 09:35:31 +0000 (11:35 +0200)]
test/TEST-16-DMSQUASH: add check for python-imgcreate
Harald Hoyer [Mon, 4 Jun 2012 09:35:02 +0000 (11:35 +0200)]
test/test-functions: check with test_check() if test is suitable
Harald Hoyer [Mon, 4 Jun 2012 09:33:29 +0000 (11:33 +0200)]
dracut.sh: do not rely on the presence of lib64, check with ldd
Cong Wang [Thu, 31 May 2012 14:07:38 +0000 (22:07 +0800)]
Handle multiple underlying devices of a bridge
A bridge device with only one underlying ethernet device is almost
useless, for sure we want to support a bridge with multiple
underlying devices.
This patch adds the support by extending <ethname> in the original
bridge= cmdline to a comma-separated list of ethernet interfaces.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Jesse Keating [Fri, 1 Jun 2012 01:41:25 +0000 (18:41 -0700)]
Don't set an already set attribute (#826357)
Depending on how the dasd_mod module was loaded, our device could have
already been marked as online or offline. We need to make the sysecho
sensitive to this and not fail if the attribute we're trying to set has
already been set.
Harald Hoyer [Mon, 4 Jun 2012 07:58:49 +0000 (09:58 +0200)]
99base/init.sh: kill systemd-udevd instead of udevd
Harald Hoyer [Mon, 4 Jun 2012 07:09:09 +0000 (03:09 -0400)]
base/loginit.sh: revert "quiet" patch
Harald Hoyer [Mon, 4 Jun 2012 07:08:24 +0000 (03:08 -0400)]
systemd: mkdir basic.target.wants
Harald Hoyer [Mon, 4 Jun 2012 07:07:43 +0000 (03:07 -0400)]
TODO: update
Harald Hoyer [Fri, 1 Jun 2012 16:51:47 +0000 (18:51 +0200)]
add README.testsuite
Harald Hoyer [Fri, 1 Jun 2012 15:09:25 +0000 (17:09 +0200)]
fix return value of some installkernel() functions
Harald Hoyer [Thu, 31 May 2012 10:57:23 +0000 (12:57 +0200)]
add filesystem options to fsck_single()
if we have e.g. special btrfs options for "/" and "/usr", we want to use
those for the test mount to determine if the filesystem is corrupted.
Harald Hoyer [Thu, 31 May 2012 09:46:10 +0000 (11:46 +0200)]
crypt: add rd.luks.allow-discards and honor options in crypttab
also fixed the retry loop for rd.luks.key
Harald Hoyer [Thu, 31 May 2012 07:56:24 +0000 (09:56 +0200)]
dracut-shutdown.service: do not unpack old initramfs on shutdown
Do not unpack the initramfs, if the old initramfs still exists.
Harald Hoyer [Thu, 31 May 2012 07:14:17 +0000 (09:14 +0200)]
removed scsi_wait_scan from standard install
Harald Hoyer [Thu, 31 May 2012 07:12:51 +0000 (09:12 +0200)]
dasd_mod/parse-dasd-mod.sh: fixed dasd_mod param generation
Harald Hoyer [Tue, 29 May 2012 15:38:18 +0000 (17:38 +0200)]
network: do not arping with qeth layer3 interfaces
https://bugzilla.redhat.com/show_bug.cgi?id=825783
Harald Hoyer [Tue, 29 May 2012 14:10:46 +0000 (16:10 +0200)]
url-lib/url-lib.sh: disable curl progress bar
https://bugzilla.redhat.com/show_bug.cgi?id=817301
https://bugzilla.redhat.com/show_bug.cgi?id=824883
Will Woods [Tue, 22 May 2012 22:31:07 +0000 (18:31 -0400)]
add anaconda-style option parsing to ip_to_var
Anaconda used arguments of the form:
ip=<ip> gateway=<gw> netmask=<nm>
for static IP configuration. So if we get a value for "ip" that's an IP
address, look for gateway= and netmask= and related args to fill in the
ip config vars.
Will Woods [Tue, 22 May 2012 22:16:12 +0000 (18:16 -0400)]
do emergency_shell in die() if rd.debug=1
If I said 'rd.debug=1' I should get to debug the system before it dies,
right?
Will Woods [Tue, 22 May 2012 22:16:11 +0000 (18:16 -0400)]
don't wait_for_loginit in emergency_shell()
wait_for_loginit ends the log; this is unhelpful if you're using
emergency_shell to do debugging.
Just leave loginit running. It doesn't hurt anything.
Will Woods [Tue, 22 May 2012 21:55:00 +0000 (17:55 -0400)]
dracut-lib.sh: add copytree(), use it where applicable
copytree() recursively copies the contents of SRC into DEST.
If DEST doesn't exist it is created; if it exists the contents of SRC
get merged into it (duplicate files are overwritten).
Cong Wang [Tue, 29 May 2012 09:00:34 +0000 (17:00 +0800)]
Update the documentation of ifname= cmdline
The documentation about ifname= needs to update.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:35 +0000 (17:00 +0800)]
Remove rd.neednet cmdline
rd.neednet could be removed, as we can check /tmp/net.ifaces.
After this patch, kdump can bring up the NIC without
rd.neednet.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:33 +0000 (17:00 +0800)]
Do not use ifenslave
ifenslave is an old tool, and could be dropped,
we can use the /sys interface.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:32 +0000 (17:00 +0800)]
Remove netroot check in cmdline parsing code
Relax the rules for kdump, we don't specify netroot in kdump.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:31 +0000 (17:00 +0800)]
Add doc for birdge= cmdline
Document bridge= cmdline in dracut.cmdline(7).
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:30 +0000 (17:00 +0800)]
Add doc for bond= cmdline
Document bond= cmdline in dracut.cmdline(7).
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:29 +0000 (17:00 +0800)]
Add doc for vlan= cmdline
Document vlan= cmdline in dracut.cmdline(7).
Cc: Dave Young <dyoung@redhat.com>
Cc: Harald Hoyer <harald@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cong Wang [Tue, 29 May 2012 09:00:28 +0000 (17:00 +0800)]
Add vlan support in network module
This patch adds basic vlan support in network module.
The cmdline syntax for vlan is:
vlan=<vlanname>:<phydevice>
for an example:
vlan=eth0.2:eth0
or
vlan=vlan2:eth0
See also patch 2/8.
Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Harald Hoyer [Tue, 29 May 2012 08:18:20 +0000 (10:18 +0200)]
base/init.sh: use info() instead of vinfo() for version info
Thanks to Cong Wang for the hint
Harald Hoyer [Tue, 29 May 2012 07:17:43 +0000 (09:17 +0200)]
systemd/module-setup.sh: add journalctl and systemctl
Cong Wang [Tue, 29 May 2012 07:17:01 +0000 (09:17 +0200)]
Relax the rules for kdump, we don't specify netroot in kdump.
Juan RP [Mon, 28 May 2012 14:17:28 +0000 (16:17 +0200)]
dmsquash-live: do not hardcode path to mount(8) in generated hook.
In some cases (at least in mine) mount(8) is in /usr/bin/mount and
not in /bin/mount as dmsquash-live-root.sh expects. PATH is set to
/usr/bin:/usr/sbin:/sbin:/bin in that script anyway.
Juan RP [Mon, 28 May 2012 14:14:35 +0000 (16:14 +0200)]
modules.d/99base/init.sh: check for a valid init in case INIT is a symlink.
Obviously we have to test if it's executable with the PATH to NEWROOT.
Harald Hoyer [Tue, 22 May 2012 12:52:36 +0000 (14:52 +0200)]
drop 10rpmversion module and introduce /etc/initrd-release
Harald Hoyer [Tue, 22 May 2012 12:50:19 +0000 (14:50 +0200)]
renamed switch-root.{service,target} -> initrd-switch-root
Harald Hoyer [Tue, 22 May 2012 12:28:34 +0000 (14:28 +0200)]
add dracut-version.sh
Harald Hoyer [Tue, 22 May 2012 09:36:41 +0000 (11:36 +0200)]
ifcfg/write-ifcfg.sh: fixed IFS resetting
Jesse Keating [Fri, 18 May 2012 21:50:20 +0000 (14:50 -0700)]
Normalize dasd argument content for dasd.conf
Also overwrite any existing files, contents from CMSCONFFILE override
any boot arguments.
Jesse Keating [Fri, 18 May 2012 21:06:54 +0000 (14:06 -0700)]
Translate dasd arg contents into proper dasd.conf
This uses a (new) s390utils utility to normalize the range we might get
in a dasd argument and generates a properly formatted output for
dasd.conf.
Jesse Keating [Tue, 15 May 2012 20:42:47 +0000 (13:42 -0700)]
Use the right argument for dasd module options
The legacy argument is DASD=, and the new arguments should be the same
as the arguments for populating dasd.conf. If multiple arguments are
passed we can stack them by inserting a ',' between them.
Dennis Gilmore [Thu, 17 May 2012 06:33:17 +0000 (01:33 -0500)]
ARM: make sure that we get the storage modules into the initramfs
WANG Cong [Fri, 18 May 2012 05:38:17 +0000 (13:38 +0800)]
check ifenslave instead of brctl in parse-bond.sh
This is obviously wrong, ifenslave instead of brctl is needed for bonding.
Cc: Harald Hoyer <harald@redhat.com>
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Dave Young [Mon, 21 May 2012 08:37:06 +0000 (16:37 +0800)]
add option --printsize
Add --printsize for measuring module installed size to initramfs
Signed-off-by: Dave Young <dyoung@redhat.com>
Harald Hoyer [Wed, 16 May 2012 09:51:26 +0000 (11:51 +0200)]
TEST-01-BASIC: sync after creating the root disk
Vivek Goyal [Tue, 15 May 2012 17:36:11 +0000 (13:36 -0400)]
dracut:fstab-sys: Wait for devices specified using --mount option
dracut allows passing --mount option which mounts the specified devices.
But it does not wait for these devices to show up and mounting will fail
if devices do not show up by the time "mount" was called.
I am writing some patches to support kdump on iscsi target and I noticed
that one of the initqueue script was not called as we found the root
device and broke out of main loop.
There are two possible enancements to this patch.
- Introduce a time limited wait (rd.timeout something along the lines of
rd.retry). That will allow kdump to try to dump to a backup target if
primary targets fails to come up.
- Wait for UUID= and LABEL= to show up too. Right now kdump converts
UUID= and LABEL= to respective devices and passes /dev/* to dracut
--mount option. So I am not introducing the wait for UUID= or LABEL=
in this patch.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Cong Wang [Tue, 15 May 2012 06:19:57 +0000 (14:19 +0800)]
check install files passed by cmdline
We should not trust cmdline passed by users, always
check the install files passed from cmdline. This restores
the old behaviour which was changed by:
commit
c6c6a08850c7e4ee211696895f7ca3864be85052
Author: Harald Hoyer <harald@redhat.com>
Date: Tue Feb 7 18:26:30 2012 +0100
add "install_items" to dracut.conf
Reported-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Harald Hoyer <harald@redhat.com>
Cong Wang [Tue, 15 May 2012 06:19:56 +0000 (14:19 +0800)]
check kernel module existance
This patch adds check of kernel module existance and
propagate errors to upper callers.
In case of break other callers of instmods(), this patch
adds an option '-c' to it, only when "-c" is specified
we fail, otherwise, errors are ignored.
Reported-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Harald Hoyer <harald@redhat.com>
Olivier Blin [Thu, 10 May 2012 20:58:22 +0000 (22:58 +0200)]
90kernel-modules/module-setup.sh: install xhci-hcd
to allow booting and using kbd devices from USB 3.0
Harald Hoyer [Wed, 16 May 2012 09:28:42 +0000 (11:28 +0200)]
Makefile: install dracut service files from systemd dracut module
Harald Hoyer [Wed, 16 May 2012 09:24:42 +0000 (11:24 +0200)]
systemd: store switch-root.conf in /run/initramfs
Store switch-root.conf in /run/initramfs/switch-root.conf, so that the
service does not fail in ExecPost after switching to the real root.
Harald Hoyer [Wed, 16 May 2012 09:22:28 +0000 (11:22 +0200)]
systemd/switch-root.service: do not require shutdown and isolate to default
do not require shutdown.target and final.target
After switch-root isolate to the default target. This will load the
default target in the real root after systemd deserializes.
Harald Hoyer [Wed, 16 May 2012 09:21:33 +0000 (11:21 +0200)]
systemd/switch-root.target: run target before switch-root.service
Harald Hoyer [Wed, 16 May 2012 09:20:59 +0000 (11:20 +0200)]
systemd/dracut-pre-pivot.sh: s/udevd.service/systemd-udev.service/
Harald Hoyer [Tue, 15 May 2012 17:03:50 +0000 (19:03 +0200)]
base/module-setup.sh: link /proc/self/mounts to $initdir/etc/mtab
Harald Hoyer [Tue, 15 May 2012 16:57:29 +0000 (18:57 +0200)]
systemd: adapt to new switch-root mechanism
Harald Hoyer [Thu, 10 May 2012 12:31:05 +0000 (14:31 +0200)]
ifcfg/write-ifcfg.sh: add s390 specific configuration options
https://bugzilla.redhat.com/show_bug.cgi?id=811521
Harald Hoyer [Thu, 10 May 2012 12:30:31 +0000 (14:30 +0200)]
Makefile: call git2spec.pl with LANG=C
Brian C. Lane [Wed, 9 May 2012 18:15:03 +0000 (11:15 -0700)]
Fail to boot if mediacheck fails (#817419)
The return value of checkisomd5 was being ignored.
Harald Hoyer [Wed, 9 May 2012 13:13:28 +0000 (15:13 +0200)]
dracut.spec: add 98systemd module
Harald Hoyer [Wed, 9 May 2012 12:58:52 +0000 (14:58 +0200)]
ifcfg/write-ifcfg.sh: use PREFIX for prefix netmask form
https://bugzilla.redhat.com/show_bug.cgi?id=820185
Harald Hoyer [Wed, 9 May 2012 09:47:30 +0000 (11:47 +0200)]
add systemd module
Harald Hoyer [Wed, 9 May 2012 09:07:46 +0000 (11:07 +0200)]
rootfs-block/block-genrules.sh: install systemd mount unit
Harald Hoyer [Wed, 9 May 2012 11:13:19 +0000 (13:13 +0200)]
dracut.sh: install var/run and var/lock
Harald Hoyer [Wed, 9 May 2012 09:44:23 +0000 (11:44 +0200)]
base/dracut-lib.sh: export UDEVVERSION
Harald Hoyer [Wed, 9 May 2012 09:42:39 +0000 (11:42 +0200)]
base/init.sh: set DRACUT_QUIET only in dracut-lib.sh
Harald Hoyer [Wed, 9 May 2012 09:05:12 +0000 (11:05 +0200)]
plymouth/plymouth-pretrigger.sh: get consoledev from /sys/class/tty/console/active
Harald Hoyer [Mon, 7 May 2012 14:32:28 +0000 (16:32 +0200)]
test/TEST-01-BASIC/test.sh: fix cleanup of overlay dir
Harald Hoyer [Mon, 7 May 2012 14:28:44 +0000 (16:28 +0200)]
dracut.spec: require "file"
Harald Hoyer [Mon, 7 May 2012 14:28:16 +0000 (16:28 +0200)]
plymouth/plymouth-pretrigger.sh: check for tty dev existence
Harald Hoyer [Mon, 7 May 2012 14:27:48 +0000 (16:27 +0200)]
removed old udev "vol_id"
Harald Hoyer [Fri, 4 May 2012 09:32:48 +0000 (11:32 +0200)]
TODO: update
Will Woods [Tue, 1 May 2012 18:08:34 +0000 (14:08 -0400)]
ifcfg: fix resolv.conf
/etc/net.*.resolv.conf is not a useful filename; copy it to resolv.conf
Will Woods [Tue, 1 May 2012 18:08:33 +0000 (14:08 -0400)]
fix _getcmdline arg-duplicating bug with /etc/cmdline*
If you unset CMDLINE to make _getcmdline re-read /etc/cmdline and
/etc/cmdline.d/*, CMDLINE_ETC and CMDLINE_ETC_D would keep their
contents.
This is a serious problem if you have (e.g.) "ip=eth0:dhcp" in
/etc/cmdline.d/net.conf, because getargs ip= will return
"ip=eth0:dhcp ip=eth0:dhcp" and then parse-ip-opts.sh will die() because
you have two configurations for eth0.
Harald Hoyer [Wed, 25 Apr 2012 12:23:12 +0000 (14:23 +0200)]
TEST-15-BTRFSRAID: add one more partition to the btrfs raid10
Harald Hoyer [Wed, 25 Apr 2012 10:22:15 +0000 (12:22 +0200)]
udev-rules/module-setup.sh: fixed udevd location
Harald Hoyer [Wed, 25 Apr 2012 09:23:49 +0000 (11:23 +0200)]
multipath/module-setup.sh: fix host-only/mount checks
Harald Hoyer [Wed, 25 Apr 2012 09:23:10 +0000 (11:23 +0200)]
iscsi/module-setup.sh: fix host-only/mount checks
Harald Hoyer [Tue, 24 Apr 2012 11:08:57 +0000 (13:08 +0200)]
ifcfg: write DNS1=... for nameserver= args (RHBZ#815369)
If you're using a static network config, you'll want to keep your
nameservers around when NM starts. Write DNS1 (and DNS2, DNS3, etc..)
into the ifcfg file.
Thanks to Mark Hamzy <hamzy@us.ibm.com>
and Will Woods <wwoods@redhat.com> for the patch.
Harald Hoyer [Mon, 23 Apr 2012 09:31:59 +0000 (11:31 +0200)]
network: fix ifup and netroot calling
Harald Hoyer [Mon, 23 Apr 2012 09:31:32 +0000 (11:31 +0200)]
merge "cleanup" and "pre-pivot-cleanup" hooks
Harald Hoyer [Mon, 23 Apr 2012 09:30:08 +0000 (11:30 +0200)]
base/dracut-lib.sh: add arguments for source_hook() and source_all()
Harald Hoyer [Mon, 23 Apr 2012 09:28:59 +0000 (11:28 +0200)]
base: add export_n() function
resembles export -n for dash
Harald Hoyer [Mon, 23 Apr 2012 09:28:10 +0000 (11:28 +0200)]
base: add debug_on() and debug_off() functions
Will Woods [Fri, 20 Apr 2012 20:20:25 +0000 (16:20 -0400)]
url-lib: don't use --progress-bar if TERM=dumb (RHBZ#814713)
Basically, s390 is the only place I've ever seen TERM=dumb, and it's too
dumb to handle '\r', so --progress-bar produces waaaaay too much output.
The normal progress meter only prints something once per second, so
that's reasonable on terminals where '\r' doesn't work.
See also: https://bugzilla.redhat.com/show_bug.cgi?id=814713
Will Woods [Fri, 20 Apr 2012 20:20:24 +0000 (16:20 -0400)]
url-lib: don't add existing handlers multiple times
Every time url-lib gets imported we end up making the list of handlers
longer with redundant entries. That's silly - we shouldn't add items
that already exist.
Note that this means you'll have to manipulate the handler list yourself
if you want to change the position/priority of existing handlers.
Harald Hoyer [Thu, 19 Apr 2012 14:41:04 +0000 (16:41 +0200)]
network/parse-ip-opts.sh: remove check for netroot
with anaconda and all other kind of stuff, we might want network, even
for root not on the network
Dave Young [Thu, 19 Apr 2012 04:01:43 +0000 (12:01 +0800)]
move cleanup scripts to pre-pivot-cleanup hook
below cleanup scripts is moved:
40network: kill-dhclient.sh
90crypt: crypt-cleanup.sh
90multipath: multipathd-stop.sh
95iscsi: cleanup-iscsi.sh
95nfs: nfsroot-cleanup.sh
Signed-off-by: Dave Young <dyoung@redhat.com>
Dave Young [Thu, 19 Apr 2012 04:01:36 +0000 (12:01 +0800)]
add pre-pivot-cleanup hook
Sometimes some hook script will need to be before the cleanup hook scripts
For example dhclient killing, nfs cleanup, etc. must not happen before kdump
because it will use their fuctionalities.
So here introduce a new hook pre-pivot-cleanup, all cleanup scripts will go there.
that means pre-pivot hook is splited to two hooks pre-pivot and pre-pivot-cleanup
Signed-off-by: Dave Young <dyoung@redhat.com>
Harald Hoyer [Wed, 18 Apr 2012 11:49:48 +0000 (13:49 +0200)]
network/module-setup.sh: include all kernel/drivers/net/phy drivers
Harald Hoyer [Wed, 18 Apr 2012 11:14:55 +0000 (13:14 +0200)]
Makefile: do not install systemd service in reboot
shutdown is enough. It is pulled in on reboot.
Harald Hoyer [Wed, 18 Apr 2012 11:08:12 +0000 (13:08 +0200)]
99shutdown/shutdown.sh: export PATH
Harald Hoyer [Wed, 18 Apr 2012 10:44:00 +0000 (12:44 +0200)]
base/init.sh: mount tmpfs with strictatime
Harald Hoyer [Wed, 18 Apr 2012 10:42:39 +0000 (12:42 +0200)]
udevd moved to /lib/systemd/systemd-udevd