on 8/30/00 5:57 AM, Jean-Louis Debert wrote:
> John-Paul Smith wrote:
>> Now here's a problem which I've always wanted to know the answer to.
>> Whenever I try to compile a kernel with modules, it never works properly.
>> Basically, none of the modules will load due to unresolved symbols, e.g.:
>>
>> # modprobe 3c59x
>> /lib/modules/2.2.15-4mdk/net/3c59x.o: unresolved symbol __global_cli
>> /lib/modules/2.2.15-4mdk/net/3c59x.o: unresolved symbol __global_save_flags
>> /lib/modules/2.2.15-4mdk/net/3c59x.o: unresolved symbol
>> __global_restore_flags
>>
>> I've looked around on mailing list archives, etc, and this problem has been
>> reported by quite a few different ppl, in various situations, and I have not
>> seen any definitive solution.
>>
>> My compile procedure is:
>>
>> rm -fr /lib/modules/*
>> make clean
>> make dep
>> make bzImage
>> make modules
>> make modules_install
>>
>> This is straight from the Mandrake book. I've also tried using make mrproper
>> instead of make clean, and that makes no difference.
>
> I don't know whether this is Mandrake-specific, but it seems to me
> that modprobe needs _something_ to resolve "external" symbols.
> The "something" could be the new kernel (if already booted)
> but I rather think it is the System.map file (created in the
> top kernel source directory).
> Also, "make bzImage" does NOT _install_ the new kernel, it just
> compiles it ... and it's very possible that your new module
> _needs_ the new kernel already active ...
> Personally I always do this after compilation of a new kernel:
>
> 1. cp bzImage /boot/vmlinuz-new
> 2. rdev -R /boot/vmlinuz-new 1 (this to make it read-only)
> 3. cp System.map /boot/System.map-new
> 4. cd /boot;ln -sf System.map-new System.map
> 5. add new entry to lilo.conf, pointing to new kernel
> 6. lilo -v -v
> 7. reboot and select label for new kernel
>
>
> Now, if you don't want to reboot, I'm not sure that the new module
> _can_ work with your previous kernel. If it can, I guess you could
> try to replace the System.map under /boot for modprobe to use.
>
Are you sure 3c59x is the right module? I've seen that error when I was
trying to load eepro when it should have been ne2k-pci.
Gavin