freebsd-skq/sys/boot/i386
jhb 2515f10902 This is a new CD bootstrap utility designed to replace cdldr. According
to the El Torito standard for CD booting, a CD may boot in "No emulation"
mode without using a floppy image.  In this mode, the BIOS loads a program
off of the CD into memory and creates a BIOS device using 2048 byte sectors
for the CD.  According to the standard, this program can be up to 0xFFFF
virtual (512-byte) sectors long.  The old cdldr depended on this by having
the BIOS load the entire loader and the small cdldr stub as one binary
similar to pxeboot so that cdldr didn't have to read the CD to find the
loader.  However, the NT no emulation loader just uses 1 disk sector
(4 virtual sectors), so it seems that at least some BIOS writers just did
enough to get NT to boot by only loading 1 sector and ignoring the sector
count.  Thus, while cdldr should have worked in theory, it doesn't in
practice.  This replacment fits entirely in 1 sector and includes simple
ISO 9660 support.  It looks for /boot/loader on the CD and loads it up
using the BIOS.  This allows us to not have to depend on the limited size
of floppy images but use a full GENERIC kernel for CD-ROM installs in the
future, among other things.

This version of cdboot is a bit bloated as it includes some useful
debugging routines that people can pull to use in other x86 assembly
modules.  Even with all the debugging cruft, we still have 272 bytes to
spare.
2001-11-04 03:24:16 +00:00
..
boot0 Unset MAINTAINER. 2001-07-21 14:32:47 +00:00
boot2 Fix the ILLEGAL fdisk table that is there for supporting "dangerously 2001-11-01 06:19:32 +00:00
btx Whoops, missed these bits in the previous commit. 2001-11-03 22:21:21 +00:00
cdboot This is a new CD bootstrap utility designed to replace cdldr. According 2001-11-04 03:24:16 +00:00
cdldr Allow for text section alignment to properly align the "end" symbol at the 2001-08-09 20:47:58 +00:00
gptboot Allow the RBX_DUAL flag to appear in bootinfo. 2001-10-23 20:27:05 +00:00
kgzldr Unset MAINTAINER. 2001-07-21 14:32:47 +00:00
libi386 Set RB_MULTIPLE (multiple console support) if the kernel is booted 2001-10-23 20:27:48 +00:00
liloldr Fix a bug which prevents parsing this Makefile without having a 2000-09-05 22:33:07 +00:00
loader Add support for loading bzip2-compressed kernels and modules. This support 2001-09-18 14:52:36 +00:00
mbr Unset MAINTAINER. 2001-07-21 14:32:47 +00:00
pxeldr Allow for text section alignment to properly align the "end" symbol at the 2001-08-09 20:47:58 +00:00
Makefile Hook up liloldr 2000-07-17 17:06:27 +00:00
Makefile.inc Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstand 2000-08-11 23:23:20 +00:00