Operating System - Linux
1748219 Members
4611 Online
108759 Solutions
New Discussion

Debian 6.0.5 amd64 Recovery Mode / RunLevel 1 Failed on HP DL380 G7

 
addicted
Occasional Visitor

Debian 6.0.5 amd64 Recovery Mode / RunLevel 1 Failed on HP DL380 G7

I installed Debian Squeeze 6.0.5 amd64 (kernel 2.6.32-5amd64). It was a fresh installation with LXDE (already tried XFCE & GNOME also), selecting only Standard System & Desktop Environment in tasksel.

Installation went smooth and everything seems to worked okay in "Normal Mode" but when i choose "Recovery Mode" in Grub Menu it freeze my server & monitor goes standby and pressing every key combination on keyboard won't help. It's like the server in shutdown/halt state but the power led still on. The only thing i can do is force shutdown by long pressing power button.

Same thing happened when i tried "telinit 1" in root terminal (LXDE /Normal Mode).

Here's syslog : 

Quote:
May 30 11:44:28 cms-cobs init: Switching to runlevel: 1
May 30 11:44:29 cms-cobs rpc.statd[1113]: Caught signal 15, un-registering and exiting
May 30 11:44:29 cms-cobs avahi-daemon[1740]: Got SIGTERM, quitting.
May 30 11:44:29 cms-cobs avahi-daemon[1740]: Leaving mDNS multicast group on interface eth0.IPv4 with address 172.29.103.200.
May 30 11:44:29 cms-cobs avahi-daemon[1740]: avahi-daemon 0.6.27 exiting.
May 30 11:44:30 cms-cobs kernel: Kernel logging (proc) stopped.
May 30 11:44:30 cms-cobs rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="1284" x-info="http://www.rsyslog.com"] exiting on signal 15.
Here's grub.cfg :
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set b6568c75-e4da-4e43-8134-c61b9e9ea41a
echo 'Loading Linux 2.6.32-5-amd64 ...'
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=b6568c75-e4da-4e43-8134-c61b9e9ea41a ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set b6568c75-e4da-4e43-8134-c61b9e9ea41a
echo 'Loading Linux 2.6.32-5-amd64 ...'
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=b6568c75-e4da-4e43-8134-c61b9e9ea41a ro single 
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/10_linux ###
Here's rc1.d :
lrwxrwxrwx 1 root root 20 May 30 09:02 K01alsa-utils -> ../init.d/alsa-utils 
lrwxrwxrwx 1 root root 17 May 30 09:02 K01anacron -> ../init.d/anacron 
lrwxrwxrwx 1 root root 13 May 30 09:01 K01atd -> ../init.d/atd 
lrwxrwxrwx 1 root root 14 May 30 09:02 K01cups -> ../init.d/cups 
lrwxrwxrwx 1 root root 15 May 30 09:02 K01exim4 -> ../init.d/exim4 
lrwxrwxrwx 1 root root 13 May 30 09:02 K01gdm -> ../init.d/gdm 
lrwxrwxrwx 1 root root 13 May 30 09:02 K01hal -> ../init.d/hal 
lrwxrwxrwx 1 root root 20 May 30 09:02 K01kerneloops -> ../init.d/kerneloops 
lrwxrwxrwx 1 root root 15 May 30 09:02 K01saned -> ../init.d/saned 
lrwxrwxrwx 1 root root 22 May 30 09:02 K02avahi-daemon -> ../init.d/avahi-daemon 
lrwxrwxrwx 1 root root 17 May 30 09:02 K04rsyslog -> ../init.d/rsyslog 
lrwxrwxrwx 1 root root 20 May 30 09:02 K06nfs-common -> ../init.d/nfs-common 
lrwxrwxrwx 1 root root 17 May 30 09:02 K06portmap -> ../init.d/portmap 
-rw-r--r-- 1 root root 369 Mar 25 03:09 README 
lrwxrwxrwx 1 root root 19 May 30 08:51 S01killprocs -> ../init.d/killprocs 
lrwxrwxrwx 1 root root 18 May 30 09:02 S21bootlogs -> ../init.d/bootlogs 
lrwxrwxrwx 1 root root 16 May 30 09:02 S22single -> ../init.d/single
Specs:

