[geeks] freebsd error
Shannon Hendrix
shannon at widomaker.com
Fri Dec 21 20:07:37 CST 2007
I just created an embedded image based on FreeBSD, and when booting it
I get a couple of fatal errors I've not seen before:
...
Error -- unmatched control structure "target"
Consoles: internal video/keyboard
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 638kB/260032kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
(root at logal.cse.buffalo.edu, Sun Dec 2 15:52:00 UTC 2007)
Can't work out which disk we are booting from.
Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0:
panic: free: guard1 fail @ 0x5c24c from /usr/src/sys/boot/i386/
loader/../../common/module.c:959
This happens on VMware (my build system) and the real target hardware.
I do create custom Forth boot code for the third stage, but it is
unchanged from three other embedded builds I maintain which work
perfectly.
The only difference is this is a 32-bit FreeBSD 7.x platform, and the
others are 64-bit.
It's a real simple little box with an IDE flash drive, that's it.
The VM I created boots from a virtual SCSI drive for doing
development, and I write generated boot images (1GB flash images) to
the IDE primary master, and then reboot to that drive for testing.
The BIOS has the IDE primary as first BIOS drive, drive C, FreeBSD /
dev/ad0.
This should be a very simple thing, and I've done it dozens of times,
and now suddenly it isn't working.
Any ideas appreciated.
People have asked the same question on FreeBSD lists, and no one ever
answers.
Bashing Forth and C is about all I know how to do, so I don't really
know where to start in debugging this, and I suck at the Forth part.
I don't do any drive manipulation in the Forth code, so that shouldn't
be it any way. It's just for controlling the boot
menu on these systems.
The kernel panic is occuring in a loader function that handles module
directories, and the "unmatched..." error comes from the Forth
interpreter.
I have probably written some bad Forth, and don't know enough to see
it easily, although it would be nice if the kernel did something
besides panic as a result.
--
"Where some they sell their dreams for small desires."
More information about the geeks
mailing list