diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2000-11-09 03:57:36 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2000-11-09 03:57:36 +0000 |
commit | e08c5869a0ad5380cdc6dbda90de833f83f810ca (patch) | |
tree | 5ef56e899ad8f26eccb761e2d5184d926ce8aaa2 /share/man/man8/man8.i386 | |
parent | 209c1ff9f132e0291ad4c6da042d53eb30bd16b1 (diff) |
incomplete work. moved them, repaired some, it is a giant mess
Diffstat (limited to 'share/man/man8/man8.i386')
-rw-r--r-- | share/man/man8/man8.i386/Makefile | 2 | ||||
-rw-r--r-- | share/man/man8/man8.i386/boot_i386.8 | 165 |
2 files changed, 166 insertions, 1 deletions
diff --git a/share/man/man8/man8.i386/Makefile b/share/man/man8/man8.i386/Makefile index 499800136d5..effb6fe01b2 100644 --- a/share/man/man8/man8.i386/Makefile +++ b/share/man/man8/man8.i386/Makefile @@ -1,7 +1,7 @@ # @(#)Makefile 5.1 (Berkeley) 3/22/91 # $NetBSD: Makefile,v 1.5 1995/09/06 21:36:35 jtc Exp $ -MAN= MAKEDEV.8 +MAN= MAKEDEV.8 boot_i386.8 MLINKS= MAKEDEV.8 makedev.8 MANSUBDIR=/i386 diff --git a/share/man/man8/man8.i386/boot_i386.8 b/share/man/man8/man8.i386/boot_i386.8 new file mode 100644 index 00000000000..2e195089246 --- /dev/null +++ b/share/man/man8/man8.i386/boot_i386.8 @@ -0,0 +1,165 @@ +.\" $OpenBSD: boot_i386.8,v 1.1 2000/11/09 03:57:34 deraadt Exp $ +.\" +.\" Copyright (c) 1997 Tobias Weingartner +.\" +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Michael Shalayeff. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" + +.Dd September 4, 1997 +.Dt BOOT_I386 8 i386 +.Os +.Sh NAME +.Nm boot +.Nd +system bootstrapping procedures +.Sh DESCRIPTION +.Ss Power fail and crash recovery +Normally, the system will reboot itself at power-up or after crashes. +An automatic consistency check of the file systems will be performed, +and unless this fails, the system will resume multi-user operations. +.Pp +.Ss Cold starts +The +.Tn "PC AT" +clones will perform a POST (Power On Self Test) upon being booted cold. +This test will find and initialize memory, keyboard, and other devices. +It will search for and initialize any extension ROMs that are present, +and then attempt to boot the operating system from an available boot +drive. +Failing this, older IBM systems came up in ROM BASIC. +.Pp +The newer +.Tn "PC AT" +clones attempt to boot off the drive specified in the BIOS setup, or +if it is an older BIOS, it will start with checking for a disk in floppy +drive A (otherwise known as drive 0) first, and failing that, attempt to +boot the hard disk C (otherwise known as hard disk controller 1, drive 0). +.Pp +.Ss Warm starts +The BIOS loads the first block (at physical location: track 0, head 0, +sector 1) off the boot device into memory, and if the last two bytes in the +block match the signature 0x55AA, the BIOS considers the block a valid +bootable drive. +The BIOS then proceeds to call the machine code program in this block. +If the BIOS is current, it will also pass the boot drive +to the boot block in register %dl. +.Pp +There are two different types of boot blocks on devices. +There is the +MBR (master boot record) and the PBR (partition boot record). +A digression +into a little piece of history will quickly give light as to why this is so. +In the beginning, the PC +.Dq architecture +came with a single or dual floppy +drives, and no hard drives. +The only type of bootable sectors on any device were the PBRs. +They were responsible for loading the rest of the operating +system from the correct device. +When hard disks came out, it was felt that +such a huge space should be able to be partitioned into separate drives, +and this is when the MBR was invented. +.Pp +The MBR relocates itself upon being loaded and invoked by the BIOS. +Embeded within the MBR is a partition table, with four partition table +entries. +The MBR code traverses this table (which was loaded with the +MBR by the BIOS), looking for an active entry, and then loads the MBR or +PBR from the disk location specified by the partition table entry. +So in reality, the MBR is nothing more than a fancy chaining PBR. +.Pp +Note: The MBR could load another MBR, which is the case when you are booting +off an extended partition. +In other words, the first block of an extended +partition is really an MBR, which will then load the corresponding MBR or PBR +out of its extended partition's partition table. +.Sh GEOMETRY TRANSLATION +.Em WARNING : +This portion of the +.Dq PC BIOS Architecture +is a mess, and a compatibility nightmare. +.Pp +The PC BIOS has an API to manipulate any disk that the BIOS happens to +support. +This interface uses 10 bits to address the cylinder, 8 bits to +address the head, and 6 bits to address the sector of a drive. +This restricts any application using the BIOS to being able to address only +1024 cylinders, 256 heads, and 63 (since the sectors are 1 based) sectors +on a disk. +These limitations proved to be fine for roughly 3 years after +the debut of hard disks on PC computers. +.Pp +Many (if not all) newer drives have many more cylinders than the BIOS API +can support, and likely more sectors per track as well. +To allow the BIOS the ability of accessing these large drives, the BIOS would +.Dq re-map +the +cylinder/head/sector of the real drive geometry into something that would +allow the applications using the BIOS to access a larger portion of the +drive, still using the restricted BIOS API. +.Pp +The reason this has become a problem is that any modern OS will use its own +drivers to access the disk drive, bypassing the BIOS completely. +However, +the MBR, PBR, and partition tables are all still written using the original +BIOS access methods. +This is for backwards compatibility to the original IBM PC! +.Pp +So the gist of it is, the MBR, PBR, and partition table need to have BIOS +geometry offsets and cylinder/head/sector values for them to be able to +load any type of operating system. +This geometry can, and likely will, +change whenever you move a disk from machine to machine, or from controller +to controller. +.Em They are controller and machine specific . +.Sh FILES +.Bl -tag -width /usr/mdec/biosboot -compact +.It Pa /bsd +system code +.It Pa /usr/mdec/mbr +system MBR image +.It Pa /usr/mdec/biosboot +system primary stage bootstrap (PBR) +.It Pa /boot +system second stage bootstrap +.El +.Sh SEE ALSO +.Xr boot 8 , +.Xr halt 8 , +.Xr installboot 8 , +.Xr reboot 8 , +.Xr shutdown 8 +.Sh BUGS +The +.Dq PC BIOS Architecture +makes this process very prone to weird and +wonderful interactions between differing operating systems. +There is no published standard to the MBR and PBR, +which makes coding these a nightmare. +Somebody *please* write me a decent BIOS, and make them (the masses) use it! |