Click to See Complete Forum and Search --> : Kernel Compilation.


kumark
11-23-2001, 12:43 AM
Hi everybody!

I was tring to compile kernel but encountered a problem. It said something about ksysm.o and aborted the compilation. Another thing I would like to know is how can I compile kernel with support for a hardware for which the manufacturer has given source code and for which the kernel already has a driver. For example I have a network card for which rtl8139.c/rtl8139.o is already there. The driver the manufacturer has given is of the same name but with different version and the card works only with rtl8139.c the manufacturer has given.Please help

Regards,

error27
11-23-2001, 03:44 AM
first of all what version of the kernel were you trying to compile?

>>It said something about ksysm.o and aborted the compilation.

copy and paste the error.

>>Another thing I would like to know is how can I compile kernel with support for a hardware for which the manufacturer has given source code and for which the kernel already has a driver.

In my experience, the driver in the kernel is almost always going to be the one that works. I can almost garuanty that Donald Becker wrote that driver, even though you may have found it on the manufactures web site. It will say in the source who wrote it.

I've seen some hardware manufactures that understand linux and provide rpms/debs that install easilly and flawlessly. But I've seen more than one hardware manufacture who give you wrong information. Stuff like telling people to install 2.2 drivers for 2.4 kernels...

I bought a bought a ethernet card a couple years ago where they gave a linux driver inside an auto unzipping program that could only be openned under windows. And, of course, it wasn't the right version either... At the time I didn't know enough about Linux so I just went and bought a different card.

But of course if you gave us the link to the manufacture's driver then it would help us give a better answer.

kumark
11-23-2001, 05:35 AM
Thanks error27 for responding to my query :p

I am using kernel version 2.2.16-22 and compilation aborts after giving errors, out of which following are the 4 lines which I think you might find usefull.

make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory '/usr/src/linux-2.2.16/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory '/usr/src/linux-2.2.16/kernel'
make: *** [_dir_kernel] Error 2

The network card Manufacturer "D-LINK" gives the linux driver on a floppy. From the following you can see that there is a version difference. Bellow is a line taken from the file 'rtl8139.c' which comes on the redhat CD

static const char *version =
"rtl8139.c:v1.07 5/6/99 Donald becker <A HREF="http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html\n";" TARGET=_blank>http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html\n";</A>

And the following line is from the floppy the manufacturer has given

static const char *version =
"rtl8139.c:v1.08 6/25/99 Donald Becker <A HREF="http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html\n";" TARGET=_blank>http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html\n";</A>

If I follow the instruction on the floppy the network card works but it does not work for the fresh Linux installation.

I hope now you will understand my problem.

Regards. :p :p

kumark
11-23-2001, 05:39 AM
Sorry error27 the smilies I have put are my mistake. Forgive me it offends you

Regards

Hena
11-23-2001, 05:57 AM
Actually the lines above those 4 are the ones with the errors that happen in source. You might want to check the last 2.2 kernel (2.2.20, in The Linux Kernel Archives (http://www.kernel.org)) whether that would work.

But besides that, what distribution you have? 2.2 kernels are quite old, so perhaps you might want to upgrade your linux to distribution version with atleast 2.4 kernel or take the latest 2.4.15 and use it?

error27
11-24-2001, 04:46 AM
Sorry i didn't respond earlier.

I would go with the driver in the kernel. That one will work better.

Then I would upgrade to a different kernel. There was a security problem (Denial of Service attack and a local root exploit with that kernel). Use 2.2.20 or 2.4.15 or something.

My guess is that you are using Red Hat 7.0. I think that distro shipped with a 2.4.0-preSomething kernel. I would try to compile it.

Actually, I'm not convinced that you should have to compile anything to get that driver to work. Look for an already compiled version of the driver with the "locate" command.

Then use the "insmod" command to load the driver. Use "lsmod" to check if it is loaded.

After the driver is compiled there is still the matter of setting the network settings. I think you can use Linuxconf to configure that.

I haven't used Red Hat in a while. Perhaps someone who knows more about Red Hat can help out?

Hena
11-24-2001, 11:03 AM
Well if you have RH distribution, i would suggest you take a look at Securing and Optimizing Linux Red Hat Edition (http://www.linuxdoc.org/guides.html#securing_linux). It provides very nice guide to setup NICs in Red Hat without GUI. Even if you don't have 6.0 or 6.2 it still is valid at least in 7.1.

kumark
11-26-2001, 01:21 AM
Hi! Thanks for responding to my question.

Actually its not that my system is not working but I am trying work around some doubts and since I have Redhat 7.0 working on my machine, I keep on trying different things.

However I was wondering if I replace the source code rtl8139.c supplied by Redhat with the one given by the manufacturer, will it suffice my requirement.

I also was tring to install Redhat Linux 7.0 on my second PC which did not have cdrom i.e I was trying network installation and here also I encountered same network card problem.

I created netboot.img as well as drivers.img but it was not able to connect to another machine.

Actualy I have no one but books and you people to depend for my problem. Please forgive me if I seem obscure and difficult to understand.

Thanks and regards.