Stop me before I kill (my computer) again
December 11, 2006 12:56 PM
Subscribe
Calling all Linux-minded MeFites: Please answer several questions related to kernels, upgrades, and Slackware 11. The last time I tried this I was left with a dead server. Help me do it right this time 'round.
The situation: Aging but serviceable Dell PowerEdge server, running Slack 10.2 and the 2.3.41 kernel. Currently serving as a web server and email backup (personal use only, if this is borked no one is harmed but myself). However, we need a departmental server, so I volunteered this machine. Wanted to upgrade it to Slack 11 prior to doing anything else. Followed the instructions on the upgrade README file. Read TFM as I went along. Now it is done, but I'm afraid to reboot.
Here's the issue: The system has a SCSI hard drive. CD-ROM is on the IDE channel, but I had scads of problems the last install just getting Slack to realize that the CD was on IDE0, and the HDD was on the SCSI card. After unsuccessfully trying to upgrade the kernel last time around (and several reinstalls just to get it going), I hadn't planned on doing anything with the current kernel. The install package had other ideas. The 2.4.33.3 kernel is now installed. I can't go back to the 2.4.31 kernel as a boot option, as the mod files were removed during the upgrade.
So now I have a system - supposedly ready to reboot - but I'm afraid that rebooting it will result in an inability to load the SCSI HDD. I compiled a 2.4.33.3 kernel that does have the SCSI drivers enabled - couldn't do zImage, had to bzImage the thing, but the vmlinux file is now in my boot directory - but (a) lilo complains the image is too big to use, and (b) I don't have a clue whether compiling the thing on my own is necessary - Does the default kernel have the SCSI drivers? Can I just stick with the default? Tried to do mkinitrd but again it is asking me for the 2.4.31 modules, and I would prefer the newer kernel if I can get it running.
As usual, I started by checking all of the relevant forum sites for answers, but with Linux it seems that the answers are either in cryptic "old bearded one" speak, which I am not l33t enough to decipher, or they have follow-ups along the lines of "oh nevermind I fixed it" rather than answers I can use.
Any advice here would be welcome. Short of wiping and reinstalling, what's the best way to get this thing happy with the new kernel? uname -a is still telling me I'm running 2.4.31, checked lilo to be sure the 2.4.33.3 kernel was set (it is) but lilo -v first warns me that the 2.4.31 modules are missing (should I care?) and then seems to run fine without throwing any errors (what the hell?).
As with many things I have learned just exactly enough about Linux to know when I'm in trouble. Hoping the hive mind can help me get unstuck on this one.
posted by caution live frogs to computers & internet (13 comments total)
ftp://ftp.slackware.com/pub/slackware/slackware-11.0/slackware/a/kernel-ide-2.4.33.3-i486-1.txt
As such, you'd have some difficulty making it recognize your ... SCSI drive. So, as you said, compiling your own is the way to go.
To get it booting, with a failsafe...
Do you still have the vmlinux file for the working 2.4.31 system? If so, you can add the new kernel to lilo.conf, but keep the old one in the menu, in case the new one doesn't work. Don't worry about the missing modules. The kernel must have everything necessary to access the root partition (in your case, SCSI and EXT2/3 or reiserfs drivers) compiled directly in. So, your sound card might not work, but you'll be able to get a shell and recompile your kernel again from 2.4.31 in case your 2.4.33 doesn't work.
Here's how to do that:
1. Copy the old image to /boot/vmlinux-2.4.31
2. Copy the new bzImage to /boot/vmlinux-2.4.33
3. Edit lilo.conf to have two image lines. For one, you might use
image = /boot/vmlinuz-2.4.31
root = /dev/sda1 [or whatever your root is]
label = linux-SAFE
read-only
The second image would start with
image = /boot/vmlinuz-2.4.33
4. Run lilo -v to make sure both images are installed
You probably want to have a "delay=50" line before the image lines to make sure lilo pauses to let you select what you want to boot.
Remember, you can always boot into your system, in case of bad things happening, with your Slackware boot CD.
Since you're on a SCSI system, you'd have to use one of the SCSI kernels (why this is on the boot CD but not as a package, I'll never know):
http://dev.slackware.it/docs/howto.php?page=6
So you'd probably type:
scsi.s root=/dev/sda1
at the "boot:" prompt. This can help you in a jam, in case you completely mess LILO up.
posted by lalas at 1:22 PM on December 11, 2006