LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-25-2005, 10:42 PM   #1
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Rep: Reputation: 15
Question Error when recompiling 2.4.31 Kernel for SMP and HIGHMEM


I am just recently aquired a IBM Netfinity 6000 server. The server has 4 older Xeon processors, and 2048Mb of ram installed. Also installed is an IBM ServeRAID-4M Raid card that is configured for RAID-5 with 3 IBM 18.2 SCSI drives.

I just installed Slackware 10.2 on the machine, and I am trying to recompile the kernel for SMP support for the processors and HIGHMEM support. Everytime that I finish and reboot the machine I get a kernel panic and the computer states that, "Please append a correct "=root" boot option."

I have compiled the kernel when installing Slackware for RAID support using the raid.s image. I have read in some of the fourms that certian thing need to be compiled into the kernel and not as a module but I am unsure just what this means and I think that it might be part of my problem.

I have followed all of the instructions on several of the post on this web page for recompiling the kernel, but have had no luck getting it to work. Any more advice would be greatly appreciated.


Last edited by mjgould; 09-26-2005 at 02:43 PM.
 
Old 09-26-2005, 10:02 AM   #2
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: McCalla, AL, USA
Distribution: Arch, Gentoo
Posts: 6,940

Rep: Reputation: 129Reputation: 129
I've never compiled for multiple processors or RAID, but the error you posted
Quote:
"Please append a correct "=root" boot option."
means you don't have support in the kernel for your / filesystem.

What OS was on the box when you got it?
Is that still available and working now?
Have you had a Slackware OS running, and if so, with which kernel?

I am not exactly clear on this
Quote:
I have compiled the kernel when installing Slackware for RAID support
using the raid.s image. Although I am not sure if I need to do it again
after the kernel recompile or if it is even possible.
but your answers to the above questions will help. This sounds to me like you
got Slackware running, and you're trying to recompile the kernel?

If you post a link to your kernel .config file, one of us can probably tell you what
needs to be changed/added.

Sorry that I haven't offered much "help" here, but I found you on the zero replies
thread list, and with 34 previous views, I'm probably not the only one with more
questions than answers.
 
Old 09-26-2005, 12:25 PM   #3
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
Quote:
What OS was on the box when you got it?
Due to information security issues, there were no OS on it when I recieved the box.

Quote:
Is that still available and working now?
The only OS that is currently on it is Slack 10.2, Slackware installs just fine but when I try to enable the SMP and HIGHMEM and recompile the kernel is when I get the problems.

Quote:
Have you had a Slackware OS running, and if so, with which kernel?
Yes, Slackware 10.2 with the default installiation with the 2.4.31 kernel.


I have read on serveral of the threads that certian things must be compiled into the kernel rather than installed as a module. I am not quite sure what this is refering to, but I think that it might be one of my problems. I am working on getting my kernel config file, I will post it as soon as I can

~Mike
 
Old 09-26-2005, 04:23 PM   #4
KnightHawk
Member
 
Registered: Aug 2005
Posts: 128

Rep: Reputation: 15
SMP and HIGHMEM if they were really giving you problems I would not expect those problems to crop up at boottime. That being said.... have you checked into the possiblity the kernel your trying to compile changes the RAID support?

Maybe your SMP and HIGHMEM enabled kernel only support your RAID via module as where your previous kernel supports it within the kernel. The reason this makes a difference is that if you build the RAID driver as a module then you need to use a boot RAM disk image that can load the module to allow the kernel to read the file system, otherwise you receive an error just like the one your getting.

To summarize... I'm saying your real problem has nothing to do with SMP and HIGHMEM but instead your RAID and/or filesystem support.

Please post the .config file, would be good info to have here.
 
Old 09-26-2005, 04:50 PM   #5
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: McCalla, AL, USA
Distribution: Arch, Gentoo
Posts: 6,940

Rep: Reputation: 129Reputation: 129
Okay, Mike, I've never done a RAID array in Linux, but will help as I
can until someone else shows up. As the other guy said, SMP and the
HIGHMEM option have nothing to do with booting the kernel. Its' the
support for that / filesystem that needs to be built in (Y) rather than
modules (M), or you need an initial ram disk (initrd.img).

