This patch provides modutils and module-init-tools. I know busybox can load modules, but modinfo may also be very useful for kernel/driver debugging purposes. I have managed binaries concurrency between modutils and module-init-tools, but I'm not sure this is the best way to do it... Thanks for your work.
This commit is contained in:
parent
8d1ce2a787
commit
d5b0e08e9d
@ -66,6 +66,8 @@ source "package/microcom/Config.in"
|
||||
source "package/microperl/Config.in"
|
||||
source "package/microwin/Config.in"
|
||||
source "package/mkdosfs/Config.in"
|
||||
source "package/module-init-tools/Config.in"
|
||||
source "package/modutils/Config.in"
|
||||
source "package/mpg123/Config.in"
|
||||
source "package/mrouted/Config.in"
|
||||
source "package/mtd/Config.in"
|
||||
|
10
package/module-init-tools/Config.in
Normal file
10
package/module-init-tools/Config.in
Normal file
@ -0,0 +1,10 @@
|
||||
config BR2_PACKAGE_MODULE_INIT_TOOLS
|
||||
bool "module-init-tools"
|
||||
default n
|
||||
help
|
||||
The module-init-tools package contains a set of programs for
|
||||
loading, inserting, and removing kernel modules for Linux
|
||||
(versions 2.5.48 and above). It serves the same function that
|
||||
the "modutils" package serves for Linux 2.4.
|
||||
|
||||
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/
|
73
package/module-init-tools/module-init-tools.mk
Normal file
73
package/module-init-tools/module-init-tools.mk
Normal file
@ -0,0 +1,73 @@
|
||||
#############################################################
|
||||
#
|
||||
# module-init-tools
|
||||
#
|
||||
#############################################################
|
||||
MODULE_INIT_TOOLS_SOURCE=module-init-tools-3.1.tar.bz2
|
||||
MODULE_INIT_TOOLS_SITE=ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/
|
||||
MODULE_INIT_TOOLS_DIR=$(BUILD_DIR)/module-init-tools-3.1
|
||||
MODULE_INIT_TOOLS_BINARY=modprobe
|
||||
MODULE_INIT_TOOLS_TARGET_BINARY=$(TARGET_DIR)/sbin/$(MODULE_INIT_TOOLS_BINARY)
|
||||
|
||||
STRIPPROG=$(STRIP)
|
||||
|
||||
$(DL_DIR)/$(MODULE_INIT_TOOLS_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(MODULE_INIT_TOOLS_SITE)/$(MODULE_INIT_TOOLS_SOURCE)
|
||||
|
||||
$(MODULE_INIT_TOOLS_DIR)/.source: $(DL_DIR)/$(MODULE_INIT_TOOLS_SOURCE)
|
||||
bzcat $(DL_DIR)/$(MODULE_INIT_TOOLS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
toolchain/patch-kernel.sh $(MODULE_INIT_TOOLS_DIR) \
|
||||
package/module-init-tools \*.patch
|
||||
touch $(MODULE_INIT_TOOLS_DIR)/.source
|
||||
|
||||
$(MODULE_INIT_TOOLS_DIR)/.configured: $(MODULE_INIT_TOOLS_DIR)/.source
|
||||
(cd $(MODULE_INIT_TOOLS_DIR); \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
INSTALL=$(MODULE_INIT_TOOLS_DIR)/install-sh \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/ \
|
||||
--sysconfdir=/etc \
|
||||
--program-transform-name='' \
|
||||
);
|
||||
touch $(MODULE_INIT_TOOLS_DIR)/.configured;
|
||||
|
||||
$(MODULE_INIT_TOOLS_DIR)/$(MODULE_INIT_TOOLS_BINARY): $(MODULE_INIT_TOOLS_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC) -C $(MODULE_INIT_TOOLS_DIR)
|
||||
|
||||
ifeq ($(strip $(BR2_PACKAGE_MODUTILS)),y)
|
||||
$(TARGET_DIR)/$(MODULE_INIT_TOOLS_TARGET_BINARY): \
|
||||
$(MODULE_INIT_TOOLS_DIR)/$(MODULE_INIT_TOOLS_BINARY) \
|
||||
modutils
|
||||
else
|
||||
$(TARGET_DIR)/$(MODULE_INIT_TOOLS_TARGET_BINARY): \
|
||||
$(MODULE_INIT_TOOLS_DIR)/$(MODULE_INIT_TOOLS_BINARY)
|
||||
endif
|
||||
ifeq ($(strip $(BR2_PACKAGE_MODUTILS)),y)
|
||||
$(MAKE) prefix=$(TARGET_DIR) -C $(MODULE_INIT_TOOLS_DIR) moveold
|
||||
endif
|
||||
STRIPPROG='$(STRIPPROG)' \
|
||||
$(MAKE) prefix=$(TARGET_DIR) -C $(MODULE_INIT_TOOLS_DIR) install-exec
|
||||
rm -Rf $(TARGET_DIR)/usr/man
|
||||
|
||||
module-init-tools: uclibc $(TARGET_DIR)/$(MODULE_INIT_TOOLS_TARGET_BINARY)
|
||||
|
||||
module-init-tools-source: $(DL_DIR)/$(MODULE_INIT_TOOLS_SOURCE)
|
||||
|
||||
module-init-tools-clean:
|
||||
$(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODULE_INIT_TOOLS_DIR) uninstall
|
||||
-$(MAKE) -C $(MODULE_INIT_TOOLS_DIR) clean
|
||||
|
||||
module-init-tools-dirclean:
|
||||
rm -rf $(MODULE_INIT_TOOLS_DIR)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
## Toplevel Makefile options
|
||||
#
|
||||
##############################################################
|
||||
ifeq ($(strip $(BR2_PACKAGE_MODULE_INIT_TOOLS)),y)
|
||||
TARGETS+=module-init-tools
|
||||
endif
|
77
package/module-init-tools/module-init-tools.patch
Normal file
77
package/module-init-tools/module-init-tools.patch
Normal file
@ -0,0 +1,77 @@
|
||||
diff -aur module-init-tools-3.1~orig/Makefile.in module-init-tools-3.1~patched/Makefile.in
|
||||
--- module-init-tools-3.1~orig/Makefile.in 2004-11-15 01:59:48.000000000 +0100
|
||||
+++ module-init-tools-3.1~patched/Makefile.in 2005-03-22 22:10:26.843808464 +0100
|
||||
@@ -613,7 +613,7 @@
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
|
||||
check: check-am
|
||||
-all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS)
|
||||
+all-am: Makefile $(PROGRAMS) $(SCRIPTS)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir)
|
||||
@@ -760,17 +760,10 @@
|
||||
|
||||
release: check clean tarball testsuite
|
||||
|
||||
-moveold: check-for-sbin check-for-old move-old-targets
|
||||
-
|
||||
-check-for-sbin:
|
||||
- if [ "`echo $(DESTDIR)$(sbindir) | tr -s / /`" = /sbin ]; then :; \
|
||||
- else \
|
||||
- echo moveold usually only makes sense when installing into /sbin; \
|
||||
- exit 1; \
|
||||
- fi
|
||||
+moveold: move-old-targets
|
||||
|
||||
check-for-old:
|
||||
- if [ -f /sbin/lsmod.old ]; then \
|
||||
+ if [ -f $(sbindir)/lsmod.old ]; then \
|
||||
echo Someone already moved old versions. >&2; exit 1; \
|
||||
fi
|
||||
|
||||
@@ -778,27 +771,28 @@
|
||||
# RedHat 8.0 doesn't ship with readlink by default. Use ls -l.
|
||||
# Also, make symlink from /bin to /sbin for lsmod (FHS compliant).
|
||||
move-old-targets:
|
||||
+ if [ ! -f $(sbindir)/lsmod.old ]; then \
|
||||
for f in lsmod modprobe rmmod depmod insmod modinfo; do \
|
||||
- if [ -L /sbin/$$f ]; then \
|
||||
- ln -sf `ls -l /sbin/$$f | sed 's/.* -> //'`.old /sbin/$$f; \
|
||||
+ if [ -L $(sbindir)/$$f ]; then \
|
||||
+ ln -sf `ls -l $(sbindir)/$$f | sed 's/.* -> //'`.old $(sbindir)/$$f; \
|
||||
fi; \
|
||||
- mv /sbin/$$f /sbin/$$f.old; \
|
||||
- if [ -f /usr/share/man/man8/$$f.8.gz ]; then \
|
||||
- mv /usr/share/man/man8/$$f.8.gz \
|
||||
- /usr/share/man/man8/$$f.old.8.gz; \
|
||||
- elif [ -f /usr/share/man/man8/$$f.8.bz2 ]; then \
|
||||
- mv /usr/share/man/man8/$$f.8.bz2 \
|
||||
- /usr/share/man/man8/$$f.old.8.bz2; \
|
||||
- else \
|
||||
- mv /usr/share/man/man8/$$f.8 /usr/share/man/man8/$$f.old.8; \
|
||||
+ mv $(sbindir)/$$f $(sbindir)/$$f.old; \
|
||||
+ if [ -f $(prefix)/usr/share/man/man8/$$f.8.gz ]; then \
|
||||
+ mv $(prefix)/usr/share/man/man8/$$f.8.gz \
|
||||
+ $(prefix)/usr/share/man/man8/$$f.old.8.gz; \
|
||||
+ elif [ -f $(prefix)/usr/share/man/man8/$$f.8.bz2 ]; then \
|
||||
+ mv $(prefix)/usr/share/man/man8/$$f.8.bz2 \
|
||||
+ $(prefix)/usr/share/man/man8/$$f.old.8.bz2; \
|
||||
+ elif [ -f $(prefix)/usr/share/man/man8/$$f.8 ]; then \
|
||||
+ mv $(prefix)/usr/share/man/man8/$$f.8 /usr/share/man/man8/$$f.old.8; \
|
||||
fi; \
|
||||
- done
|
||||
+ done; \
|
||||
for f in kallsyms ksyms; do \
|
||||
- if [ -L /sbin/$$f ]; then \
|
||||
- ln -sf `ls -l /sbin/$$f | sed 's/.* -> //'`.old /sbin/$$f; \
|
||||
+ if [ -L $(sbindir)/$$f ]; then \
|
||||
+ ln -sf `ls -l $(sbindir)/$$f | sed 's/.* -> //'`.old $(sbindir)/$$f; \
|
||||
fi; \
|
||||
- done
|
||||
- ln -s /sbin/lsmod.old /bin/lsmod.old
|
||||
+ done; \
|
||||
+ fi
|
||||
|
||||
# For installs in /usr/local/sbin
|
||||
links:
|
12
package/modutils/Config.in
Normal file
12
package/modutils/Config.in
Normal file
@ -0,0 +1,12 @@
|
||||
config BR2_PACKAGE_MODUTILS
|
||||
bool "modutils"
|
||||
default n
|
||||
help
|
||||
The modutils packages includes the kerneld program for automatic
|
||||
loading and unloading of modules, as well as other module
|
||||
management programs. Examples of loaded and unloaded modules are
|
||||
device drivers and filesystems, as well as some other things.
|
||||
|
||||
linux v.<2.6
|
||||
|
||||
http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4
|
62
package/modutils/modutils.mk
Normal file
62
package/modutils/modutils.mk
Normal file
@ -0,0 +1,62 @@
|
||||
#############################################################
|
||||
#
|
||||
# modutils
|
||||
#
|
||||
#############################################################
|
||||
MODUTILS_SOURCE=modutils-2.4.27.tar.bz2
|
||||
MODUTILS_SITE=ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/
|
||||
MODUTILS_DIR=$(BUILD_DIR)/modutils-2.4.27
|
||||
MODUTILS_BINARY=insmod
|
||||
MODUTILS_TARGET_BINARY=$(TARGET_DIR)/sbin/$(MODUTILS_BINARY)
|
||||
|
||||
STRIPPROG=$(STRIP)
|
||||
|
||||
$(DL_DIR)/$(MODUTILS_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(MODUTILS_SITE)/$(MODUTILS_SOURCE)
|
||||
|
||||
$(MODUTILS_DIR)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
|
||||
bzcat $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
toolchain/patch-kernel.sh $(MODUTILS_DIR) \
|
||||
package/modutils \*.patch
|
||||
touch $(MODUTILS_DIR)/.source
|
||||
|
||||
$(MODUTILS_DIR)/.configured: $(MODUTILS_DIR)/.source
|
||||
(cd $(MODUTILS_DIR); \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
INSTALL=$(MODUTILS_DIR)/install-sh \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/ \
|
||||
--sysconfdir=/etc \
|
||||
);
|
||||
touch $(MODUTILS_DIR)/.configured;
|
||||
|
||||
$(MODUTILS_DIR)/$(MODUTILS_BINARY): $(MODUTILS_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC) -C $(MODUTILS_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(MODUTILS_TARGET_BINARY): $(MODUTILS_DIR)/$(MODUTILS_BINARY)
|
||||
STRIPPROG='$(STRIPPROG)' \
|
||||
$(MAKE) prefix=$(TARGET_DIR) -C $(MODUTILS_DIR) install-bin
|
||||
rm -Rf $(TARGET_DIR)/usr/man
|
||||
|
||||
modutils: uclibc $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY)
|
||||
|
||||
modutils-source: $(DL_DIR)/$(MODUTILS_SOURCE)
|
||||
|
||||
modutils-clean:
|
||||
$(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR) uninstall
|
||||
-$(MAKE) -C $(MODUTILS_DIR) clean
|
||||
|
||||
modutils-dirclean:
|
||||
rm -rf $(MODUTILS_DIR)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
## Toplevel Makefile options
|
||||
#
|
||||
##############################################################
|
||||
ifeq ($(strip $(BR2_PACKAGE_MODUTILS)),y)
|
||||
TARGETS+=modutils
|
||||
endif
|
24
package/modutils/modutils.patch
Normal file
24
package/modutils/modutils.patch
Normal file
@ -0,0 +1,24 @@
|
||||
--- _modutils-2.4.26/Makefile.in 2005-02-01 12:41:39.000000000 +0100
|
||||
+++ modutils-2.4.26/Makefile.in 2005-02-01 12:39:18.000000000 +0100
|
||||
@@ -3,7 +3,7 @@
|
||||
include Makefile.common
|
||||
|
||||
TARGETS = all install-bin clean distclean realclean dep depend
|
||||
-SUBDIRS = util obj insmod genksyms depmod @kerneld_SUBDIR@
|
||||
+SUBDIRS = util obj insmod depmod @kerneld_SUBDIR@
|
||||
ifneq (@kerneld_SUBDIR@,)
|
||||
SUBDIRS += man_kerneld
|
||||
endif
|
||||
--- _modutils-2.4.26/insmod/Makefile.in 2003-10-27 05:42:07.000000000 +0100
|
||||
+++ modutils-2.4.26/insmod/Makefile.in 2005-02-01 12:39:40.000000000 +0100
|
||||
@@ -126,10 +126,6 @@
|
||||
$(MKDIR) $(DESTDIR)$(sbindir); \
|
||||
$(INSTALL) $(STRIP) $$i $(DESTDIR)$(sbindir); done;
|
||||
set -e; \
|
||||
- for i in $(srcdir)/insmod_ksymoops_clean $(srcdir)/kernelversion; do \
|
||||
- $(MKDIR) $(DESTDIR)$(sbindir); \
|
||||
- $(INSTALL) $$i $(DESTDIR)$(sbindir); done;
|
||||
- set -e; \
|
||||
for i in $(COMB); do \
|
||||
ln -sf insmod $(DESTDIR)$(sbindir)/$$i; \
|
||||
(test "$(insmod_static)" = yes && \
|
Loading…
Reference in New Issue
Block a user