LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   server upgrade - kernel panic 13.1-13.37 (https://www.linuxquestions.org/questions/slackware-14/server-upgrade-kernel-panic-13-1-13-37-a-935355/)

hua 03-19-2012 04:49 PM

server upgrade - kernel panic 13.1-13.37
 
Today I tried to upgrade the main server - from Slackware 13.1 to 13.37.
Unfortunately I get a kernel panic message. :(

After upgrade when I rebooted the system I get the not sync - kernel panic error message. It was something about - that swap cannot be used. I was shocked when I found out that the system does not see the hard-drive anymore.
So I inserted my Slackware 13.37 boot media into CDROM and started the server with hugesmp.s (default) kernel (as in setup). After the system came up into root console I tried cfdisk to see my partitions. But I could not see any device.
So I tried to boot into Slackware 13.1 instead of 1337. It uses huge.s kernel. Whit this I was able to access my partitions again with 13.1. Then I tried the huge.s with 13.37 again but still cannot access my partitions.
Slackware 13.37 just cannot see the hard-drive which 13.1 does.

Hardware:
Lenovo ThinkServer RD120
2 x 500G hard-drives (array was created with the hardware raid - IBM Server raid - V5.2-0 [build 15427])
CPU IntelXeon

Previously it was running with Slackware 13.1.

Now I am thinking about what to do?
Downgrade back to 13.1?, Try to use the 2.6.33.4 kernel from 13.1 in 1337, Maybe the IBM servers Raid kernel needs to be updated ...

samac 03-19-2012 05:28 PM

Have a look at the UPGRADE.TXT file on the install DVD and you will see that there was a major change in the disk naming.

Quote:

Slackware 13.1 to 13.37 Upgrade HOWTO <volkerdi@slackware.com>

This document explains how to upgrade from Slackware 13.1 to Slackware 13.37.

----------------------------------------------------------------------------

For details of important changes from Slackware 13.1 to 13.37, see the file
'CHANGES_AND_HINTS.TXT'. Thanks to Robby Workman for help with this.
If you have partitions in /etc/fstab named /dev/hd*, please take special
note of the instructions for the changeover to /dev/sd* devices or your
machine will not reboot correctly.

Before you begin, I would strongly recommend making a backup of your
system, or, if not the entire system, at least the /etc directory. You
might find that you need to refer to a few things after the upgrade
process is complete. Back it up, or take your chances.

OK, now that everything is safely backed up, let's proceed. :-)

To do this, you'll need the Slackware 13.37 packages. If these are on a CD,
create a new directory to mount the CD on so that it doesn't get in the way
during the upgrade:

mkdir /packages
mount /dev/cdrom /packages

The packages don't have to be on a CD-ROM, as an alternative you could
copy the slackware directory (the one with the various package
subdirectories in it, basically the "slackware" or "slackware64" directory
from the install disc) to someplace like /root/slackware/. The important thing
is that you know where the slackware packages directory is. We'll use
/root/slackware in the following examples.


0. Put your machine in single-user mode:
telinit 1

Note that this is _not_ strictly required, and there have been reports
of success remotely upgrading machines that are still in multiuser
mode. However, more things can go wrong in multiuser, so especially
if you're considering a remote upgrade in multiuser mode, you might
want to clone the machine locally so that you can do a test run to
uncover any problem areas and come up with workarounds for them.


1. Upgrade your package utilities and related tools:

upgradepkg /root/slackware/a/pkgtools-*.tgz
upgradepkg /root/slackware/a/tar-*.tgz
upgradepkg /root/slackware/a/xz-*.tgz
upgradepkg /root/slackware/a/findutils-*.txz


2. Upgrade your glibc shared libraries. This is important, or things
might go haywire during the next part of the upgrade:

upgradepkg /root/slackware/a/glibc-solibs-*.t?z


3. Upgrade everything else (and install new packages):

upgradepkg --install-new /root/slackware/*/*.t?z

If you wish to upgrade everything except for the KDEI language
packs for KDE (these take a lot of space and can be dealt with
after the main upgrade more quickly and easily), running this
script in the "slackware" directory will do the trick:

#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
( cd $dir ; upgradepkg --install-new *.t?z )
done


4. Remove obsolete packages. The CHANGES_AND_HINTS.TXT file should have a
list of these. You may also wish to go into /var/log/packages and take
a look at the package list:

ls -lt | less

You may spot some old, obsolete, or discontinued packages. If so,
you can remove these using 'removepkg'. This command will get rid of
the packages which became obsolete since Slackware 13.1:

removepkg util-linux-ng guidance-power-manager eggdbus iptraf \
libXTrap libXprintAppUtil libXprintUtil libxkbui rstart trapproto \
xf86rushproto xfindproxy xfwp xplsprinters xprehashprinterlist \
xproxymanagementprotocol xsetmode xsetpointer xtrap

Note the removal of util-linux-ng! You better make sure that the
renamed util-linux package is installed before removing that. :-)


5. Fix your config files. Some of the config files in /etc are going to
need your attention. You'll find the new incoming config files on
your system with the ".new" extension. You may need to fill these in
with information from your old config files and then move them over.

Feel brave? You can use this little script to install most of the
.new config files in /etc. If you've made any local changes you'll
need to add them to the newly installed files. Your old config files
will be copied to *.bak. Anyway, it might be an easier starting
point. Here it is:

#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
-a ! "$configfile" = "./rc.d/rc.local.new" \
-a ! "$configfile" = "./group.new" \
-a ! "$configfile" = "./passwd.new" \
-a ! "$configfile" = "./shadow.new" ]; then
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
fi
done

You might also wish to move these config files over:

/usr/man/man.conf.new
/usr/share/vim/vimrc.new


6. If you use a non-en_US language pack for KDE and you already have it
installed, then you may upgrade it by moving into the slackware/kdei
directory and using this command:

upgradepkg --install-new k*<your KDE locale>*t?z

To have upgradepkg cycle through all of the available packages, and
see which ones need to be upgraded, use this in slackware/kdei:

upgradepkg *t?z

If your language has been added to KDE since Slackware 13.1, you'll
need to install it using installpkg, or upgradepkg --install-new.

Typically you'll need to make sure that you have installed the
slackware/kdei packages for kde, koffice, and k3b (if you use those).


7. IMPORTANT! *Before* attempting to reboot your system, you will need
to make sure that the bootloader has been updated for the new kernel!
First, be sure your initrd is up to date (if you use one). If you
use LILO, make sure the paths in /etc/lilo.conf point to a valid
kernel and then type 'lilo' to reinstall LILO. If you use a USB memory
stick to boot, copy the new kernel to it in place of the old one.

If you were using devices such as /dev/hda (IDE hard drive) with
Slackware 13.1, you will need to consider how to switch over to the
new /dev/sda type device names. See CHANGES_AND_HINTS.TXT for complete
instructions on how to do this. If you have not read this yet, now
is a great time to go look at that. Forget about step 8 and 9 and
just go complete that part of the upgrade and you'll be good to go.


8. Return to multi-user mode:
telinit 3


9. Reboot to start using the new kernel.


At this point you should be running Slackware 13.37. :-)

I wish everyone good luck with this!

---
Patrick Volkerding
volkerdi@slackware.com



samac

hua 03-19-2012 05:55 PM

I don't think that this is my case. When I boot from cdrom I should be able to see my disk anyway.
I didn't have partitions like hda1 but sda1.

willysr 03-19-2012 06:03 PM

then you only need to change it in /etc/fstab and /etc/lilo.conf

hua 03-20-2012 02:24 AM

This is my lilo.conf and this was also before upgrade. What should I change?
Quote:

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/sda
#compact # faster, but won't work on all systems.
# Standard menu.
message = /boot/boot_message.txt

# Append any additional kernel parameters:
append=" vt.default_utf8=0"
#prompt
#timeout = 5
# VESA framebuffer console @ 1024x768x256
vga = 773
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0 # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda1
label = Master
read-only # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
And the fstab.
Quote:

dev/sda4 swap swap defaults 0 0
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 1 2
/dev/sda3 /var ext4 defaults 1 2
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
And the /dev/sda1 does exist! The problem is that I cannot even install a fresh new Slackware 13.37 because it does not see the hard-disk.
EDIT:
I found some information about the actual IBM ServeRAID 8k SAS Controller (which we use).
http://www-947.ibm.com/support/entry...d=MIGR-5070603

tmmukunn 03-21-2012 05:20 PM

I'm trying to draw at straws here, but.. when you boot up on the installation for Slackware 13.37, is there any indication it detects your IBM ServeRAID controller at all (from dmesg)? It looks like by default for 2.6.37.6 kernel, the driver is compiled as a module called ips (found this under Device Drivers->SCSI device support->SCSI low level drivers in the kernel xconfig). It looks like this was the same as in Slackware 13.1 though so not sure why things would have changed on detection.

hua 03-22-2012 01:36 PM

Thanks for your answer.
I finally took the server off and started to analyze the dmesg outputs from both successful and unsuccessful boots. The result is next:
There are lines in both cases witch shows the driver loading
Quote:

Adaptec aacraid driver 1.1-5[247702]-ms
aacraid 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
aacraid 0000:04:00.0: setting latecy timer to 64
IRQ 17/aacraid: IRQF_DISABLED is not guaranteed on shared IRQs
AAC0: kernel 5.2-0[15427] Mar 2 2009
AAC0: monitor 5.2-0[15427]
AAC0: bios 5.2-0[15427]
AAC0: serial XXXXXXXX 5.2-0
scsi2 : ServerRAID
scsi 2:0:0:0: Direct-Access ServerRA System V1.0 PQ: 0 ANSI: 2
scsi 2:1:0:0: Direct-Access ST350051 4NS BB28 PQ: 0 ANSI: 5
scsi 2:1:1:0: Direct-Access ST350051 4NS BB28 PQ: 0 ANSI: 5
scsi 2:3:0:0: Enclosure IBM-ESXS VSC7160 1.07 PQ: 0 ANSI: 3
aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
This is in Slackware 13.1 which boot successfully.
Slackware 13.37 reports different
Quote:

Adaptec aacraid driver 1.1-5[26400]-ms
aacraid 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
aacraid 0000:04:00.0: setting latecy timer to 64
AAC0: adapter kernel panic'd ffffffff.
aacraid 0000:04:00.0: PCI INT A disabled
aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
It looks like the Adaptec ServerRAID cards kernel gets into kernel panic when the Slackwares aacraid driver 1.1-5[26400]-ms initializes the Controller.

tmmukunn 03-22-2012 05:26 PM

Quote:

Originally Posted by hua (Post 4633817)
Thanks for your answer.
I finally took the server off and started to analyze the dmesg outputs from both successful and unsuccessful boots. The result is next:
There are lines in both cases witch shows the driver loading

This is in Slackware 13.1 which boot successfully.
Slackware 13.37 reports different

It looks like the Adaptec ServerRAID cards kernel gets into kernel panic when the Slackwares aacraid driver 1.1-5[26400]-ms initializes the Controller.

Check out this link. I gogoled on your exact panic line.
https://bbs.archlinux.org/viewtopic.php?id=124288

Then mentioned booting with the following argument: pci=nocrs

hua 03-23-2012 03:00 AM

Quote:

Originally Posted by tmmukunn (Post 4633965)
Check out this link. I gogoled on your exact panic line.
https://bbs.archlinux.org/viewtopic.php?id=124288

Then mentioned booting with the following argument: pci=nocrs

Great. It works. Thanks for all answers.
NOTE: Does anybody know something about this issue. What does pci=nocrs? And why causes it kernel panic on the hardware?

Uzuki 03-25-2012 10:42 AM

From http://kernel.org/doc/Documentation/...parameters.txt
Code:

nocrs                [X86] Ignore PCI host bridge windows from ACPI.
                If you need to use this, please report a bug.


hua 03-28-2012 01:48 AM

OK thanks.
So I used and append='pci=nocrs' in lilo.conf. This way I can boot the server with Slackware 13.37.


All times are GMT -5. The time now is 07:45 PM.