For the memory, you'll need to build into your kernel (Y, not M=module)
the option "CONFIG_HIGHMEM4G" which is for memory greater than 1G
but less than 4G. So under Processor Types and Features, it should say
"CONFIG_HIGHMEM4G=y" and "CONFIG_HIGHMEM=y" for your box.

For the mulitprocessor support you'll need "CONFIG_SMP=y"

For RAID maybe /usr/doc/Linux-FAQs/Linux-RAID-FAQ/Linux-RAID-FAQ
would be a good document on your Slackware system, but that looks
pretty dated to me (Revision v0.0.12, 2003-03-05). Maybe these
http://www.tldp.org/HOWTO/HOWTO-INDEX/os.html#OSRAID
would be better.
 
Old 09-26-2005, 05:32 PM   #6
comprookie2000
Gentoo Developer
 
Registered: Feb 2004
Location: Fort Lauderdale FL.
Distribution: Gentoo
Posts: 3,291
Blog Entries: 5

Rep: Reputation: 58
Do you have the IBM ServeRaid driver compiled directly into the kernel?
 
Old 09-26-2005, 10:03 PM   #7
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
Thanks to everyone that has posted a reply. I am now thinking that the problem is, from what everyone has said, that when the kernel is being recompiled that the RAID support that is built into the kernel when I install Slackware is not being put in the kernel when I recompile. That being said I am not sure how I find out if the support is being put in or not, or now to enable it.

On another note, what is the best way to get the kernel config file off of the computer and onto the fourm. I have used PICO to make a text version of it and formatted a floppy. But when I move it over to my desktop it says that the floppy is not formatted. Thanks again to everyone for their help.
 
Old 09-26-2005, 10:45 PM   #8
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: McCalla, AL, USA
Distribution: Arch, Gentoo
Posts: 6,940

Rep: Reputation: 129Reputation: 129
In a terminal as root issue "mount /mnt/floppy" and then to get your new kernel
config file onto the floppy "cp /path/to/.config /mnt/floppy/config.txt" and then you
can read it on whatever box you open it on.

I don't know where you're building this new kernel, but it should be somewhere
under your /home directory. I build in /home/username/kernel/ all the time. If you
doubt this instruction, read what Linus Torvalds has said about that for well over
5 years now. Here's a link > Linus says don't build kernel under /usr/src/

Here's the relevant quote from that message:
Quote:
I would suggest that people who compile new kernels should:

- NOT do so in /usr/src. Leave whatever kernel (probably only the
header files) that the distribution came with there, but don't touch
it.

- compile the kernel in their own home directory, as their very own
selves. No need to be root to compile the kernel. You need to be root
to _install_ the kernel, but that's different.
And I've wanted to ask ... since you're compiling a new kernel, is there some
reason you're using 2.4.31, rather than the latest stable kernel, 2.6.13.2?
 
Old 09-26-2005, 11:17 PM   #9
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
The main reason that I am using the 2.4.31 kernel is because it is the one that comes with the raid.s kernel when I install slackware. I am going to reinstall slack tonight with the lastest kernel and try the recompile with the instructions that have been posted. Also when I recompile the kernel how would I know if it is being built into the kernel or being used as a module?

Last edited by mjgould; 09-26-2005 at 11:19 PM.
 
Old 09-26-2005, 11:57 PM   #10
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: McCalla, AL, USA
Distribution: Arch, Gentoo
Posts: 6,940

Rep: Reputation: 129Reputation: 129
Because you are the one compiling, and making the choices. If you choose M for
module, it is not built into the kernel. If you choose Y, it is built into the kernel. That
is what we mean by "built into" the kernel, rather than "built as modules." These
are loaded every time with your kernel, before it starts detecting your hardware,
so it's already got support for the devices. If you don't build support for your /
filesystem, and your IDE (or whatever drive boots the box) chipset into your
kernel, you have to make an (initial ram disk) initrd.img to load those modules
for you so you can boot the system.

If you mean you are going to install Slackware with the test26.s kernel, make
sure you read Pat's instructions in the RELEASE_NOTES file. Otherwise, if you
need more help on this post back.

Sounds like you need a good Kernel Rebuild Guide, also. But I strongly advise
you to build it under /home/<username>/kernel and not under /usr/src.
 