HP DL380 G7 / 16GB RAM
4x146GB 10K SAS (around 270GB RAID1+0)
HP Smart Array P410 Controller (256MB)

I don't even know what cause this behavior so i try many things :

- Adding various kernel option in grub.cfg without luck. (nomodeset, xforcevesa, nodmraid, noapic)
- "modprobe acpi" before "telinit 1" won't help either.

Any help would be very much appreciated.. 

1 REPLY 1
Matti_Kurkela
Honored Contributor

Re: Debian 6.0.5 amd64 Recovery Mode / RunLevel 1 Failed on HP DL380 G7

Probably the kernel tries to run one of the framebuffer console drivers (most likely vesafb or radeonfb), but it fails to set up an useable video mode for some reason.

 

Please run "cat /proc/fb" to identify the framebuffer console driver.

 

You could set up a serial console in the iLO Virtual Serial Port: that would allow you to work around the entire display subsystem.

 

First, press a key when prompted at boot time to see the option ROM messages. Then press F8 to configure usernames/passwords and network parameters for iLO (it's a completely separate network interface, and needs its own IP address, even if you plug it into the same network as the main network connection of your server). Connect the iLO network interface to your network. After saving the settings and waiting for a minute or two for the iLO to reset, you should now be able to access the iLO with a web browser or a SSH connection even if the server is shut down.

 

In a modern non-blade Proliant server, the iLO virtual serial port is COM2, or /dev/ttyS1 in Linux terminology.

To have a serial console in Normal Mode, you'll need to add a "getty" process for the serial port in your /etc/inittab.

 

In /etc/inittab, there are commented-out example lines for exactly this purpose:

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

 Uncomment the line for ttyS1. You can change the speed value from 9600 to 115200, as the virtual serial port does not really care about the port speed. This prevents software from intentionally slowing down its output to keep up with an "old slow terminal". Once you've edited your inittab file, run "telinit q" to make the settings take effect.

 

(In Debian 6.0, the /etc/securetty file should already contain ttyS1, so no need to add it.)

 

Now connect to iLO using SSH. Log in and enter "VSP" to the iLO command prompt. iLO will display the key combination required to disconnect from the serial console: remember it. If you see nothing else, press Enter once or twice: you should see a login prompt. This confirms the serial console works in Normal Mode.

 

For the Recovery Mode, you'll need to add a few boot parameters. I'd normally recommend "console=tty0 console=ttyS1,115200" for this purpose. It will cause the kernel messages to go both to the VGA console and the serial console, but the serial console will be considered the primary one (on the kernel command line, the last console entry wins). As a result, any messages generated by the system startup scripts will usually go to the serial console only - so you'll need to be aware of this.

 

When you use these boot parameters with the Recovery Mode, the boot should result in the boot messages and root login prompt appearing on the virtual serial port, even if the monitor remains unresponsive.You could log in and change the framebuffer console settings with the "fbset" command (or even unload a malfunctioning radeonfb kernel module, if it turns out to be the cause of the failure of the VGA console).

 

If this works to your satisfaction, you should add the boot parameters to the GRUB_CMDLINE_LINUX line in the /etc/default/grub file and run update-grub to add these parameters automatically to all your current and future GRUB boot menu entries for Linux. (You might also want to consider removing the "quiet" boot option from the GRUB_CMDLINE_LINUX_DEFAULT line: personally, I don't see the point of hiding boot-time troubleshooting information on server systems.)

 

You can also add some parameters to GRUB configuration to make GRUB itself accessible via serial port, and the DL380 G7 BIOS has some settings that allow sending the BIOS boot messages to the serial port too (I think it might even do that automatically by default if the iLO VSP mode is active at boot time?). Unfortunately you'll be on your own here: I haven't (yet) had a chance to configure a remote console to a system with a GNU GRUB version 1.xx (only older GRUB 0.xx versions, which had a different configuration syntax), so you'll need to read the GRUB documentation to find the correct syntax for the serial port settings.

 

MK