Solved

Re-compiling kernel to add hardware for idiots

Posted on 1998-12-08
13
251 Views
Last Modified: 2013-12-15
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.
0
Comment
Question by:pug_nut
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
13 Comments
 
LVL 4

Expert Comment

by:mcdonc
ID: 1631832
You'll need to recompile the kernel with either:

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

Read the Kernel-HOWTO for instructions.  It can be found at http://www.math.psu.edu/ward/kernel-howto/

It sounds compilcated and heavy but its actually pretty easy.

Once you do it, the rest should almost take care of itself.
0
 

Author Comment

by:pug_nut
ID: 1631833
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!

0
 
LVL 1

Expert Comment

by:talwyn
ID: 1631834
try "make menuconfig"
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 

Author Comment

by:pug_nut
ID: 1631835
I get the same error message except it says:-
make: *** No rule to make target 'menuconfig'. Stop.

0
 
LVL 2

Expert Comment

by:wqclatre
ID: 1631836
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!
0
 
LVL 2

Expert Comment

by:wqclatre
ID: 1631837
And btw. Do you have the kernelsource installed`? Do you have any Makefile in /usr/src/linux ?
0
 

Author Comment

by:pug_nut
ID: 1631838
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
0
 
LVL 2

Expert Comment

by:wqclatre
ID: 1631839
What files do you have under /usr/src/linux?
Do you have the Makefile???? Do you have the whole source installed??
0
 

Author Comment

by:pug_nut
ID: 1631840
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
0
 
LVL 2

Accepted Solution

by:
wqclatre earned 40 total points
ID: 1631841
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 ftp.redhat.com or as a tar.gz file from ftp://ftp.kernel.org/pub/linux/kernel/v2.0/

0
 

Author Comment

by:pug_nut
ID: 1631842
Thanks,
When I do "rpm -qa | grep kernel" I get the following response:-
kernel-2.0.27-5
kernel-headers-2.0.27-5
kernel-modules-2.0.27-5
kernelcfg-0.3-3
What does that mean?
0
 
LVL 2

Expert Comment

by:wqclatre
ID: 1631843
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
0
 
LVL 2

Expert Comment

by:wqclatre
ID: 1631844
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.
0

Featured Post

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question