summaryrefslogtreecommitdiffstats
path: root/share/doc/handbook/booting.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'share/doc/handbook/booting.sgml')
-rw-r--r--share/doc/handbook/booting.sgml173
1 files changed, 0 insertions, 173 deletions
diff --git a/share/doc/handbook/booting.sgml b/share/doc/handbook/booting.sgml
deleted file mode 100644
index ff34296..0000000
--- a/share/doc/handbook/booting.sgml
+++ /dev/null
@@ -1,173 +0,0 @@
-<!-- This is a SGML version of the text on FreeBSD boot procedures
- made by Poul-Henning Kamp <phk@FreeBSD.ORG>
-
- This conversion has been made by Ollivier Robert.
-
- $Id$
-
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
-
- <title>Boot overview</title>
- <author>Poul-Henning Kamp, <tt/&lt;phk@login.dknet.dk&gt;/</author>
- <date>v1.1, April 26th</date>
- <abstract>
- Booting FreeBSD is essentially a three step: Load the kernel,
- determine the root filesystem and initialize user-land things. This
- leads to some interesting possibilities as shown below...
- </abstract>
-
- <toc>
--->
-
- <sect><heading>The FreeBSD Booting Process<label id="booting"></heading>
-
- <p><em>Contributed by &a.phk;. v1.1, April 26th.</em>
-
- Booting FreeBSD is essentially a three step: Load the kernel,
- determine the root filesystem and initialize user-land things. This
- leads to some interesting possibilities shown below.
-
- <sect1><heading>Loading a kernel</heading>
- <p>
- We presently have three basic mechanisms for loading the
- kernel as described below:
- They all pass some
- information to the kernel to help the kernel decide what to do
- next.
-
- <descrip>
- <tag>Biosboot</tag>
-
- Biosboot is our ``bootblocks'', it consists of two files, which
- will be installed in the first 8Kbytes of the floppy or hard-disk
- slice to be booted from.
-
- Biosboot can load a kernel from a FreeBSD filesystem.
-
- <tag>Dosboot</tag>
-
- Dosboot was written by DI. Christian Gusenbauer, and is
- unfortunately at this time one of the few pieces of code that
- will not compile under FreeBSD itself because it is written for
- Microsoft compilers.
-
- Dosboot will boot the kernel from a MS-DOS file or from a FreeBSD
- filesystem partition on the disk. It attempts to negotiate with
- the various and strange kinds of memory manglers that lurk in
- high memory on MS/DOS systems and usually wins them for its
- case.
-
- <tag>Netboot</tag>
-
- Netboot will try to find a supported Ethernet card, and use
- BOOTP, TFTP and NFS to find a kernel file to boot.
-</descrip>
-
-
- <sect1><heading>Determine the root filesystem</heading>
- <p>
- Once the kernel is loaded and the boot-code jumps to it, the kernel
- will initialize itself, trying to determine what hardware is
- present and so on, and then it needs to find a root filesystem.
-
- Presently we support the following types of root filesystems:
-
-<descrip>
- <tag>UFS</tag>
-
- This is the most normal type of root filesystem. It can reside on
- a floppy or on hard disk.
-
- <tag>MSDOS</tag>
-
- While this is technically possible, it is not particular useful,
- because of ``FAT'' filesystems inability to make links, device
- nodes and such ``UNIXisms''.
-
- <tag>MFS</tag>
-
- This is actually a UFS filesystem which has been compiled into
- the kernel. That means that the kernel does not really need any
- disks/floppies or other HW to function.
-
- <tag>CD9660</tag>
-
- This is for using a CD-ROM as root filesystem.
-
- <tag>NFS</tag>
-
- This is for using a fileserver as root filesystem, basically
- making it a diskless machine.
-</descrip>
-
-
- <sect1><heading>Initialize user-land things</heading>
- <p>
- To get the user-land going, when the kernel has finished
- initialization, it will create a process with ``<tt/pid == 1/'' and execute
- a program on the root filesystem, this program is normally
- ``<tt>/sbin/init</tt>''.
-
- You can substitute any program for /sbin/init, as long as you keep
- in mind that:
-
- there is no stdin/out/err unless you open it yourself, if you exit,
- the machine panics, signal handling is special for ``<tt/pid ==
- 1/''.
-
- An example of this is the ``<tt>/stand/sysinstall</tt>''
- program on the installation floppy.
-
-
- <sect1><heading>Interesting combinations</heading>
- <p>
- Boot a kernel with a MFS in it with a special <tt>/sbin/init</tt>
- which...
- <descrip>
- <tag/A -- Using DOS/
- <itemize>
- <item>mounts your <tt/C:/ as <tt>/C:</tt>
- <item>Attaches <tt>C:/freebsd.fs</tt> on <tt>/dev/vn0</tt>
- <item>mounts <tt>/dev/vn0</tt> as <tt>/rootfs</tt>
- <item>makes symlinks<newline>
- <tt>/rootfs/bin -&gt; /bin</tt><newline>
- <tt>/rootfs/etc -&gt; /etc</tt><newline>
- <tt>/rootfs/sbin -&gt; /sbin</tt><newline>
- (etc...)<newline>
- </itemize>
-
- Now you run FreeBSD without repartitioning your hard disk...
-
- <tag/B -- Using NFS/
-
- NFS mounts your <tt>server:&tilde;you/FreeBSD</tt> as
- <tt>/nfs</tt>, chroots to <tt>/nfs</tt> and executes
- <tt>/sbin/init</tt> there
-
- Now you run FreeBSD diskless, even though you do not control
- the NFS server...
-
- <tag/C -- Start an X-server/
-
- Now you have an X-terminal, which is better than that dingy
- X-under-windows-so-slow-you-can-see-what-it-does thing that
- your boss insist is better than forking our money on HW.
-
- <tag/D -- Using a tape/
- Takes a copy of <tt>/dev/rwd0</tt> and writes it to a remote tape
- station or fileserver.
-
- Now you finally got that backup you should have made a year
- ago...
-
- <tag>E -- Acts as a firewall/web-server/what do I know...</tag>
-
- This is particular interesting since you can boot from a write-
- protected floppy, but still write to your root filesystem...
- </descrip>
-
-
-
OpenPOWER on IntegriCloud