LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Red Hat (https://www.linuxquestions.org/questions/red-hat-31/)
-   -   RHEL4 kernel 2.6.9-42.0.3.EL panics on boot (https://www.linuxquestions.org/questions/red-hat-31/rhel4-kernel-2-6-9-42-0-3-el-panics-on-boot-498368/)

jcliburn 11-03-2006 02:38 PM

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
 printing eip:
c02137b9
*pde = 00000000
Oops: 0000 [#1]
Modules linked in:
CPU:    0
EIP:    0060:[<c02137b9>]    Not tainted VLI
EFLAGS: 00010246  (2.6.9-42.0.3.EL)
EIP is at acpi_ps_parse_aml+0xb2/0x1a1
eax: 00000000  ebx: f7e31400  ecx: 00000007  edx: f7e59540
esi: f7e31400  edi: f7ffca40  ebp: 00000007  esp: f7e0cc08
ds: 007b  es: 007b  ss: 0068
Process swapper (pid: 1, threadinfo=f7e0c000 task=f7e41770)
Stack: f7e5df40 00000000 f7e31400 f7ffbf40 00000001 c021271d f7c33340 f7c33340
      c043e574 c043e574 c021273c f7c333c0 c021075d f7c333c0 c18d2800 00000000
      c020a009 f7e0be40 f7e0cca8 00000000 00000000 f7c33340 c18d2800 00000000
Call Trace:
 [<c021271d>] acpi_ns_one_complete_parse+0x69/0x79
 [<c021273c>] acpi_ns_parse_table+0xf/0x1f
 [<c021075d>] acpi_ns_load_table+0x69/0x8d
 [<c020a009>] acpi_ex_add_table+0x6d/0xa6
 [<c020a338>] acpi_ex_load_op+0x1a7/0x1ef
 [<c020eeb0>] acpi_ex_resolve_node_to_value+0xe4/0x100
 [<c020ac0f>] acpi_ex_resolve_to_value+0x37/0x40
 [<c020cdb6>] acpi_ex_resolve_operands+0x1c6/0x30c
 [<c020c061>] acpi_ex_opcode_1A_1T_0R+0x21/0x4f
 [<c0205bfa>] acpi_ds_exec_end_op+0xa5/0x25b
 [<c021346f>] acpi_ps_parse_loop+0x523/0x7bb
 [<c0213754>] acpi_ps_parse_aml+0x4d/0x1a1
 [<c0213f7f>] acpi_psx_execute+0x13b/0x194
 [<c0211476>] acpi_ns_execute_control_method+0x3b/0x47
 [<c0211424>] acpi_ns_evaluate_by_handle+0x6f/0x86
 [<c0211331>] acpi_ns_evaluate_relative+0xa9/0xc3
 [<c0210c27>] acpi_evaluate_object+0xf3/0x1a0
 [<c021ee03>] acpi_processor_set_pdc+0x72/0x78
 [<c021f0d2>] acpi_processor_get_performance_info+0x29/0x68
 [<c021f27a>] acpi_processor_register_performance+0x8b/0xc2
 [<c01130b5>] acpi_cpufreq_cpu_init+0x94/0x2f2
 [<c011275a>] centrino_cpu_init_acpi+0x321/0x32d
 [<c02af305>] cpufreq_add_dev+0x13e/0x42c
 [<c01fab81>] fbcon_cursor+0x473/0x485
 [<c01089f7>] do_IRQ+0x2b3/0x2bf
 [<c031985e>] apic_timer_interrupt+0x1a/0x20
 [<c01e7319>] sub_alloc+0x5c/0x130
 [<c0250689>] serial8250_console_write+0x0/0x1b2
 [<c01e74bf>] idr_get_new_above_int+0xd2/0xe2
 [<c0251a42>] sysdev_driver_register+0x7b/0xbe
 [<c02b00ed>] cpufreq_register_driver+0x14b/0x271
 [<c03ce75b>] do_initcalls+0x49/0x8e
 [<c01005ac>] init+0x0/0x1dd
 [<c010065d>] init+0xb1/0x1dd
 [<c01041dd>] kernel_thread_helper+0x5/0xb
Code: 20 00 00 00 ba 6e 04 00 00 6a 00 b8 c4 66 33 c0 ff b3 b4 01 00 00 68 10 7b
 33 c0 e8 4d de ff ff 83 c4 10 eb 1a 8b 83 b0 01 00 00 <83> 78 10 00 75 0e 80 48
 09 08 8b 83 b0 01 00 00 c6 40 1c 01 8b
 <0>Fatal exception: panic in 5 seconds
Kernel panic - not syncing: Fatal exception



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.

canadianweasel 11-17-2006 10:28 AM

Quote:

Originally Posted by jcliburn
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.


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.