Hi Jari, thanx a lot. That worked. It is all there now and i can rescue this whole stuff now! Thank you very much again! Bernhard > 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/