freebsd-skq/sys/boot/i386
jhb fef65bd375 Revert previous untested revision. The i386 loader consists of three parts:
At the front is btxldr, in the middle is BTX itself (our mini-kernel), and
then the 'client' (loader.bin) which is the actual loader itself.  boot2
just executes a raw ELF or a.out binary with the only setup provided being
that a bootinfo structure is passed on the stack.  Now, since loader.bin
is a BTX client, the loader needs to be able to locate a BTX kernel for
the client to execute in the context.  Thus, just like pxelder, btxldr
uses the a.out header on the loader binary to find the BTX kernel stored
in the loader and set it up.  It does _not_ just reuse the BTX kernel
that boot2 invoked it with.  This is because it can't assume that it will
_have_ a "spare" BTX kernel lying around.  For example, when cdboot
loads the loader there isn't an existing BTX kernel.  In fact, cdboot
will only work with an a.out loader as well since it also "borrows" the
BTX kernel in the loader binary (which it finds by parsing the a.out
header) just as pxeldr does.  The only difference between cdboot and
pxeldr is where they get /boot/loader from.

If we wanted to make /boot/loader be an actual ELF binary we would need
to change the following utilites to handle that (and they all have to be
able to handle locating the BTX kernel inside of an ELF binary somehow):
- btxldr
- pxeldr
- cdboot

If we didn't want to require a flag day but make the transition smooth
then we need to be able to support both a.out and ELF versions of
/boot/loader which isn't exactly trivial since all three of these utilities
are written in assembly.

Pointy-hat to:	peter
2002-08-30 14:59:47 +00:00
..
boot0 Unrevert revision 1.12. Revision 1.14 backed this out saying it was 2002-01-10 21:40:33 +00:00
boot2 Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
btx Fixed CLEANFILES after bsd.lib.mk sweep. 2002-05-13 15:48:05 +00:00
cdboot Remove a few more debugging bits and turn on twiddle output while reading 2001-11-07 01:20:33 +00:00
gptboot Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
kgzldr Don't be redundant. 2002-05-10 01:06:52 +00:00
libi386 s/hint.acpi.0.disable/hint.acpi.0.disabled/ 2002-08-30 11:11:07 +00:00
liloldr Fix a bug which prevents parsing this Makefile without having a 2000-09-05 22:33:07 +00:00
loader Revert previous untested revision. The i386 loader consists of three parts: 2002-08-30 14:59:47 +00:00
mbr Unset MAINTAINER. 2001-07-21 14:32:47 +00:00
pxeldr Try #2 at having /boot/loader default to ELF. Have pxeldr build its 2002-08-29 23:37:44 +00:00
Makefile Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.c 2002-06-21 11:00:00 +00:00
Makefile.inc -ffreestanding is the word for /sys. 2002-05-10 00:53:45 +00:00