• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

SMP and Slackware

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

anvil82

Member
Joined
Apr 21, 2003
Location
New Jersey
What is the easiest way to get slackware to support SMP.

I am using an old p2 266 dualy, and I need the other 266mhz :D

Thanks.
 
I tried that, and the thing didn't boot, lol.

I had never done it before, so I probably fouled something up.

I took the config file I was using (the one for adatpec.s) and copied it over to /usr/src/linux/.config
I basically used these instructions:

http://www.cr.postgresql.org/Unix/Linux/Slackware/slackware/bootdisks/

To compile a custom kernel, follow these steps:

0. If you haven't installed the C compiler and kernel source, do that.

1. If you have to, use the bootdisk/CD you installed with to start your machine.
At the LILO prompt, enter:

mount root=/dev/hda1
^^^^^^^^^ Or whatever your root Linux partition is.

Ignore any error messages as the system starts up.

2. Log in as root, and recompile the kernel with these steps. (Comments will be
placed in parenthesis)

cd /usr/src/linux

make menuconfig Choose your drivers. Repeat this step until you are
satisfied with your choices. Note that menuconfig gets
its defaults from .config, which as supplied contains the
choices used to compile the bare.i kernel. If you wish
to recreate some other Slackware kernel (and maybe tweak
the choices a little), then you'll need to copy the
appropriate config file over .config before you run
menuconfig. For example, you could copy the defaults for
the adaptec.s kernel:
cp kernels/adaptec.s/config /usr/src/linux/.config
The "kernels" directory is usually found on the Slackware
installation CD, or on the Slackware FTP site.

If you are using LILO, here's how to build and install the new kernel:

First, build the kernel:

make dep ; make clean ; make bzImage

Then, install the new kernel in /boot:

cp arch/i386/boot/bzImage /boot/vmlinuz

And also the System.map:

cp System.map /boot

Finally, reinstall LILO:

lilo


The only thing I changed in "make menuconfig" was to enable SMP.
 
You need to make sure that your CPU and all hardware are supported. It's not a fun process at first, but you have to do it if you want SMP support (since SMP support requires recompiling).
Make a list of all the hardware you have (ie NICs, motherboard, sound, SCSI cards, etc) and do a little homework to find out what chipsets they use. Then find out what drivers support those chipsets and see if they're included with the kernel.
Once you know what drivers you need, enable those options and disable any options for hardware you don't have.
Then copy your kernel (/usr/src/linux/arch/i386/boot/bzImage) to /boot, making sure not to overwrite your old kernel in case the new one doesn't work. Play around with your new kernel, see what doesn't work and look for help on it.
When you recompile, make sure *not* to do make clean, as it will greatly increase your compile times by recompiling everything, not just the stuff you've changed.
Have fun!
 
Well using the adaptec.s EVERYTHING worked.

Hard drives all worked

Network card worked

Video card worked

Floppy and cd-rom worked

Nothing appeared wrong, except that it was only using 1 cpu.

I tried using the adaptec.s config file and then just enabling SMP (in the make menuconfig under processors). Then recompiled and it got an error after booting (I dont remember what it was).

I'll check the error when I go back to work Tuesday.
 
The instructions you posted did not compile and install any kernel modules, which could be a problem if you've configured anything to be compiled as a module. To compile and install modules, do:

make modules
make modules_install

(the second one has to be done as root).

Remember that some things, like the filesystem for your root filesystem, should not be compiled as modules, but compiled into the kernel itself.

That error you're getting would also be helpful in figuring out your problem.
 
Last time I installed Slackware 9.1, it gave me a choice of kernels to install and I think they had smp kernels listed. Did they list any for you?
 
I don't know, they may have, I looked on the cd after I installed it, and didn't see any.

It has to support scsi hard drives though on an adaptec chipset as well.
 
The error is very weird, here it is (it's long, here's the jist)


it has lots of these, with random numbers in them

[<co310000>] [<co31c289>] [<co310000>] [<co310000>] [<co310000>] [<co31ffff>] [<co310000>] (lots more of these)
Unable to handle kernel paging request at virtual address d8000000
printing eip:
co109520
*pde = 00000000


_
 
try this go download the 2.4.22 source from kernel.org (assuming your using slackware 9.1) do "cp /boot/config /usr/src/2.4.22/.config" btw make sure you make a link to your source with "ln -s /usr/src/linux-2.4.22 /usr/src/linux" then go into /usr/src/linux directory and make menuconfig and enable SMP with "make menuconfig" next is the long part do "make dep bzImage modules modules_install" then that should do it

note: i am assuming you let slack install the kernel for you and that your on 9.1 dont do this if your on an older version
 
Try, at the boot prompt (assuming you are using LILO)

linux noapic

I had problems with my SMP machine and Linux once, and NoApic let me boot.
 
Awesome I got it working, thanks everyone.

I forgot to do

cp System.map /boot

that may have had somethign to do with it, not sure :D

but I did the "make dep bzImage modules modules_install" (thx snowmobile74, took FOREVER :D)

Then I edited the lilo.conf file, copied over the kernel to /boot, as well as system.map

Rebooted, and poof 2 processors :D
 
Back