Re: driverloader won't build under new Linux kernel 2.6.18
"Linuxant support (Jonathan)" <[email protected]> Tue, 03 Oct 2006 10:46:59 -0400
| Newsgroups | gmane.linux.kernel.driver-loader |
|---|---|
| Message-ID | <[email protected]> |
Hi, DriverLoader 2.34 does not support the 2.6.18 kernel and a new version of DriverLoader will be released in the near future to add support for this kernel. In the meantime, you can patch DriverLoader 2.34 with the patches I have attached to this post. These patches should fix all the known problems of DriverLoader 2.34 for the 2.6.18 kernel, including the build problem described in your post. Each patch can be installed with the 'dldrconfig --patch <file.patch>' command in a root shell. Regards, Jonathan Technical specialist / Linuxant www.linuxant.com [email protected] Marty Huntzberry wrote: > Hi! I've been using the driverloader software (2.34) for my Belkin wireless G card for about 6 months now with no problems. I have it installed in > a PCI slot on a Pentium PC using Slackware Linux 10.2. I have re-built the kernel several times on that pc and then built driverloader and gotten it > configured without a problem...till now. Every other 2.6.x kernel was in the format 2.6.x.x and now it's 2.6.x. I'm not sure if that's why it won't > build a module now. Here's what I did and the error: > > Re-booted into kernel 2.6.18 and then entered my newly extracted driverloader-2.34 directory and typed make install. All went fine and then this: > > To complete the installation and configuration of your device, > please run "dldrconfig" (or "/usr/sbin/dldrconfig") > root@LinuxHippy:/home/huntz/linuxant/driverloader-2.34-kernel-2.6.18# dldrconfig > Linuxant DriverLoader for Wireless LAN devices, version 2.34 > > No pre-built modules for: Slackware-Slackware linux-2.6.18 i586 > > Trying to automatically build the driver modules... > (this requires a C compiler and proper kernel sources to be installed) > > Where is the linux source build directory that matches your running kernel? > [/lib/modules/2.6.18/build] > > WARNING: the kernel version () defined in > /lib/modules/2.6.18/build/include/linux/version.h > does not match the currently running kernel (2.6.18) > The cause of this problem is an incorrect kernel source path. > Please check that /lib/modules/2.6.18/build points to the right tree. > The cause of this is usually a missing or unconfigured > kernel source tree (and sometimes an incorrect directory or symbolic link). > > However, proper /boot/config-2.6.18 was found. > Would you like to try using it (in a temporary kernel tree)? [yes] > > Building modules for kernel , using source directory > /usr/src/linux-2.6.18-dldrtmp2463. Please wait... > > ERROR: Module build failed! > Please examine the log file "/var/run/dldrconfig-buildlog.txt" to determine why. > > That txt file shows this: > > (cd /usr/src/linux-2.6.18-dldrtmp2463 && make "DLDR_KERNELSRC=/usr/src/linux-2.6.18-dldrtmp2463" "M=/usr/lib/driverloader/modules" "CC=gcc" clean) > make[1]: Entering directory `/usr/src/linux-2.6.18-dldrtmp2463' > make[1]: Leaving directory `/usr/src/linux-2.6.18-dldrtmp2463' > rm -rf *.o GPL/*.o *.ko GPL/*.ko *.mod.c GPL/*.mod.c .*.cmd > GPL/.*.cmd .tmp_versions .tmp_versions /usr/src/linux-2.6.18-dldrtmp2463/.tmp_versions/driverloader.mod Unable to determine version of kernel source > directory /usr/src/linux-2.6.18-dldrtmp2463 make: *** [check_kernelver] Error 1 > > > Any ideas? > > Marty > _______________________________________________ > driverloader mailing list > [email protected] > https://www.linuxant.com/mailman/listinfo/driverloader _______________________________________________ driverloader mailing list [email protected] https://www.linuxant.com/mailman/listinfo/driverloader
dldr-2.34-SEEK.patch
(text/x-patch, 1.3 KB)
diff -urN driverloader-2.34/modules/Makefile driverloader-2.34-SEEK/modules/Makefile
--- driverloader-2.34/modules/Makefile 2006-04-19 15:09:07.000000000 -0400
+++ driverloader-2.34-SEEK/modules/Makefile 2006-09-21 16:27:41.000000000 -0400
@@ -101,6 +101,9 @@
FOUND_MODULE_PARAM := $(shell grep -q 'module_param' ${REAL_KERNELSRC}/include/linux/moduleparam.h 2>/dev/null && echo -DFOUND_MODULE_PARAM)
CFLAGS+= $(FOUND_MODULE_PARAM)
+FOUND_SEEK_MODES := $(shell grep -q 'SEEK_SET' ${REAL_KERNELSRC}/include/linux/fs.h 2>/dev/null && echo -DFOUND_SEEK_MODES)
+CFLAGS+= $(FOUND_SEEK_MODES)
+
CFLAGS+= $(if $(filter 2.6.15-1.2054_FC5%, $(KERNELVER)), -DFOUND_EXPORT_GPL_PRINT_TAINTED,)
KBUILD_SUPPORTED := $(shell test -e ${DLDR_KERNELSRC}/scripts/kconfig && echo yes || echo no)
diff -urN driverloader-2.34/modules/include/osservices.h driverloader-2.34-SEEK/modules/include/osservices.h
--- driverloader-2.34/modules/include/osservices.h 2006-04-01 16:26:58.000000000 -0500
+++ driverloader-2.34-SEEK/modules/include/osservices.h 2006-09-21 16:28:25.000000000 -0400
@@ -435,9 +435,11 @@
struct file;
typedef struct file FILE;
+#ifndef FOUND_SEEK_MODES
#define SEEK_SET 0x00000000
#define SEEK_CUR 0x00000001
#define SEEK_END 0x00000002
+#endif
#define EOF (-1)
dldr-2.34-utsrelease.patch
(text/x-patch, 2.3 KB)
diff -urN driverloader-2.34/modules/Makefile driverloader-2.34-utsrelease/modules/Makefile
--- driverloader-2.34/modules/Makefile 2006-04-19 15:09:07.000000000 -0400
+++ driverloader-2.34-utsrelease/modules/Makefile 2006-07-12 15:03:06.000000000 -0400
@@ -47,7 +47,9 @@
DLDR_KERNELSRC_EXISTS := $(shell test -r ${DLDR_KERNELSRC}/include/linux/version.h && echo yes || echo no)
endif
-KERNELVER := $(shell echo UTS_RELEASE | gcc -E ${DLDR_DISTRO_CFLAGS} -I${DLDR_KERNELSRC}/include -include ${DLDR_KERNELSRC}/include/linux/version.h - | grep '^"' | tr -d '" ')
+UTS_FILE := $(shell if [ -e "${DLDR_KERNELSRC}/include/linux/utsrelease.h" ]; then echo "${DLDR_KERNELSRC}/include/linux/utsrelease.h"; else echo "${CNXT_KERNELSRC}/include/linux/version.h"; fi)
+
+KERNELVER := $(shell echo UTS_RELEASE | gcc -E ${DLDR_DISTRO_CFLAGS} -I${DLDR_KERNELSRC}/include -include $(UTS_FILE) - | grep '^"' | tr -d '" ')
KMODS_DIR := /lib/modules/$(KERNELVER)
DLDR_MODS_DIR := $(KMODS_DIR)/extra
diff -urN driverloader-2.34/scripts/dldrconfig.in driverloader-2.34-utsrelease/scripts/dldrconfig.in
--- driverloader-2.34/scripts/dldrconfig.in 2006-04-19 15:08:01.000000000 -0400
+++ driverloader-2.34-utsrelease/scripts/dldrconfig.in 2006-07-12 14:57:15.000000000 -0400
@@ -667,6 +667,17 @@
[ "${OSKERNVERS}" = "${FILEKERNELVER}" ]
}
+right_version_kernel_tree()
+{
+ if [ -e "${KERNELSRC}/include/linux/utsrelease.h" ]; then
+ right_version_file "${KERNELSRC}/include/linux/utsrelease.h"
+ else
+ right_version_file "${KERNELSRC}/include/linux/version.h"
+ fi
+
+ return $?
+}
+
update_module_dependencies()
{
depmod -a -e -u >/var/run/dldrconf.depmod.$$ 2>&1
@@ -927,7 +938,7 @@
echo ""
echo "WARNING: missing file ${missing_file}"
suspect_tree=true
- elif ! right_version_file "${KERNELSRC}/include/linux/version.h"; then
+ elif ! right_version_kernel_tree; then
echo ""
echo "WARNING: the kernel version (${FILEKERNELVER}) defined in"
echo "${KERNELSRC}/include/linux/version.h"
@@ -1013,7 +1024,7 @@
buildlogf=/var/run/@[email protected]
# set FILEKERNELVER if it isn't already
- [ -n "${FILEKERNELVER}" ] || right_version_file "${KERNELSRC}/include/linux/version.h"
+ [ -n "${FILEKERNELVER}" ] || right_version_kernel_tree
check_kernel_config || return $?