udev additions/tidying
Don't override exec_prefix= and use --with-rootlibdir to copy runtime libs to /lib while keeping most of the stuff in /usr. With this change, we don't have to override pkgconfig, or manually setup .so symlink. It's also friendlier towards builds with enable-extras (which would require more additional fixes). Enable build of static library, which will enable us to add explicit udev support to static builds of dm/lvm. Adjust start_udev: - remount /dev if it's already mounted (due to initramfs or CONFIG_DEVTMPFS_MOUNT), which allows us to set mount options - add inodes limit safeguard - verify udevd is not running before starting it - remove 'settle' between subsystems/devices Signed-off-by: Michal Soltys <soltys@ziu.info>
This commit is contained in:
parent
d600bd6d5a
commit
112bff655d
@ -57,6 +57,7 @@ lrwxrwxrwx root/root usr/bin/udevinfo -> /sbin/udevadm
|
||||
drwxr-xr-x root/root usr/include/
|
||||
-rw-r--r-- root/root usr/include/libudev.h
|
||||
drwxr-xr-x root/root usr/lib/
|
||||
-rw-r--r-- root/root usr/lib/libudev.a
|
||||
-rwxr-xr-x root/root usr/lib/libudev.la
|
||||
lrwxrwxrwx root/root usr/lib/libudev.so -> ../../lib/libudev.so.0.10.0
|
||||
drwxr-xr-x root/root usr/lib/pkgconfig/
|
||||
|
@ -1,2 +1,2 @@
|
||||
572661c0c9cde672fa68250f9a55be94 start_udev
|
||||
443d19ce3b54ef554fc7942a709936e2 start_udev
|
||||
4db27d73fdbe94f47fd89fdd105c2dfb udev-166.tar.bz2
|
||||
|
15
udev/Pkgfile
15
udev/Pkgfile
@ -4,7 +4,7 @@
|
||||
|
||||
name=udev
|
||||
version=166
|
||||
release=1
|
||||
release=2
|
||||
source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \
|
||||
start_udev)
|
||||
|
||||
@ -12,24 +12,21 @@ build() {
|
||||
cd udev-$version
|
||||
|
||||
./configure --prefix=/usr \
|
||||
--exec-prefix= \
|
||||
--sbindir=/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libdir=/usr/lib \
|
||||
--with-rootlibdir=/lib \
|
||||
--libexecdir=/lib/udev \
|
||||
--mandir=/usr/man \
|
||||
--disable-extras \
|
||||
--disable-introspection
|
||||
--disable-introspection \
|
||||
--enable-static
|
||||
|
||||
make
|
||||
make install DESTDIR=$PKG pkgconfigdir=/usr/lib/pkgconfig
|
||||
make install DESTDIR=$PKG
|
||||
|
||||
mkdir -p $PKG/lib/{firmware,udev/devices/{pts,shm}}
|
||||
mkdir -p $PKG/lib
|
||||
|
||||
# Fix location of libaries
|
||||
mv $PKG/usr/lib/libudev.so.* $PKG/lib
|
||||
ln -sf ../../lib/$(readlink $PKG/usr/lib/libudev.so) $PKG/usr/lib/libudev.so
|
||||
|
||||
# Populate nodes
|
||||
mknod -m 600 $PKG/lib/udev/devices/console c 5 1
|
||||
mknod -m 600 $PKG/lib/udev/devices/kmsg c 1 11
|
||||
|
@ -1,16 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# mount /dev as a devtmpfs or tmpfs, depending on current kernel capability
|
||||
# mount only, if it's not already mounted (e.g. after handover from initramfs)
|
||||
# note: some video drivers require exec access in /dev
|
||||
if ! /bin/mountpoint -q /dev ; then
|
||||
if ! /bin/sed -n '/devtmpfs/q1' /proc/filesystems ; then
|
||||
UDEVFS=devtmpfs
|
||||
else
|
||||
# - if /dev is not mounted - mount as a devtmpfs (CONFIG_DEVTMPFS=y) or tmpfs
|
||||
# - if /dev is mounted (e.g. due to handover from initramfs or
|
||||
# CONFIG_DEVTMPFS_MOUNT=y), remount with specific options
|
||||
# - some video drivers require exec access in /dev, thus it's set here
|
||||
# - for completness, we add few sanity limits (2k non-empty files, 16k inodes)
|
||||
|
||||
UDEVOPTS="exec,nosuid,noatime,mode=0755,nr_blocks=2048,nr_inodes=16384"
|
||||
if /bin/mountpoint -q /dev ; then
|
||||
/bin/mount -n -o remount,${UDEVOPTS} dev /dev
|
||||
else
|
||||
if /bin/sed -n '/devtmpfs/q1' /proc/filesystems ; then
|
||||
UDEVFS=tmpfs
|
||||
else
|
||||
UDEVFS=devtmpfs
|
||||
fi
|
||||
|
||||
/bin/mount -n -t $UDEVFS udev /dev -o exec,nosuid,mode=0755,size=8M
|
||||
/bin/mount -n -t $UDEVFS -o ${UDEVOPTS} dev /dev
|
||||
fi
|
||||
|
||||
# make sure hotplugger is not set
|
||||
@ -19,12 +24,11 @@ echo > /proc/sys/kernel/hotplug
|
||||
# since v155, udevd automatically copies /lib/udev/devices
|
||||
# and creates /proc/{kcore,self/fd/{0,1,2}} symlinks
|
||||
|
||||
# launch udev daemon
|
||||
/sbin/udevd --daemon
|
||||
# launch udev daemon, make sure it's not running first
|
||||
test -z "$(/bin/pidof -s udevd)" && /sbin/udevd --daemon
|
||||
|
||||
# coldplug devices and wait for the queue to be processed
|
||||
/sbin/udevadm trigger --type=subsystems --action=add
|
||||
/sbin/udevadm settle
|
||||
/sbin/udevadm trigger --type=devices --action=add
|
||||
/sbin/udevadm settle
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user