Re: /dev/loop3 No appropriate device found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux