Commit Graph

9 Commits

Author SHA1 Message Date
Anuj Mittal
f13f1dd286 initramfs-framework/udev: call settle before kill
When mount command is executed in rootfs module of initrd, eudev creates
a loop0 device node, applies rules and adds a inotify watch to it. Right
after this step, we execute finish which first tries to kill any running
udevd daemon before doing a switch_root.

In some cases, it is possible that switch_root is executed before
inotify_add_watch was actually processed which would lead to errors like:

| inotify_add_watch(6, /dev/loop0, 10) failed: No such file or directory

Make sure that we process all the events in queue before actually trying
to kill udevd to prevent this race.

Fixes [YOCTO #12861]

(From OE-Core rev: a85c34d263fcf1542bbedcaf1634302466bb20cf)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-20 05:41:31 -07:00
Wills Wang
7a775a1c46 initramfs-framework: create directory /var/run
The following error occurs when udevd startup:
udevd[146]: bind failed: No such file or directory
error binding udev control socket
udevd[146]: error binding udev control socket

(From OE-Core rev: 4db089f10a379bc9a4df287bd657153eb4b94c45)

Signed-off-by: Wills Wang <wills.wang@live.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:53 +00:00
Ross Burton
242ad61580 Revert "initrdscripts: look for new systemd-udevd location"
systemd-udevd is back in /lib, so revert this change.

This reverts commit 27bb516be4.

(From OE-Core rev: 3f6324a86cb8c1c253af06a1033ac71fa61c58d3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:19 +01:00
Ross Burton
27bb516be4 initrdscripts: look for new systemd-udevd location
As per the previous commit, systemd-udevd is now in /sbin/systemd/.

(From OE-Core rev: ff0fd25206c3c75921d51cb80bcb6c94ca47b405)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13 23:53:06 +01:00
Richard Purdie
51cc49ddda initrdscripts: Add udev sbin based libexec path
For better or worse we need to use base_sbindir for udev's libexec dir. This
updates the initrdscripts to also cover the new location. I'd prevously assumed
that it was already covered but its not. udev internal binaries shouldn't be in
PATH so we have to do this to deal with the issue.

(From OE-Core rev: 7e17cba75c20ad820d30128d9b4b0132e7b924a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10 11:49:04 +01:00
Ian Reinhart Geiser
57bbb7d6f4 initramds-framework: add shutdown hook for udev
In cases where other initramfs modules need to rely on
udev running (ie in my case I have to load firmware on
a device that is slow to start) there needs to be a way
to keep it running during the lifecycle of the initramfs
but still be shut down before swith_root is called.  I
added a  module_pre_hook that will shut down udev before
the finish module is called.

(From OE-Core rev: ce690659ef797bd26dc2be59167aa01744841510)

Signed-off-by: Ian Reinhart Geiser <igeiser@devonit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04 13:18:25 +00:00
Otavio Salvador
1b99640481 initramfs-framework: udev: Handle alternative binary paths
This allows use of udev daemon for different installation destinations
so allowing use of udev's from systemd code for initramfs.

(From OE-Core rev: 96daf1b3105e17a67acb5027d0418b2ac28b6820)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03 14:32:46 +00:00
Ross Burton
fe16cbc6ed initrdscripts: fix udevd in the live boot init scripts
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.

Mounts the new devtmpfs on /dev device tree.

(From OE-Core rev: 543606e5dc379497c34196d004a214e847f5db2d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexandru Damian <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-12 22:31:20 +00:00
Otavio Salvador
ed2ac23c5b initramfs-framework: provides a modular initramfs
Provides the API and modules for a modular initramfs. The currently
included modules are:

 * initramfs-module-debug adds support to dynamic debugging of
   initramfs using bootparams

 * initramfs-module-udev: enables udev usage

 * initramfs-module-mdev: enables mdev usage

 * initramfs-module-e2fs: adds support for ext4, ext3 and ext2
   filesystems

(From OE-Core rev: 7b69ad2167a1f0e57db82817b98a0cbcb70a0dd3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00