From 03d5e04dde97ed54893cbb93670cbfdfad6d39c7 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Fri, 26 Jun 2015 12:03:18 +0200 Subject: enable using udev for automatic module loading Signed-off-by: BALATON Zoltan --- package/base-files/Makefile | 6 ++++++ package/base-files/files/rcdev.mdev | 7 +++++++ package/base-files/files/rcdev.udev | 4 ++++ package/base-files/src/etc/init.d/rcS | 11 +++-------- package/eudev/Makefile | 2 +- package/kmod/Makefile | 9 +++++++++ package/kmod/patches/patch-libkmod_libkmod-util_c | 24 ----------------------- 7 files changed, 30 insertions(+), 33 deletions(-) create mode 100644 package/base-files/files/rcdev.mdev create mode 100644 package/base-files/files/rcdev.udev delete mode 100644 package/kmod/patches/patch-libkmod_libkmod-util_c (limited to 'package') diff --git a/package/base-files/Makefile b/package/base-files/Makefile index f25565aa9..84f9a2db1 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -23,6 +23,11 @@ INSTALL_STYLE:= manual do-install: $(CP) ./src/* $(IDIR_BASE_FILES) +ifeq ($(ADK_RUNTIME_DEV_MDEV),y) + $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev +else ifeq ($(ADK_RUNTIME_DEV_UDEV),y) + $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev +endif ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y) @echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces endif @@ -73,6 +78,7 @@ endif ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab rm -rf $(IDIR_BASE_FILES)/var ln -sf tmp $(IDIR_BASE_FILES)/var + ln -sf var/run $(IDIR_BASE_FILES)/run test -z $(ADK_RUNTIME_SHELL) || \ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab ifeq ($(ADK_TARGET_WITH_VGA),y) diff --git a/package/base-files/files/rcdev.mdev b/package/base-files/files/rcdev.mdev new file mode 100644 index 000000000..18f9d1128 --- /dev/null +++ b/package/base-files/files/rcdev.mdev @@ -0,0 +1,7 @@ +# start mdev dynamic device node management +echo >/dev/mdev.seq +if [ -f /proc/sys/kernel/hotplug ];then + echo "/sbin/mdev" >/proc/sys/kernel/hotplug +fi +# creates f.e. /dev/root +mdev -s diff --git a/package/base-files/files/rcdev.udev b/package/base-files/files/rcdev.udev new file mode 100644 index 000000000..340adffa2 --- /dev/null +++ b/package/base-files/files/rcdev.udev @@ -0,0 +1,4 @@ +# start udev dynamic device node management +udevd --daemon +udevadm trigger +udevadm settle diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS index 3e65d0967..3c46c976b 100755 --- a/package/base-files/src/etc/init.d/rcS +++ b/package/base-files/src/etc/init.d/rcS @@ -13,14 +13,6 @@ fi # remount /dev with smaller size mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev -# start mdev dynamic device node management -echo >/dev/mdev.seq -if [ -f /proc/sys/kernel/hotplug ];then - echo "/sbin/mdev" >/proc/sys/kernel/hotplug -fi -# creates f.e. /dev/root -mdev -s - # seed some random cat /etc/.rnd >/dev/urandom 2>&1 @@ -42,6 +34,9 @@ mkdir -p /var/tmp touch /var/log/lastlog touch /var/log/wtmp +# start dynamic device node management +[ -f /etc/init.d/rcdev ] && . /etc/init.d/rcdev + HOSTNAME= [[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname) HOSTNAME=${HOSTNAME%%.*} diff --git a/package/eudev/Makefile b/package/eudev/Makefile index 58f20a063..817752322 100644 --- a/package/eudev/Makefile +++ b/package/eudev/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 2 PKG_HASH:= d3a0c7f613d4917b89afd57498860a1c35b9c59abf9fea22a09c30eec25c32e4 PKG_DESCR:= device manager (udev clone) PKG_SECTION:= sys/utils -PKG_BUILDDEP:= gperf-host glib +PKG_BUILDDEP:= gperf-host kmod-host glib PKG_DEPENDS:= glib kmod PKG_URL:= http://wiki.gentoo.org/wiki/Project:Eudev PKG_SITES:= http://dev.gentoo.org/~blueness/eudev/ diff --git a/package/kmod/Makefile b/package/kmod/Makefile index 59f3c0208..88037f45c 100644 --- a/package/kmod/Makefile +++ b/package/kmod/Makefile @@ -20,8 +20,10 @@ PKG_SUBPKGS:= KMOD LIBKMOD PKGSD_LIBKMOD:= kernel module library PKGSC_LIBKMOD:= libs/misc +include $(ADK_TOPDIR)/mk/host.mk include $(ADK_TOPDIR)/mk/package.mk +$(eval $(call HOST_template,KMOD,kmod,$(PKG_VERSION)-${PKG_RELEASE})) $(eval $(call PKG_template,KMOD,kmod,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,LIBKMOD,libkmod,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_LIBKMOD},${PKGSD_LIBKMOD},${PKGSC_LIBKMOD},${PKG_OPTS})) @@ -44,4 +46,11 @@ libkmod-install: $(CP) $(WRKINST)/usr/lib/libkmod*.so* \ $(IDIR_LIBKMOD)/usr/lib +HOST_CONFIGURE_ARGS+= --disable-manpages \ + --disable-logging + +hostpost-install: + ln -sf kmod $(STAGING_HOST_DIR)/usr/bin/depmod + +include ${ADK_TOPDIR}/mk/host-bottom.mk include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/kmod/patches/patch-libkmod_libkmod-util_c b/package/kmod/patches/patch-libkmod_libkmod-util_c deleted file mode 100644 index 330fce456..000000000 --- a/package/kmod/patches/patch-libkmod_libkmod-util_c +++ /dev/null @@ -1,24 +0,0 @@ ---- kmod-15.orig/libkmod/libkmod-util.c 2013-07-15 17:45:31.000000000 +0200 -+++ kmod-15/libkmod/libkmod-util.c 2013-12-21 18:02:49.000000000 +0100 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - - #include "libkmod.h" -@@ -323,8 +324,12 @@ static inline int is_dir(const char *pat - int mkdir_p(const char *path, int len, mode_t mode) - { - char *start, *end; -+ char buf[PATH_MAX+1]; - -- start = strndupa(path, len); -+ snprintf(buf, sizeof buf, "%s", path); -+ assert(len < sizeof(buf)); -+ buf[len] = 0; -+ start = buf; - end = start + len; - - /* -- cgit v1.2.3