> I just gave 3c59x as an example, I get the same unresolved symbols on all my
> modules.
OK.
I'd try
man depmod
man modprobe
and see if that gives you any ideas.
on 8/30/00 6:50 AM, John-Paul Smith wrote:
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Gavin Clark
> Sent: 30 August 2000 14:24
> To: [EMAIL PROTECTED]
> Subject: Re: Unresolved symbols (was: RE: [expert] Mylex DAC960
> rootdevice)
>
>
> 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
>
>
>