RHEL4 kernel 2.6.9-42.0.3.EL panics on boot
I just spent much of the past day and a half struggling with RHEL4 and a Lenovo ThinkCentre desktop system. I thought I'd post my problem and solution here just in case someone else runs into the same thing.
The problem: RHEL4 kernel 2.6.9-42.0.3.EL panics on boot on a Lenovo ThinkCentre 8114-A98. The system: Lenovo (IBM) ThinkCentre 8114-A98 BIOS version 2EKT37AUS BIOS date 06/13/06 Intel 82801GB (ICH7) I/O Controller Hub (southbridge) WDC WD800JD-08LS SATA hard disk drive The solution: * Disable hyperthreading in BIOS. * Set Native Mode Operation to Serial ATA in BIOS. * Build a new initrd. The steps: Ideally, do this BEFORE you install RHEL4. If you didn't do it before you installed RHEL4, execute steps 1-9 here and proceed down below the kernel oops message for steps 10-21. 1. Boot/reboot/turn on the system. Press Enter at the ThinkCentre splash screen. 2. Press F1 to enter the BIOS Setup Utility. 3. In the Setup Utility, use the arrow keys and move to the "Devices" tab. 4. Select "IDE Drives Setup" and press Enter. 5. Configure the options as follows: Parallel ATA: Enabled Serial ATA: Enabled Native Mode Operation: Serial ATA 6. Press Esc to return to the previous menu. 7. Use the arrow keys and move to the "Advanced" tab. 8. Set the following option as follows: Hyperthreading: Disabled 9. Press F10 to save and exit BIOS. Then install RHEL4. NOTE: RHEL4 will install without error even though Hyperthreading is enabled in BIOS, but when you run up2date, the new kernel (2.6.9-42.0.3.EL) that gets installed will panic on boot. Here's what the oops looks like: Code:
Unable to handle kernel NULL pointer dereference at virtual address 00000010 If you failed to set Native Mode Operation to Serial ATA in BIOS before you installed RHEL4, then the initial installation will go fine, but when you run up2date, the new kernel (2.6.9-42.0.3.EL) will not be able to find the /boot partition. Here's how to fix it. 10. Insert RHEL4 installation disk 1. 11. Reboot. Press Enter at the ThinkCentre splash screen. 12. Press F12 to change the boot order. 13. Select "5. IDE CD: HT-DT-ST RW/DVD GCC4" and press Enter to boot from CD/DVD. 14. At the RHEL boot prompt, type "linux rescue" (without quotes) and press Enter. 15. Move through the language selection screens as you see fit. 16. Select No when prompted for network interface startup. (You don't need it.) 17. Select Continue at the /mnt/sysimage screen. Anaconda should should find your system on the hard drive. 18. Click OK to acknowledge your system has been mounted. 19. At the shell prompt, type chroot /mnt/sysimage You're now inside the RHEL4 system that's installed on your hard drive. 20. Edit /etc/modprobe.conf and add this line if it isn't already there: alias scsi_hostadapter ata_piix 21. Save and exit the file, then execute these commands: cd /boot ls mv initrd-2.6.9-42.0.3.EL.img initrd-2.6.9-42.0.3.EL.img.orig mkinitrd -f initrd-2.6.9-42.0.3.EL.img 2.6.9-42.0.3.EL exit exit The system will now reboot using your /boot partition on /dev/sda1. Here's some background on what you just did... When you install RHEL4 with Native Mode Operation set to "Automatic," RHEL4 sees your hard drive as an IDE drive and labels it /hda[1,2,*]. When you upgrade your kernel to 2.6.9-42.0.3.EL, that kernel doesn't see your hard drive, because it appears to me as though PATA and SATA are stepping on each other. To fix the condition, you need to set Native Mode Operation to "Serial ATA" in BIOS so Linux will see your drive as a true SATA drive, then you need to modify your initrd so it loads the proper driver (ata_piix) for the SATA drive. Hope this helps. |
Quote:
Fabulous. It did indeed help. Thank you for sharing the solution. Probably saved from having a desktop dropped from the top of the building. |
All times are GMT -5. The time now is 01:18 AM. |