Boot loader too large
Matthew D. Fuller
fullermd at over-yonder.net
Fri Jul 11 22:59:21 UTC 2014
On Fri, Jul 11, 2014 at 03:38:56PM -0700 I heard the voice of
Nathan Whitehorn, and lo! it spake thus:
>
> I don't honestly remember where that number came from. It's at line
> 72 of usr.sbin/bsdinstall/partedit/partedit_x86.c. If 128 works
> better, I'm happy to change it, but it would be nice to know what
> the actual bounds here are before putting in a new arbitrary number.
src/sys/boot/i386/pmbr/pmbr.s says
-------------
next_boot:. incl (%si). . . # Next LBA
. . adcl $0,4(%si)
. . mov %es,%ax. . . # Adjust segment for next
. . addw $SECSIZE/16,%ax. . # sector
. . cmp $0x9000,%ax.. . # Don't load past 0x90000,
. . jae err_big. . . # 545k should be enough for
. . mov %ax,%es. . . # any boot code. :)
-------------
(err_big being printing the "Boot loader too large" message). Though
0x90000 is actually 576k, not 545, but presumably there's some other
adjustment lopping off bits somewhere; that's 62 sectors diff.
Regardless, I settled on 512k for my boot partitions (after finding
the above error when I previously decided "it's a few dozen k, I'll
just set aside a meg to be safe" and then discovered the whole
"not-booting" thing that caused.
--
Matthew Fuller (MF4839) | fullermd at over-yonder.net
Systems/Network Administrator | http://www.over-yonder.net/~fullermd/
On the Internet, nobody can hear you scream.
More information about the freebsd-current
mailing list