lfs/chapter06/grub.xml
2005-06-14 06:08:58 +00:00

135 lines
4.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
<!ENTITY % patches-entities SYSTEM "../patches.ent">
%general-entities;
%patches-entities;
]>
<sect1 id="ch-system-grub" role="wrap">
<title>Grub-&grub-version;</title>
<?dbhtml filename="grub.html"?>
<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
<sect2 role="package"><title/>
<para>The Grub package contains the Grand Unified Bootloader.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>10.0 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Grub</title>
<para>This package is known to have issues when its default
optimization flags (including the <parameter>-march</parameter> and
<parameter>-mcpu</parameter> options) are changed. If any environment
variables that override default optimizations have been defined, such
as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
unset them when building Grub.</para>
<para>Prepare Grub for compilation:</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>Note that the test results will always show the error
<quote>ufs2_stage1_5 is too big.</quote> This is due to a compiler
issue, but can be ignored unless you plan to boot from an UFS
partition. The partitions are normally only used by Sun
workstations.</para>
<para>Install the package:</para>
<screen><userinput>make install
mkdir /boot/grub
cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
<para>Replace <filename class="directory">i386-pc</filename> with whatever
directory is appropriate for the hardware in use.</para>
<para>The <filename class="directory">i386-pc</filename> directory
contains a number of <filename>*stage1_5</filename> files, different
ones for different file systems. Review the files available and copy
the appropriate ones to the <filename
class="directory">/boot/grub</filename> directory. Most users will
copy the <filename>e2fs_stage1_5</filename> and/or
<filename>reiserfs_stage1_5</filename> files.</para>
</sect2>
<sect2 id="contents-grub" role="content"><title>Contents of Grub</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>grub, grub-install,
grub-md5-crypt, grub-terminfo, and mbchk</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="grub">
<term><command>grub</command></term>
<listitem>
<para>The Grand Unified Bootloader's command shell</para>
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
<para>Installs GRUB on the given device</para>
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="grub-md5-crypt">
<term><command>grub-md5-crypt</command></term>
<listitem>
<para>Encrypts a password in MD5 format</para>
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="grub-terminfo">
<term><command>grub-terminfo</command></term>
<listitem>
<para>Generates a terminfo command from a terminfo name; it can be
employed if an unknown terminal is being used</para>
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mbchk">
<term><command>mbchk</command></term>
<listitem>
<para>Checks the format of a multi-boot kernel</para>
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>