Date: Tue, 22 Jan 2013 12:06:58 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Subject: Re: solved: pmbr: Boot loader too large Message-ID: <201301221206.58460.jhb@freebsd.org> In-Reply-To: <E1TxcFC-00082M-E2@kabab.cs.huji.ac.il> References: <E1Txbuq-0007Zr-MY@kabab.cs.huji.ac.il> <E1TxcFC-00082M-E2@kabab.cs.huji.ac.il>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, January 22, 2013 6:42:22 am Daniel Braniss wrote: > > hi, > > this is the output from gpart show: > > => 34 976773101 ada0 GPT (465G) > > 34 2048 1 freebsd-boot (1.0M) > > 2082 4194304 2 freebsd-ufs [bootme] (2.0G) > > 4196386 12582912 3 freebsd-swap (6.0G) > > 16779298 959993837 4 freebsd-zfs (457G) > > > > => 34 976773101 ada1 GPT (465G) > > 34 2048 1 freebsd-boot (1.0M) > > 2082 4194304 2 freebsd-ufs (2.0G) > > 4196386 12582912 3 freebsd-swap (6.0G) > > 16779298 959993837 4 freebsd-zfs (457G) > > > > I also did: > > gpart bootcode -b /boot/pmbr ada0 > > > > I'm trying to boot and get > > Boot loader too large > > > > not matter if I boot from disk or pxe. > > The pmbr is 512 bytes, so what causes it to overshoot? > > I don't know x86 assembler (nor want to :-), but the comment says: > > 545k should be enough > > so what's going on? > > never underestimate the human stupidity (mine in this case) nor of the boot. > pmbr will load the whole partition, which was 1M, instead of the size of > gptboot :-( > > reducing the size of the slice/partition fixed the issue. pmbr doesn't have room to be but so smart. It can't parse a filesystem, so it just loads a raw partition assuming that the partition is the boot loader. The 545k bit has to do with where it is loaded. The boot loader has to live in the lower 640k, but it starts at 0x7c00 (the address that the BIOS always loads boot loaders). The 545k limit comes from 640k - 0x7c00. This is a fundamental limit of the x86 BIOS architecture. Compared to the 15.5k that UFS leaves for boot2 it is worlds of space. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301221206.58460.jhb>