I'm trying to run Debian Linux on a Nokia IP710 firewall, but I can't get it to boot correctly: kernel panic every time.
The firewall has a Pentium III 1Ghz and 512MB RAM. It has no vga, a very limited bios (ie no pxe/netboot), and no cdrom drive nor usb ports. Its operating system was Nokia IPSO, based on FreeBSD.
IPSO was booted from a 32MB CF card on which there was the bootloader, and the OS was on the 40GB hard drive.
I installed Debian (Wheezy) from within qemu on a 4GB compact-flash, and later on a hard drive with a 32MB as /boot. Both OS works fine when booted within qemu or on a x86 thin-client.
However, they crash at each boot on the firewall with those logs:
[ 2.676304] BUG: unable to handle kernel paging request at ffff8000
[ 2.680166] IP: [<c1010aec>] io_apic_write+0xb/0x13
[ 2.680166] *pde = 01442067 *pte = 00000000
[ 2.680166] Oops: 0002 [#1]
[ 2.680166] Modules linked in:
[ 2.680166]
[ 2.680166] Pid: 1, comm: swapper Not tainted 3.2.0-4-486 #1 Debian 3.2.32-1
[ 2.680166] EIP: 0060:[<c1010aec>] EFLAGS: 00010086 CPU: 0
[ 2.680166] EIP is at io_apic_write+0xb/0x13
[ 2.680166] EAX: ffff8000 EBX: 00000031 ECX: 01000000 EDX: ffff8000
[ 2.680166] ESI: 01000000 EDI: 0001a929 EBP: 00000002 ESP: dec2dea0
[ 2.680166] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
[ 2.680166] Process swapper (pid: 1, ti=dec2c000 task=dec1ec00 task.ti=dec2c000)
[ 2.680166] Stack:
[ 2.680166] 00000010 00000002 c1010b5f 00000246 0001a929 01000000 c1010b95 0001a929
[ 2.680166] 01000000 00000010 66858080 dec2df20 c1315489 00000010 c1011974 0001a929
[ 2.680166] 01000000 00000001 00000000 00000002 0001a929 01000000 c1448d44 00000010
and after the call trace:
[ 2.680166] EIP: [<c1010aec>] io_apic_write+0xb/0x13 SS:ESP 0068:dec2dea0
[ 2.680166] CR2: 00000000ffff8000
[ 2.680166] ---[ end trace 6f619dcb164ee6d0 ]---
[ 2.680206] Kernel panic - not syncing: Attempted to kill init!
[ 2.684175] Pid: 1, comm: swapper Tainted: G D 3.2.0-4-486 #1 Debian 3.2.32-1
I also tried kernel 3.2.35, with the same result.
There is also a bunch of PCI-related error messages:
[ 2.467037] pci 0000:00:02.0: address space collision: [mem 0xff000000-0xff03ffff pref] conflicts with 0000:00:01.0 [mem 0xff000000-0xff03ffff pref]
[ 2.488165] pci 0000:04:06.0: no compatible bridge window for [mem 0xff000000-0xff03ffff pref]
[ 2.620180] pci 0000:00:03.0: enabling device (0000 -> 0003)
[ 2.624179] pci 0000:00:03.0: can't find IRQ for PCI INT A; probably buggy MP table
[ 2.628186] pci 0000:00:03.1: enabling device (0000 -> 0003)
[ 2.632174] pci 0000:00:03.1: can't find IRQ for PCI INT B; probably buggy MP table
And 512 of these messages (with pin 0-255, twice):
[ 1.172083] Unable to reset IRR for apic: 255, pin :3
I'd like to know how to troubleshoot these crashes. Most of the documentation I've read (like Documentation/oops-tracing.txt
) does not mention the case when the kernel crashes at boot.
The full bootlog saved from console is here.
Edit: As per @jordanm suggestion, I ran memtest overnight (11hours). It went fine without any errors:
Memtest86+ v4.20 | Pass100% #######################################
Pentium III 999.6MHz | Test 81% ###############################
L1 Cache: 16K 9342 MB/s | Test #8 [Modulo 20, Random pattern]
L2 Cache: 256K 4253 MB/s | Testing: 196K - 512M 512M
L3 Cache: None | Pattern: ab46c0e3-17
Memory : 512M 406 MB/s |-------------------------------------------------
Chipset : CNB20HE (ECC : Detect / Correct) Scrub+
WallTime Cached RsvdMem MemMap Cache ECC Test Pass Errors ECC Errs
--------- ------ ------- -------- ----- --- ---- ---- ------ --------
11:06:12 512M 0K e820 on off Std 9 0
-----------------------------------------------------------------------------