8 Commits

Author SHA1 Message Date
Saul Wold
f744edc0b8 systemd: Ensure that we mount devtmpfs
Since systemd also used tmpfs we should make a similar patch for
the systemd-udev script

Fix for bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=4632
Since udev 172, the 'mknod' logic was removed from udev. Yocto Dylan
is now using udev 182. This means /dev is now required to be a
devtmpfs filesystem (maintained by the kernel).    If the root
filesystem is a ramdisk,  the kernel's auto-mount of /dev doesn't
activate since there is no rootfs to actually mount...  The bug causes
an unusable system as /dev doesn't contain even basic nodes required
to even get a login prompt.

The Yocto  udev/init script mounts tmpfs if it does not detect tmpfs
or devtmpfs mounted at /dev.  This appears to be  outdated logic that
is no longer correct. I believe the Yocto udev init script should be
checking and mounting only 'devtmpfs' on dev.

(From OE-Core rev: d3616f31617830cac9375e8f4aa33e344ac554ed)

Signed-off-by: Alex Olson <alex.olson+yocto@gmail.com>

[YOCTO #4632]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-28 09:14:07 +01:00
Chen Qi
9d68aa5e35 udev-cache: fix to use udev-cache correctly
Previouly, the udev-cache has no real effect even if it's installed
into the system. The key problem here is that at first boot, the
/etc/dev.tar is not present, thus resulting /dev/shm/udev.cache not
created on first boot even if udev-cache is enabled.

This patch fixes this problem. The /dev/shm/udev.cache will be created
if necessary, that is, on first boot or when some part of the system is
changed. In the latter case, the udev cache may not be valid.

[YOCTO #4738]

(From OE-Core rev: 84e0ec2e677fb0236a38478372cdd75797cf5a2e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25 17:44:56 +01:00
Hongxu Jia
5722129be3 systemd-udevd: fix invoking init script failed
root@emenlow-noemgd:~# /etc/init.d/systemd-udevd restart
Stopping udevd
Starting udev
corrupt queue file
root@emenlow-noemgd:~# /etc/init.d/systemd-udevd status
udevd is stopped
root@emenlow-noemgd:~# ps
3805 root      8728 S    /lib/systemd/systemd-udevd

The process name is systemd-udevd rather than udev which is
used in systemd-udevd's init script.

[YOCTO #4746]

(From OE-Core rev: 8f59aa06f3eb955d58600dfc628bd3b5d2aa0f9a)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-18 17:33:17 +01:00
Jonathan Liu
93107a1331 systemd: do not create symbolic link from /run to /var/run
The /run directory already exists as a tmpfs with /var/run as a symbolic
link pointing to /run.

(From OE-Core rev: ee8e5b3ddaae1d3ae473a3cea2ff60fcee5877a2)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-29 22:07:56 +01:00
Jonathan Liu
6d897ea217 systemd: do not create /var/volatile/run and /var/volatile/lock
The directories are not needed anymore.

Previously:
/var/run  -> /var/volatile/run
/var/lock -> /var/volatile/lock

Now:
/var/run  -> /run
/var/lock -> /run/lock

(From OE-Core rev: b314519f31699946140c93da961ff79e5ee28ccd)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-29 22:07:56 +01:00
Richard Purdie
9fde3037b7 systemd: Fix udevd init script so sysvinit in systemd mode works
Commit http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=f76d4b3549ca220fa4bf84db2756ab45e11d06a3
moved volatiles handling for /run to the udev code only. This breaks
sysvinit+systemd combined systems when building sysvinit images.

This patch hacks the udevd init script in systemd to provide
the missing symlink allowing the sysvinit images built with udevd
from systemd to work correctly.

(From OE-Core rev: 6c6e5dc0baccd0904f785b1f80f39b5f530779cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18 00:37:58 +01:00
Ross Burton
b528fee135 systemd: move the binaries to /sbin/systemd
As with udev, placing binaries in /lib breaks our current multilib
implementation.  Change the rootlibexecdir to /sbin/systemd so that binaries
don't move in multilib situations.

(From OE-Core rev: d612ca261d12e89e96675c24d9d7456319179720)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13 23:53:05 +01:00
Ross Burton
a89520ffe1 systemd: add udev init script for hybrid sysvinit/systemd usage
With both sysvinit and systemd features it's possible to use systemd's udev with
sysvinit, so add the required init script.

(From OE-Core rev: b58a176936740e8e291f1e82229a8ca044bdb044)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26 22:43:03 +00:00