How I solved the red “Illegal OpCode” screen after Debian Lenny Installation
After 6 hours of running down- and upstairs between office and server-room I solved my problem of a red screen after booting a new HP ProLiant DL380 G7 server.
I installed Debian 5 (Lenny) a few days before to the HP SmartArray P410i.
First things first
The reason for all my problems: I used an USB-Stick during installation for getting additional Broadcom-Drivers from it.
The red screen occurs because GRUB isn’t found. The MBR of the RAID is just empty…
For any reason we get a red screen with some not documented error-codes instead of a “MBR not found” or “System not found” message 🙂
I successfully booted the machine a few times before the red screen appeared.
Now I know that it happened because I removed the USB-Stick this morning. Debian Lenny has a small bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506263
If you use an USB-Stick during installation and if you start GRUB at the end it uses your USB-Stick as boot-device instead of your RAID-Controller.
How I solved the problem
After knowing the reason it wasn’t too hard to solve the problem ( follow at your own risk 🙂 )
- Boot the server from Live-CD (I used Rescue-Mode of the current Ubuntu-10.10 AMD64 Server-Edition)
- I rescue-mode change root to your SmartArray-Partition (/dev/cciss/c0d0p1)
- Edit /boot/grub/device.map and remove entry of USB-Stick if it exists
- Edit /boot/grub/device.map and change the RAID-entry to hd0:
- Edit /boot/grub/menu.lst and change paths to your boot-partition on SmartArray
- Edit /boot/grub/menu.lst and change all hd1’s to hd0 (even the # groot=(hd1,0) entry!):
title Debian GNU/Linux, kernel 2.6.26-2-amd64 root (hd0,0) kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/cciss/c0d0p1 ro quiet initrd /boot/initrd.img-2.6.26-2-amd64 title Debian GNU/Linux, kernel 2.6.26-2-amd64 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/cciss/c0d0p1 ro single initrd /boot/initrd.img-2.6.26-2-amd64
- Update Grub:
- Write new MBR to RAID:
- Reboot the system