Old 09-27-2005, 04:04 AM   #11
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
My guess (from my experience with IBM Servers and ServeRAID adapters) is that you'll be needing the "ips" kernel module. Your stock Slackware linux kernel comes with ips as a module, and Slackware hotplug is able to detect that it needs to load it.
When you recompiled the kernel, you either forgot to add support for ServerRAID (CONFIG_SCSI_IPS=m) or disabled other SCSI support that might be needed. You did compile and install the kernel modules after compiling and installing the kernel?

You could re-try posting the kernel .config that you've created.

BTW I always compile kernels in /usr/src :-) IMO, the reason Linus had for building outside /usr/src is not applicable nowadays, at least not with Slackware, which comes with its own kernel-headers package. That solves the symlink problem Linus mentions in his post.
There is no reason against compiling outside /usr/src either - it's just a matter of preference.

Eric
 
Old 09-27-2005, 09:36 AM   #12
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
These are the instructions that I used to recompile my kernel. Thanks again for everyones help.


Quote:
First, we need to edit lilo.conf. Pick your favorite editor...one that is easy for newbies (and I still use this from time to time) is pico.

pico /etc/lilo.conf

Add this to your config...you can just copy what is there and add the .old stuff.

image = /boot/vmlinuz.old

root = /dev/hda1

label = slack.old

read-only


Note: Replace /dev/hda1 with the correct location of your root partition.

Now we need to edit the Makefile to make sure your new kernel is copied to the appropriate directory.

If you are using 8.1 or later, open /usr/src/linux/Makefile in a text editor, scroll to line 74 and
uncomment the the line #export INSTALL_PATH=/boot.
For 8.0 you must leave this line commented.

So...cd /usr/src/linux

pico Makefile

scroll to line 74 and
uncomment the the line #export INSTALL_PATH=/boot.
For 8.0 you must leave this line commented.


Now for the fun

make menuconfig (make your changes here...when done, save your new configuration)
make dep (sets all the kernel dependencies)
make clean (removes un-needed files)
make bzImage (builds the kernel)
make
make install (installs, moves and renames all the needed files and updates lilo)
make modules (builds all the kernel modules)
make modules_install (installs the modules)
 
Old 09-27-2005, 01:49 PM   #13
comprookie2000
Gentoo Developer
 
Registered: Feb 2004
Location: Fort Lauderdale FL.
Distribution: Gentoo
Posts: 3,291
Blog Entries: 5

Rep: Reputation: 58
With the current 2.6 kernel from kernel.org I add the entry with;
image = /boot/vmlinuz.old
and everything else the same
cd /usr/src
rm linux (if it is there)
ln -s (new kernel)linux
cd /usr/src/linux
make menuconfig
make
make modules_install
make install (this copys everything and runs lilo)

Last edited by comprookie2000; 09-27-2005 at 02:18 PM.
 
Old 09-27-2005, 07:03 PM   #14
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
Upon further reading I have found out that SMP and HIGHMEM are not modules they are either turned on or off in the kernel. With that said do I still need to run:
make modules
make modules_install ???

Also I think that one of my problems might be that I was not using "initrd" since the infromation to run my raid card is on the root file system, it is kinda of the chicken before the egg problem. Thanks for everyones help.

~Mike

Last edited by mjgould; 09-27-2005 at 07:05 PM.
 
Old 09-27-2005, 10:53 PM   #15
mjgould
LQ Newbie
 
Registered: Sep 2005
Location: Findlay Ohio
Distribution: CentOS, Ubuntu
Posts: 24

Original Poster
Rep: Reputation: 15
OK, upon further reading on the internet tonight I think that the only think that I am doing wrong is not making a INITRD disk, the files that are need to run my filesystem are on the file system before it can be opened. Now from what I have read on the internet I am still not sure just what I need to do to make the disk. My main question is where are the drivers that I need to put on the disk for the system to boot?

~Mike
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Booting Error After Recompiling Kernel springshades Linux - General 3 05-02-2005 04:21 AM
strange error messages when recompiling kernel. levicc00123 Slackware 8 12-21-2004 11:00 PM
Kernel recompiling error on SuSE 9.1 yuun Linux - Software 2 09-12-2004 10:44 PM
How do I enable the kernel for HIGHMEM? Mike Healan Mandriva 5 05-19-2004 12:40 PM
init error after recompiling kernel jza Linux - General 3 01-04-2004 10:03 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:28 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration