On Sat, Feb 20, 2010 at 9:05 PM, Kevin O'Connor <ke...@koconnor.net> wrote: > On Sat, Feb 20, 2010 at 05:23:59PM -0700, Brandon Bennett wrote: >> When booting a Juniper JunOS kernel (FreeBSD based) I am getting a >> panic: unkown/reserved trap error immediately after the kernel loads. >> If i use an older pc-bios with the '-bios' option everything works so >> it seems to be an issue with the SeaBios. >> >> With #DEBUG_BIOS enabled in hw/pc.c here is what i am getting during boot. > > Thanks Brandon, > > I don't see anything in the log that looks suscpicious. Are these > JunOS images available for download somewhere?
JunOS is the operating system that runs on Juniper Networks Routers. The routers control plane is made up of standard x86 hardware so you an run the software on a standard x86 box or hardware virtualizer like qemu to run labs to test configurations and study for new tests, etc. This is called an Olive. You can read more about it here http://juniper.cluepon.net/index.php/Olive It's not freely available. > Should a kernel fail during boot, I'd suspect it doesn't like one of > the apm/pcibios callbacks, or it doesn't like one of the > smbios/mptable/acpi tables. You could try compiling the SeaBIOS code > (see http://seabios.org/Download ) and increasing the debugging by > modifying src/config.h. Specifically, you could increase > CONFIG_DEBUG_LEVEL, and set DEBUG_HDL_pcibios32 and DEBUG_HDL_apm to > 1. Also, you could try disabling some of the features to see if that > prevents the fault (eg, disabling CONFIG_ACPI / CONFIG_SMBIOS / > CONFIG_MPTABLE). I turned up the CONFIG_DEBUG_LEVEL to 8 and left DEBUG_HDL_pcibios and DEBUG_HDL_apm at 9. I'll play around with disabling the various options you stated above in a bit. Here is the output from that debug: bbenn...@strongbad:~/Lab/JNCIP-M$ qemu -m 512m -hda olive-base-8.1R4.3.img -cdrom 4.11-RELEASE-i386-miniinst.iso -boot c -nographic -bios ~/Devel/out-debug/bios.bin Start bios (version pre-0.5.2-20100221_145730-ubuntu) enabling shadow ram init ivt init bda Find memory size Add to e820 map: 00000000 20000000 1 Add to e820 map: 00000000 00000000 1 Add to e820 map: fffc0000 00040000 2 Add to e820 map: 000a0000 00050000 -1 Add to e820 map: 0009f400 00000c00 2 Add to e820 map: 000f0000 00010000 2 Ram Size=0x20000000 (0x0000000000000000 high) malloc setup Add to e820 map: 1fff0000 00010000 2 init pic init timer tsc calibrate start=42359373 end=47360586 diff=5001213 CPU Mhz=2913 math cp init qemu_cfg_present=1 Found 1 cpu(s) max supported 1 cpu(s) pci setup PIIX3/PIIX4 init: elcr=00 0c PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 region 4: 0x0000c000 PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 PCI: bus=0 devfn=0x10: vendor_id=0x1013 device_id=0x00b8 region 0: 0xf0000000 region 1: 0xf2000000 region 6: 0xf2010000 PCI: bus=0 devfn=0x18: vendor_id=0x8086 device_id=0x100e region 0: 0xf2020000 region 1: 0x0000c040 region 6: 0xf2040000 init smm init bios32 init PMM init PNPBIOS table init keyboard init mouse init PIR table init MPTable pmm_malloc zone=0x000f640c handle=ffffffff size=32768 align=10 ret=0x1ffe7fe0 (info=0x1ffeffe0) pmm_malloc zone=0x000f63f4 handle=ffffffff size=224 align=10 ret=0x000f7ec0 (info=0x1ffe7fc0) pmm_malloc zone=0x000f63f4 handle=ffffffff size=16 align=10 ret=0x000f7eb0 (info=0x1ffe7fa0) pmm_free data=0x1ffe7fe0 olddata=0x1ffeffe0 oldallocdata=0x1fff0000 info=0x1ffeffe0 MP table addr=0x000f7eb0 MPC table addr=0x000f7ec0 size=224 init SMBIOS tables pmm_malloc zone=0x000f640c handle=ffffffff size=32768 align=10 ret=0x1ffdff80 (info=0x1ffe7f80) pmm_malloc zone=0x000f63f4 handle=ffffffff size=31 align=10 ret=0x000f7e90 (info=0x1ffdff60) pmm_malloc zone=0x000f63e8 handle=ffffffff size=263 align=10 ret=0x1ffffef0 (info=0x1ffdff40) SMBIOS ptr=0x000f7e90 table=0x1ffffef0 pmm_free data=0x1ffdff80 olddata=0x1ffe7f80 oldallocdata=0x1ffe7fa0 info=0x1ffe7f80 init ACPI tables pmm_malloc zone=0x000f63f4 handle=ffffffff size=36 align=10 ret=0x000f7e60 (info=0x1ffdff20) pmm_malloc zone=0x000f63e8 handle=ffffffff size=116 align=10 ret=0x1ffffe70 (info=0x1ffdff00) pmm_malloc zone=0x000f63e8 handle=ffffffff size=64 align=40 ret=0x1ffffe00 (info=0x1ffdfee0) pmm_malloc zone=0x000f63e8 handle=ffffffff size=7714 align=10 ret=0x1fffdfd0 (info=0x1ffdfec0) pmm_malloc zone=0x000f63e8 handle=ffffffff size=56 align=10 ret=0x1fffdf90 (info=0x1ffdfea0) pmm_malloc zone=0x000f63e8 handle=ffffffff size=224 align=10 ret=0x1fffdeb0 (info=0x1ffdfe80) pmm_malloc zone=0x000f63e8 handle=ffffffff size=56 align=10 ret=0x1fffde70 (info=0x1ffdfe60) pmm_malloc zone=0x000f63e8 handle=ffffffff size=52 align=10 ret=0x1fffde30 (info=0x1ffdfe40) ACPI tables: RSDP=0x000f7e60 RSDT=0x1fffde30 Scan for VGA option rom Attempting to init PCI bdf 00:02.0 (dev/ven 00b81013) Attempting to map option rom on dev 00:02.0 Option rom sizing returned f2010000 ffff0000 Inspecting possible rom at 0xf2010000 (dv=00b81013 bdf=10) Copying option rom (size 35840) from 0xf2010000 to c0000 Checking rom 0x000c0000 (sig aa55 size 70) Running option rom at c000:0003 VGABios $Id$ Turning on vga console Starting SeaBIOS (version pre-0.5.2-20100221_145730-ubuntu) init usb init ps2port pmm_malloc zone=0x000f640c handle=ffffffff size=4096 align=1000 ret=0x1ffde000 (info=0x1ffdfe20) /1ffde000\ Start thread |1ffde000| i8042_flush |1ffde000| i8042_command cmd=1aa |1ffde000| i8042_wait_write |1ffde000| i8042_wait_read |1ffde000| i8042 param=55 |1ffde000| i8042_command cmd=1ab |1ffde000| i8042_wait_write |1ffde000| i8042_wait_read |1ffde000| i8042 param=0 |1ffde000| i8042_command cmd=ae |1ffde000| i8042_wait_write |1ffde000| i8042_command cmd=a8 |1ffde000| i8042_wait_write |1ffde000| kbd_command cmd=2ff |1ffde000| ps2_sendbyte aux=0 cmd=ff |1ffde000| i8042_kbd_write c=255 |1ffde000| i8042_wait_write |1ffde000| ps2 read fa |1ffde000| ps2 read aa init lpt Found 1 lpt ports init serial Found 1 serial ports init boot device ordering pmm_malloc zone=0x000f63f4 handle=ffffffff size=80 align=10 ret=0x000f7e10 (info=0x1ffddfe0) init floppy drives init hard drives ATA controller 0 at 1f0/3f4/0 (irq 14 dev 9) pmm_malloc zone=0x000f640c handle=ffffffff size=4096 align=1000 ret=0x1ffdc000 (info=0x1ffddfc0) /1ffdc000\ Start thread |1ffdc000| powerup iobase=1f0 st=50 |1ffdc000| powerup iobase=1f0 st=50 |1ffdc000| ata_detect ataid=0 sc=55 sn=aa dh=a0 |1ffdc000| ata_reset drive=0x1ffdcf9c ATA controller 1 at 170/374/0 (irq 15 dev 9) pmm_malloc zone=0x000f640c handle=ffffffff size=4096 align=1000 ret=0x1ffda000 (info=0x1ffdbfe0) /1ffda000\ Start thread |1ffda000| powerup iobase=170 st=50 |1ffda000| powerup iobase=170 st=50 |1ffda000| ata_detect ataid=2 sc=55 sn=aa dh=a0 |1ffda000| ata_reset drive=0x1ffdaf9c |1ffdc000| ata_reset exit status=50 |1ffdc000| send_cmd : read error (status=41 err=04) |1ffdc000| pmm_malloc zone=0x000f63f4 handle=ffffffff size=80 align=10 ret=0x000f7dc0 (info=0x1ffd9fe0) |1ffdc000| Identify w0=40 w2=0 |1ffdc000| drive 0x000f7dc0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=16777216 |1ffdc000| ata_detect resetresult=6001 |1ffdc000| powerup iobase=1f0 st=50 |1ffdc000| powerup iobase=1f0 st=0 |1ffdc000| ata_detect ataid=1 sc=55 sn=aa dh=b0 |1ffdc000| send_cmd : DRQ not set (status 00) |1ffde000| pmm_free data=0x1ffdc000 olddata=0x1ffddfc0 oldallocdata=0x1ffddfe0 info=0x1ffddfc0 \1ffdc000/ End thread |1ffda000| ata_reset exit status=0 |1ffda000| pmm_malloc zone=0x000f63f4 handle=ffffffff size=80 align=10 ret=0x000f7d70 (info=0x1ffd9fc0) |1ffda000| Identify w0=85c0 w2=0 |1ffda000| Mapping cd drive 0x000f7d70 |1ffda000| ata_detect resetresult=0000 |1ffda000| powerup iobase=170 st=50 |1ffda000| powerup iobase=170 st=0 |1ffda000| ata_detect ataid=3 sc=55 sn=aa dh=b0 |1ffda000| send_cmd : DRQ not set (status 00) |1ffde000| pmm_free data=0x1ffda000 olddata=0x1ffdbfe0 oldallocdata=0x1ffddfe0 info=0x1ffdbfe0 \1ffda000/ End thread |1ffde000| kbd_command cmd=f5 |1ffde000| ps2_sendbyte aux=0 cmd=f5 |1ffde000| i8042_kbd_write c=245 |1ffde000| i8042_wait_write |1ffde000| ps2 read fa |1ffde000| kbd_command cmd=10f0 |1ffde000| ps2_sendbyte aux=0 cmd=f0 |1ffde000| i8042_kbd_write c=240 |1ffde000| i8042_wait_write |1ffde000| ps2 read fa |1ffde000| ps2_sendbyte aux=0 cmd=2 |1ffde000| i8042_kbd_write c=2 |1ffde000| i8042_wait_write |1ffde000| ps2 read fa |1ffde000| i8042_command cmd=1060 |1ffde000| i8042_wait_write |1ffde000| i8042_wait_write |1ffde000| kbd_command cmd=f4 |1ffde000| ps2_sendbyte aux=0 cmd=f4 |1ffde000| i8042_kbd_write c=244 |1ffde000| i8042_wait_write |1ffde000| ps2 read fa |1ffde000| keyboard initialized pmm_free data=0x1ffde000 olddata=0x1ffdfe20 oldallocdata=0x1ffdfe40 info=0x1ffdfe20 \1ffde000/ End thread Scan for option roms Attempting to init PCI bdf 00:00.0 (dev/ven 12378086) Attempting to map option rom on dev 00:00.0 Option rom sizing returned 0 0 Attempting to init PCI bdf 00:01.0 (dev/ven 70008086) Attempting to map option rom on dev 00:01.0 Option rom sizing returned 0 0 Attempting to init PCI bdf 00:01.3 (dev/ven 71138086) Attempting to map option rom on dev 00:01.3 Option rom sizing returned 0 0 Attempting to init PCI bdf 00:03.0 (dev/ven 100e8086) Attempting to map option rom on dev 00:03.0 Option rom sizing returned f2040000 fffe0000 Inspecting possible rom at 0xf2040000 (dv=100e8086 bdf=18) Copying option rom (size 72192) from 0xf2040000 to c9000 Checking rom 0x000c9000 (sig aa55 size 141) Running option rom at c900:0003 pnp call arg1=60 pmm call arg1=0 pmm00: length=8000 handle=ffffffff flags=6 pmm_malloc zone=0x000f640c handle=ffffffff size=524288 align=80000 ret=0x1ff00000 (info=0x1ffd9fa0) pmm call arg1=2 pmm02: buffer=1ff00000 pmm_free data=0x1ff00000 olddata=0x1ffd9fa0 oldallocdata=0x1ffd9fc0 info=0x1ffd9fa0 pmm call arg1=0 pmm00: length=10000 handle=ffffffff flags=6 pmm_malloc zone=0x000f640c handle=ffffffff size=1048576 align=100000 ret=0x1fe00000 (info=0x1ffd9fa0) Checking rom 0x000c9000 (sig aa55 size 4) Mapping hd drive 0x000f7dc0 to 0 finalize PMM malloc finalize zone 0: 00007000-00090000 used=0 (0%) zone 1: 000a0000-000a0000 used=0 (0%) zone 2: 000f77a0-000f7fa0 used=560 (27%) zone 3: 00100000-1fff0000 used=2031616 (0%) zone 4: 1fff0000-20000000 used=8656 (13%) Add to e820 map: 0009f400 00000c00 2 Add to e820 map: 1fff0000 0000d000 1 Returned 53248 bytes of ZoneHigh e820 map has 6 items: 0: 0000000000000000 - 000000000009f400 = 1 1: 000000000009f400 - 00000000000a0000 = 2 2: 00000000000f0000 - 0000000000100000 = 2 3: 0000000000100000 - 000000001fffd000 = 1 4: 000000001fffd000 - 0000000020000000 = 2 5: 00000000fffc0000 - 0000000100000000 = 2 locking shadow ram Jump to int19 enter handle_19: NULL Booting from Hard Disk... Booting from 0000:7c00 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000081 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000082 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000083 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000084 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000085 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000086 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000087 ds=0000 es=0000 ss=9dfe si=00000000 di=00000000 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 Console: serial port invalid handle_legacy_disk:805: a=00000800 b=00000000 c=00000014 d=00000000 ds=0000 es=33f4 ss=9df9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 BIOS drive C: is disk0 BIOS 637kB/523252kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 (buil...@vouivre.juniper.net, Fri Aug 24 16:01:34 GMT 2007) Loading /boot/defaults/loader.conf /boot/installer text=0x24c77f data=0x2aa7c+0x38462 syms=[0x4+0x3a420+0x4+0x454ac] | Hit [Enter] to boot immediately, or space bar for command prompt. invalid handle_1a02:254: a=00000200 b=00000004 c=00002300 d=00001300 ds=0000 es=4e97 ss=9de3 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 invalid handle_1a02:254: a=00000200 b=00000004 c=00002300 d=00001300 ds=0000 es=4e97 ss=9de3 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 Booting [installer] in 1 second... invalid handle_1a02:254: a=00000200 b=00000004 c=00002300 d=00001400 ds=0000 es=4e97 ss=9de3 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 invalid handle_1a02:254: a=00000200 b=00000004 c=00002300 d=00001400 ds=0000 es=4e97 ss=9de3 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 Booting [installer]... invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000081 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0202 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000082 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000083 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000084 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000085 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000086 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 invalid handle_legacy_disk:805: a=00000800 b=00000000 c=0000feff d=00000087 ds=0000 es=9df6 ss=9dd9 si=00000000 di=00000004 bp=00000000 sp=00000410 cs=0000 ip=9138 f=0203 kernel trap 12 with interrupts disabled instruction pointer = 0x8:0xc02ebc3e stack pointer = 0x10:0xc07f9edc frame pointer = 0x10:0xc07f9f34 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, IOPL = 0 current process = Idle interrupt mask = net tty bio cam trap number = 30 dog: ERROR - reset of uninitialized watchdog panic: unknown/reserved trap (null)(c037dbc0,c037dbc0,c032d5c4,c07f9df0,5) at0 (null)(c032d5c4,1e,c07f9f34,0,0) at0 (null)(c07f9e9c,0,c07f9ef4,c01951ed) at0 (null)(10,10,10,0,c) at0 (null)(10,10,10,0,7fe000) at0 (null)(2) at0 (null)(c07f9ff4,c02e569c,0,81,7fe000) at0 (null)(c07f9fd4,f,3,8,0) at0 (null)(7fe000,0,0,0,0) at0 (null)() at0 dog: ERROR - reset of uninitialized watchdog dog: ERROR - reset of uninitialized watchdog Uptime: 0s -Brandon