Still possible to directly boot without loader?

Ruslan Ermilov ru at freebsd.org
Thu Oct 26 11:39:27 UTC 2006


On Mon, Sep 11, 2006 at 01:09:15PM -0500, Brooks Davis wrote:
> On Sun, Sep 10, 2006 at 09:10:26PM +0200, Stefan Bethke wrote:
> > I just tried to load my standard kernel from the boot blocks (instead  
> > of using loader(8)), but I either get a hang before the kernel prints  
> > anything, or a BTX halted.  Is this still supposed to work in 6- 
> > stable, or has it finally disappeared?
> 
> You may be able to get this to work, but it is unsupported.
> 
I've been investigating this today.  Here's what I've found:

1)  You need hints statically compiled into your kernel.
    (This has been a long time requirement.)

2)  You can only do it on i386, because boot2 only knows
    about ELF32, so attempts to load ELF64 amd64 kernels
    will fail.  (loader(8) knows about both ELF32/64.)

3)  It's currently broken even on i386; backing out
    rev. 1.71 of boot2.c by jhb@ fixes this for me.

: revision 1.71
: date: 2004/09/18 02:07:00;  author: jhb;  state: Exp;  lines: +3 -3
: A long, long time ago in a CVS branch far away (specifically, HEAD prior
: to 4.0 and RELENG_3), the BTX mini-kernel used paging rather than flat
: mode and clients were limited to a virtual address space of 16 megabytes.
: Because of this limitation, boot2 silently masked all physical addresses
: in any binaries it loaded so that they were always loaded into the first
: 16 Meg.  Since BTX no longer has this limitation (and hasn't for a long
: time), remove the masking from boot2.  This allows boot2 to load kernels
: larger than about 12 to 14 meg (12 for non-PAE, 14 for PAE).
: 
: Submitted by:   Sergey Lyubka devnull at uptsoft dot com
: MFC after:      1 month


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20061026/4d39720b/attachment.pgp


More information about the freebsd-stable mailing list