Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
This is a topic that I've read a lot on, but I'm still a bit confused.
Background: I bought a wack azz ATA-133 PCI controller card (I should have stuck with Promise, but instead I went with SIIG. Beware!) for my Athlon system, so I could drop in a shiny new 160 gig HD. Slackware detected the card and the new hard drive without a hitch. However, Mandrake refused to see the card at all. My thought was that Mandrake's kernel config was different. So I tracked down some SIIG linux drivers, which came with fairly ridiculous documentation. Basically I ended up with a bunch of files with names like ide-pci.h, and I had to replace the files of the same names in my kernel sources, and recompile my kernel.
Well, the very well documented kernel recompile process seems to only apply for situations where you have a new kernel or a kernel patch. I haven't found anything related to recompiling my EXISTING kernel after replacing a few files with some 3rd party modifications. Needless to say, after following the steps in the kernel HOWTO, my kernel utterly failed to compile. After 3 minutes or so, it just stopped during the make bzImage process with a bunch of errors about something related to Titan?!
Is there a specific process to follow to compile a new kernel based on some file modifications to the existing kernel sources? I went through this whole make menuconfig process, and I wasn't even sure about which things I should change, and which I should leave alone. In the end, I didn't change ANYTHING (except for replacing those files) and it would not compile. Grrrr!
Advice?
Well, what you should have done is found the source code for the same version of kernel you have (check kernel.org or get the Slackware source package in the k folder at your favorite Slack mirror), replaced the appropriate files, then instead of make menuconfig or make xconfig, you should use make oldconfig. That reads the configuration file for your existing kernel and compiles the new kernel to match.
Now the tough bit is that since you've compilied a few times, unless you put the old configuration file someplace you can find it, you're kind of out of luck. If you haven't gotten too much invested in this install, you could try re-installing Slack and trying again. Otherwise, you're going to have to spend some quality time with make menuconfig to get the configuration right.
Thanks for the reply! First of all, the system in question is Mandrake, not Slackware. (I have one of each; the Slack system has NO PROBLEM with the ATA PCI card ) I installed the Mandrake sources for the kernel version on the CD. The I replaced all of the necessary files. Then I copied over the config file from the /boot directory, and then I did a make xconfig and used the option for loading an existing configuration file. Then I saved it and did a make dep. After a few minutes I did make bzImage. Three minutes later, BOOM. DONE. Nothing. Error 1 and Error 2. I think I'm going to give up and grab a Promise card tonight and replace this SIIG bullsh*t. That's what I should have done from the beginning. I'd still like to hear any other kernel compilation suggestions, though. I'm sure I went wrong SOMEWHERE!
Oops. Sorry about the Slackware bit, I should have read your post a bit more closely.
While you may have gone wrong somewhere, odds are its giong to be pretty hard to find. From your description, it sounds like you did compile to the old specs, although a make oldconfig instead of a make xconfig might have saved you a little trouble. Did make dep toss out any errors or warnings? About the only other suggestion I have is to run make clean between make dep and make bzImage. It probably won't help, but it is another option.
I tried the make clean in between those other steps. Nothing.
What I'm wondering now is why every other distro seems to recognize this freakin' ATA-133 card, but Mandrake doesn't! I'm writing this from within Morphix. So, let's see... Morphix, Knoppix, Slackware, and Libranet all see the card. Mandrake does not. All five distros use recent or equivalent kernel versions. What is different about Mandrake? Is it a kernel config issue or a post-kernel issue? The instructions for the ATA-133 card linux "drivers" seem to say this is a kernel issue. But those drivers are over a year old... Curiouser and curiouser. As I said, I am abandoning this card, so perhaps I'll never know the answer. And maybe this line of discussion is more appropriate in the hardware forum anyway. Thanks for all the suggestions!
Well, I guess I'll keep the card, as my final recompile went well. In a way...
I figured that since Slack and Debian could recognize the card, perhaps a stock kernel with some modification would work better than the Mandy sources. And it worked! I made a kernel!!! And I can use my 160 gigs with Mandrake!!!
Now I'm going to be selfish....Could you post a quick summary of what options you compiled in? Every now and again my local computer store has sales on gargantuan hard drives and if temptation wins out over financial sanity, I'd like to know I could get it to work!
Well, I actually just used my original Mandrake configuration with the newest 2.4.22 kernel from kernel.org. Yeah, that's wacky logic, but it worked. I pulled up the old config file in xconfig, then I made a few changes like processor type and power management (just for sh*ts and giggles), but everything with regard to PCI and add-on cards I left the same, since everything was enabled. Weird, eh? Afterwards, the card was recognized, at the expense of supermount capability, which I apparently left out. But who needs supermount anyway? Sorry I couldn't help more with specifics, but I'm still a kernel newbie...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.