diff options
Diffstat (limited to 'en_US.ISO_8859-1/books/handbook')
-rw-r--r-- | en_US.ISO_8859-1/books/handbook/internals/chapter.sgml | 229 |
1 files changed, 3 insertions, 226 deletions
diff --git a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml index 0942b7c0d5..467da85b31 100644 --- a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml,v 1.13 1999/09/06 06:52:58 peter Exp $ + $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml,v 1.14 1999/11/07 01:54:47 chris Exp $ --> <chapter id="internals"> @@ -10,231 +10,8 @@ <sect1 id="booting"> <title>The FreeBSD Booting Process</title> - <para><emphasis>Contributed by &a.phk;. v1.1, April - 26th.</emphasis></para> - - <para>Booting FreeBSD is essentially a three step process: load the - kernel, determine the root filesystem and initialize user-land things. - This leads to some interesting possibilities shown below.</para> - - <sect2> - <title>Loading a kernel</title> - - <para>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.</para> - - <variablelist> - <varlistentry> - <term>Biosboot</term> - - <listitem> - <para>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.</para> - - <para>Biosboot can load a kernel from a FreeBSD filesystem.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Dosboot</term> - - <listitem> - <para>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.</para> - - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Netboot</term> - - <listitem> - <para>Netboot will try to find a supported Ethernet card, and use - BOOTP, TFTP and NFS to find a kernel file to boot.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Determine the root filesystem</title> - - <para>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; it then needs to find a root filesystem.</para> - - <para>Presently we support the following types of root - filesystems:</para> - - <variablelist> - <varlistentry> - <term>UFS</term> - - <listitem> - <para>This is the most normal type of root filesystem. It can - reside on a floppy or on hard disk.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>MSDOS</term> - - <listitem> - <para>While this is technically possible, it is not particular - useful because of the <acronym>FAT</acronym> filesystem's - inability to deal with links, device nodes and other such - “UNIXisms”.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>MFS</term> - - <listitem> - <para>This is actually a UFS filesystem which has been compiled - into the kernel. That means that the kernel does not really - need any hard disks, floppies or other hardware to - function.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>CD9660</term> - - <listitem> - <para>This is for using a CD-ROM as root filesystem.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NFS</term> - - <listitem> - <para>This is for using a fileserver as root filesystem, basically - making it a diskless machine.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Initialize user-land things</title> - - <para>To get the user-land going, the kernel, when it has finished - initialization, will create a process with <literal>pid == 1</literal> - and execute a program on the root filesystem; this program is normally - <filename>/sbin/init</filename>.</para> - - <para>You can substitute any program for <command>/sbin/init</command>, - as long as you keep in mind that:</para> - - <para>there is no stdin/out/err unless you open it yourself. If you - exit, the machine panics. Signal handling is special for <literal>pid - == 1</literal>.</para> - - <para>An example of this is the <command>/stand/sysinstall</command> - program on the installation floppy.</para> - </sect2> - - <sect2> - <title>Interesting combinations</title> - - <para>Boot a kernel with a MFS in it with a special - <filename>/sbin/init</filename> which...</para> - - <variablelist> - <varlistentry> - <term>A — Using DOS</term> - - <listitem> - <itemizedlist> - <listitem> - <para>mounts your <filename>C:</filename> as - <filename>/C:</filename></para> - </listitem> - - <listitem> - <para>Attaches <filename>C:/freebsd.fs</filename> on - <filename>/dev/vn0</filename></para> - </listitem> - - <listitem> - <para>mounts <filename>/dev/vn0</filename> as - <filename>/rootfs</filename></para> - </listitem> - - <listitem> - <para>makes symlinks - <filename>/rootfs/bin</filename> -> - <filename>/bin</filename> - <filename>/rootfs/etc</filename> -> - <filename>/etc</filename> - <filename>/rootfs/sbin</filename> -> - <filename>/sbin</filename> (etc...)</para> - </listitem> - </itemizedlist> - - <para>Now you are running FreeBSD without repartitioning your hard - disk...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>B — Using NFS</term> - - <listitem> - <para>NFS mounts your <filename>server:~you/FreeBSD</filename> as - <filename>/nfs</filename>, chroots to <filename>/nfs</filename> - and executes <filename>/sbin/init</filename> there</para> - - <para>Now you are running FreeBSD diskless, even though you do not - control the NFS server...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>C — Start an X-server</term> - - <listitem> - <para>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 out money on hardware.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>D — Using a tape</term> - - <listitem> - <para>Takes a copy of <filename>/dev/rwd0</filename> and writes it - to a remote tape station or fileserver.</para> - - <para>Now you finally get that backup you should have made a year - ago...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>E — Acts as a firewall/web-server/what do I - know...</term> - - <listitem> - <para>This is particularly interesting since you can boot from a - write- protected floppy, but still write to your root - filesystem...</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> + <para>The FreeBSD booting process is described in the &man.boot.8; and + &man.loader.8; manual pages.</para> </sect1> <sect1 id="memoryuse"> |