Solved

Re-compiling kernel to add hardware for idiots

Posted on 1998-12-08
13
250 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
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
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
linux(debian) mouse poor performance 4 62
Samba Question 11 73
Upgraded from Debian 7 to 8.7 and got black screen 20 67
CLI command keep running after close 7 36
Daily system administration tasks often require administrators to connect remote systems. But allowing these remote systems to accept passwords makes these systems vulnerable to the risk of brute-force password guessing attacks. Furthermore there ar…
This is the error message I got (CODE) Error caused by incompatible libmp3lame 3.98-2 with ffmpeg I've googled this error message and found out sometimes it attaches this note "can be treated with downgrade libmp3lame to version 3.97 or 3.98" …
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.:
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

808 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