Loader broken in Head?

Mike Pritchard mpp at mail.mppsystems.com
Thu Nov 1 19:42:15 PDT 2007

On Thu, Nov 01, 2007 at 11:23:35AM -0400, John Baldwin wrote:
> On Wednesday 31 October 2007 09:37:48 pm Mike Pritchard wrote:
> > 
> > I was seeing a similar problem.  Booting from a floppy disk twice would
> > probably be faster than booting off the hard disk.  I had just done
> > a makeworld, and updated the boot blocks on the disk (it previously had
> > a pretty old install on it).  But the system would eventually boot, and 
> > not hang up.  I noticed that Red Necks boot loader build date was the 
> > same as the version I was having problems with.
> > 
> > Fortunately, I have a 2nd HD in the machine with a 7.0 install,
> > and installed the boot blocks from that HD to the one I was having
> > problems with, and copied over /boot/loader from that HD.
> > No more problems.  System boots as fast as ever.
> > 
> > So yes, I think there is something wrong with the current loader.

> Did you get the latest loader?  For example, do you have this fix which might 
> result in significantly slower disk I/O since w/o it every disk I/O is 
> attempted 3 times with 2 drive resets in between:
> jhb         2007-10-25 16:53:35 UTC
>   FreeBSD src repository
>   Modified files:
>     sys/boot/i386/libi386 biosdisk.c 
>   Log:
>   Break out of the I/O retry loop as soon as an I/O operation succeeds rather
>   than always retrying operations three times.
>   Submitted by:   nyan
>   Revision  Changes    Path
>   1.53      +2 -0      src/sys/boot/i386/libi386/biosdisk.c

I'd be glad to try, if you could tell me how to build the loader...
or if I'm building it correctly, if someone could fix this compile
error I see (see below).  And the couple of warnings I see compiling make
me nervous too.  I don't want to mess around too much until I'm sure 
I'm building it correctly, because I'd like to leave this machine bootable :)

Other than that, if a fresh -current loader still doesn't fix my
problem, I'm more than willing to start backing out recent commits
to find which commit might be the problem.

With 8.0-current sources as of a couple of hours ago, I
get the same compile error trying any of these:

cd /usr/src/sys && make

cd /usr/src/sys && make boot

cd /usr/src/sys/boot && make

cd /usr/src/sys/boot/i386 && make

all fail with:

===> i386/gptboot (all)
===> i386/kgzldr (all)
===> i386/libi386 (all)
cc -O2 -fno-strict-aliasing -pipe  -DLOADER_NFS_SUPPORT -DCOMPORT=0x3f8 -DCOMSPEED=9600 -DSMBIOS_SERIAL_NUMBERS -DTERM_EMU -Dalloca=__builtin_alloca -I/shared/src/sys/boot/i386/libi386/../../common -I/shared/src/sys/boot/i386/libi386/../btx/lib  -I/shared/src/sys/boot/i386/libi386/../../../contrib/dev/acpica  -I/shared/src/sys/boot/i386/libi386/../../.. -I. -I/shared/src/sys/boot/i386/libi386/../../../../lib/libstand/ -ffreestanding -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3  -c /shared/src/sys/boot/i386/libi386/biosmem.c
/shared/src/sys/boot/i386/libi386/biosmem.c: In function 'bios_getmem':
/shared/src/sys/boot/i386/libi386/biosmem.c:61: error: 'SMAP_TYPE_MEMORY' undeclared (first use in this function)
/shared/src/sys/boot/i386/libi386/biosmem.c:61: error: (Each undeclared identifier is reported only once
/shared/src/sys/boot/i386/libi386/biosmem.c:61: error: for each function it appears in.)
*** Error code 1

Stop in /shared/src/sys/boot/i386/libi386.
*** Error code 1

Stop in /shared/src/sys/boot/i386.
*** Error code 1

Stop in /shared/src/sys/boot.

Mike Pritchard
mpp @ FreeBSD.org
"If tyranny and oppression come to this land, it will be in the guise
of fighting a foreign enemy."  - James Madison (1787)

More information about the freebsd-current mailing list