Bernhard Stoevesandt wrote: > gcc -D__KERNEL__ -I/usr/src/linux-2.4.18.SuSE/include -Wall > -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer > -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 > -march=i586 -DKBUILD_BASENAME=ksyms -DEXPORT_SYMTAB -c ksyms.c > ksyms.c:609: `set_user_nice' undeclared here (not in a function) [snip] > it is an old suse-distro (8.0). Ok. I found SuSE 8.0 kernel patches from ftp.suse.com and looked at the source. Now I understand what went wrong: module compilation failed. I got these errors on 2.4.18-SuSE-91 kernel + loop-AES-v3.1c : patched-loop.c: In function `loop_thread': patched-loop.c:757: warning: implicit declaration of function `set_user_nice' [snip] depmod: *** Unresolved symbols in /lib/modules/2.4.18-SuSE-91/block/loop.o Most 2.4 kernels use either normal 2.4 scheduler or O(1) scheduler. That SuSE kernel appears to have scheduler that is sufficietly different from both above mentioned schedulers and confused loop module compilation to use wrong scheduler interface. Really old loop-AES versions used different scheduler detection code. On June 2003, that scheduler detection code was changed to test defines include/linux/sched.h, causing scheduler mis-detection and compile failure on that particular SuSE kernel. I now fixed this incompatibility by modifying scheduler detection code. A patch for loop-AES-v3.1c is included. To clean up the mess, you need to remove that extra EXPORT_SYMBOL() from your kernel. cd /usr/src/linux-2.4.18.SuSE sed -e 's/EXPORT_SYMBOL(set_user_nice);//' <kernel/ksyms.c >z mv z kernel/ksyms.c And then recompile your kernel. This assumes that you are using lilo bootloader, and that lilo is configured to boot /boot/vmlinuz kernel. mv .config z make distclean mv z .config make oldconfig make dep && make clean && make bzlilo INSTALL_PATH=/boot make modules && make modules_install And then apply included loop-AES patch. cd /usr/src/loop-AES-v3.1c patch -p1 <this-email And then build loop.o module for your kernel. make LINUX_SOURCE=/usr/src/linux-2.4.18.SuSE And then boot your new kernel /boot/vmlinuz -- Jari Ruusu 1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9 DB 1D EB E3 24 0E A9 DD --- ../loop-AES-v3.1c/loop.c-2.4.patched 2005-09-17 12:20:54.000000000 +0300 +++ ./loop.c-2.4.patched 2006-01-27 15:36:39.000000000 +0200 @@ -222,7 +222,7 @@ * This is loop helper thread nice value in range * from 0 (low priority) to -20 (high priority). */ -#if defined(DEF_NICE) && defined(DEF_COUNTER) +#if defined(DEF_NICE) static int lo_nice = -20; /* old scheduler default */ #else static int lo_nice = -1; /* O(1) scheduler default */ @@ -748,7 +748,7 @@ lo_nice = 0; if (lo_nice < -20) lo_nice = -20; -#if defined(DEF_NICE) && defined(DEF_COUNTER) +#if defined(DEF_NICE) /* old scheduler syntax */ current->policy = SCHED_OTHER; current->nice = lo_nice; - Linux-crypto: cryptography in and on the Linux system Archive: http://mail.nl.linux.org/linux-crypto/