kernel memory checks on boot vs. boot time

Oliver Fromme olli at lurza.secnetix.de
Wed Mar 23 17:50:46 UTC 2011


Alexander Best wrote:
 > just as a side note: booting a kernel directly from boot stage 2 is broken on
 > amd64. :( so there's no way around using the boot loader, which will cost extra
 > time (even with autoboot_delay=0).
 > 
 > so was the adbility to boot a kernel directly from boot2 abandoned? i heard
 > reports it still works under i386. dunno about the other archs.

The loader checks the type of the kernel binary (i386 vs
amd64).  In case of amd64, it enables "long mode", among
other things.  This is required for amd64, because the
kernel expects to be started in long mode.  boot2 doesn't
do that, so you can't start an amd64 kernel directly from
boot2.

In theory you could write a specialized amd64 variant of
boot2 that prepares the system for starting an amd64 kernel
directly.  Whether there's enough space for that in boot2
(8 KB) and whether it's worth the effort, I don't know.

To be honest, I don't think that loader takes so much time.
When you set autoboot_delay="-1" and beastie_disable="YES",
the time spent in loader is negligible.  (I'm assuming that
you also set BOOTWAIT=0 in make.conf, so boot2 doesn't wait
for a keypress either.  I think the default is to wait 3
seconds.)

Best regards
   Oliver


-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"[...]  one observation we can make here is that Python makes
an excellent pseudocoding language, with the wonderful attribute
that it can actually be executed."  --  Bruce Eckel


More information about the freebsd-arch mailing list