Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 263
  • Last Modified:

Re-compiling kernel to add hardware for idiots

I've successfully installed Redhat 4.2 on my old 486. At the time it had no ethernet card. Now I want to add a 3com 3c509 ethernet card. I've found various drivers for this card, I've got a file called 3c509.c on my disk at the moment. Apparantly I have to re-compile the kernel (or something!) to get it to work. I couldn't get it to work. I am a total Unix / Linux idiot (I'm pretty good with MSDOS), so please someone give me some idiot instructions on how to do this. Some help on getting a TCP/IP stack working would be nice too.
1 Solution
You'll need to recompile the kernel with either:

1)  Module support and include the 3C509 driver as a module.
2)  With the 3C509 driver compiled into the kernel (not as a module).

Read the Kernel-HOWTO for instructions.  It can be found at

It sounds compilcated and heavy but its actually pretty easy.

Once you do it, the rest should almost take care of itself.
pug_nutAuthor Commented:
I've got a bit further, I can run the device driver successfully by typing
insmod /lib/modules/2.0.27/net/3c509.o
and it seems to work
next I though I'd have a go at recompiling, as that's what the Linux site says to do, I've done the following successfully:-
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi

next I did "cd /usr/src/linux"
when I tried to do "make config" I get the error message "make: *** No rule to make target 'config'. Stop."
Now I'm stuck - Help!

try "make menuconfig"
A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

pug_nutAuthor Commented:
I get the same error message except it says:-
make: *** No rule to make target 'menuconfig'. Stop.

Mabe you don't have to compile the kernel.

Try to run kernelcfg.
1. kernelcfg
2. klick add and chose eth
3. chose eth0 as moduletype and 3c509 as module.
4. tell which io base and irq you have on the card.
(It can be a good idea to do a cat /proc/ioports and cat /proc/pci and cat /proc/interrupts to check for a free IRQ and io adress. And then use the configuration disk and set the right irq and io adress on the card. (Under dos)

Good Luck!
And btw. Do you have the kernelsource installed`? Do you have any Makefile in /usr/src/linux ?
pug_nutAuthor Commented:
Using kernelcfg and netcfg commands under xwindows solved my problems in the end.
kernelcfg added support for my card to the OS
netcfg allowed me to add all the TCP/IP settings
These two programs only work in X
I still don´t know why "make config" doesn´t work, but it doesn´t matter now
What files do you have under /usr/src/linux?
Do you have the Makefile???? Do you have the whole source installed??
pug_nutAuthor Commented:
I have a directory to /usr/src/linux, it is a symbolic link to a directory called /usr/src/linux-2.0.27
that directory contains a directory called "include" and nothing else
within "include" are "asm" (symbolic link to asm-i386"), "asm-generic", "asm-i386", "linux", "net", and "scsi"
within the /usr/src/linux-2.0.27/include/linux are some .h files and a directory called "modules" containing .ver files
Well then the problem is that you don't have the kernelsource installed. I think that you only have the kernel headers and the kernel installed.

Try a rpm -qa | grep kernel
And you will se if you have kernel-source installed.
Otherwise you can download it as rpm from or as a tar.gz file from

pug_nutAuthor Commented:
When I do "rpm -qa | grep kernel" I get the following response:-
What does that mean?
It means that you have those packages installed. If you had the kernel source installeed you should get kernel-source-2.0.27-5 to when you try the command  rpm -qa | grep kernel
You can probably find  a kernel-source-2.0.27-5 rpm on youre redhat cd. do a rpm -ivh filename.rpm and You will get the soure installeed.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now