Re: Boot loader too large

From: Matthew D. Fuller <fullermd_at_over-yonder.net>
Date: Fri, 11 Jul 2014 17:50:43 -0500
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.
Received on Fri Jul 11 2014 - 20:59:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC