Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I installed Slackware on my machine with kernel 2.4.31. Then I downloaded kernel 2.4.26 and compiled that with modules etc and installed that on my machine too. So now I can get into either kernels with my network card 3c905 working fine. I copied the bzimage, System.map and config file from a backup folder of my production machine which is kernel 2.4.26 and copied it onto the /boot and made changes in lilo.conf so, I can now run 3 kernels. Yes, it may seem weird but I'm still trying to learn and get the whole thing about compiling kernels etc. So back to my issue: Now when I boot into my copied kernel, I loose network access, its almost like the drivers for the 3c905 are not installed. I notice that the 3c59x.o and .h files are present under the /usr/src/Linux 2.4.26/drivers.. folder. So I tried to run it by giving a insmod command, however it says that there is a version mismatch. Can anyone tell me what happened? And is there a way to fix this, so I can boot into the copied kernel and still have network. When I do ifconfig, all I see is the "lo", however when I boot into either 2.4.31 or the old 2.4.26, I can see the eth0. Is there a way to modify the already present bzImage file, especially in adding the network drivers? I know it may sound confusing, so sorry about that. I apologize in advance if this may sound too confusing, but would really appreciate if someone could help me with this.
So... why having two 2.4.26 kernels ? Anyway what is wrong is you don't have a second /lib/modules/2.4.26 folder ( you couldn't have anyway with your method). Insmod or modprobe search modules in such dirextory not /usr/src/linux-bla.bla.
What happens is insmod searchs the module (while running kernel 2.4.26 #2) in /lib/modules/2.4.26 of kernel 2.4.26 #1 and you get an error (version mismatch). You can have two identical kernels but you must name one of them with an "extra version" while compiling.
As an example: you choose calling your 2.4.26 kernel du jour with an extra version, let's say "special". When you run the command "make modules_install your modules will be copied in a /lib/modules/2.4.26-special folder without overwriting an existing /lib/modules/2.4.26. To get this edit the Makefile file of the kernel when you find a line like EXTRAVERSION= insert "special" or something like that.
Not sure is very clear. Hope this helps
Ahh I get it! Thank you for the reply. However, so then is there a way to edit the already existing bzImage file, or do I need to compile it again. The reason I ask this is because, I have a backup of the bzimage file(which is a production machine backup), however it does not have the 3com drivers in it. So it does not run on my backup machine. Any ideas on how to do this or you cannot? Thanks again!
Maybe there is method, but I don't know....
A safe method is you pick the .config file of the "production machine" and add the support for 3c905 or whatever then compile the 2.4.26 kernel on you spare machine according to such .config file (remember the EXTRAVERSION stuff). You'll have an identical kernel.