aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2009-10-29 05:41:46 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2009-10-29 05:41:46 +0000
commitf9bcaecdd396cba7ba395943360c797f83417834 (patch)
tree8d539e0eedba301b1eb7463f85052ce2142cdbe2 /chapter06
parent258deb14d5d351ae74696104e6dd73ce03c659b3 (diff)
Update to GRUB-1.97
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9088 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/chapter06.xml1
-rw-r--r--chapter06/grub.xml164
2 files changed, 101 insertions, 64 deletions
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index b98877f56..4529b2728 100644
--- a/chapter06/chapter06.xml
+++ b/chapter06/chapter06.xml
@@ -53,6 +53,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
diff --git a/chapter06/grub.xml b/chapter06/grub.xml
index 77795c2f3..a442e8d63 100644
--- a/chapter06/grub.xml
+++ b/chapter06/grub.xml
@@ -40,52 +40,35 @@
<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>Start by applying the following patch to allow for better drive
- detection, fix some GCC 4.x issues, and provide better SATA support
- for some disk controllers:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&grub-geometry-patch;</userinput></screen>
-
- <para>By default, GRUB doesn't support ext2 filesystems with 256-byte inodes.
- Fix this by applying the following patch:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&grub-inode-patch;</userinput></screen>
-
<para>Prepare GRUB for compilation:</para>
-<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+<screen><userinput remap="configure">mkdir build
+cd build
+../configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-largefile \
+ --disable-grub-emu \
+ --disable-grub-emu-usb \
+ --disable-grub-fstest \
+ --disable-efiemu</userinput></screen>
+
+ <para>Using a separate build directory keeps the 2400 generated
+ files out of the main directory and is recommeded by the developers.
+ The --disable switches just minimze what is built by disabling
+ features and testing programs not really needed for LFS.</para>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
- <para>To test the results, issue:</para>
-
-<screen><userinput remap="test">make check</userinput></screen>
+ <para>This package does not come with a test suite.</para>
<para>Install the package:</para>
-<screen><userinput remap="install">make install
-mkdir -v /boot/grub
-cp -v /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>
+<screen><userinput remap="install">make install</userinput></screen>
- <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>
+ <para>Using GRUB to make you LFS system bootable will be discussed in
+ <xref linkend="ch-bootable-grub"/>.</para>
</sect2>
@@ -94,10 +77,14 @@ cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
<segmentedlist>
<segtitle>Installed programs</segtitle>
+ <segtitle>Installed directories</segtitle>
<seglistitem>
- <seg>grub, grub-install, grub-md5-crypt, grub-set-default,
- grub-terminfo, and mbchk</seg>
+ <seg>grub-editenv, grub-mkelfimage, grub-mkfont, grub-mkimage,
+ grub-mkrescue, grub-dumpbios, grub-install, grub-mkconfig,
+ grub-mkdevicemap, grub-probe, grub-setup</seg>
+
+ <seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub, /usr/inclue/grub</seg>
</seglistitem>
</segmentedlist>
@@ -106,12 +93,62 @@ cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
- <varlistentry id="grub">
- <term><command>grub</command></term>
+ <varlistentry id="grub-editenv">
+ <term><command>grub-editenv</command></term>
+ <listitem>
+ <para>A tool to edit the environment block</para>
+ <indexterm zone="ch-system-grub grub-editenv">
+ <primary sortas="b-grub-editenv">grub-editenv</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="grub-mkelfimage">
+ <term><command>grub-mkelfimage</command></term>
+ <listitem>
+ <para>Make a bootable image of GRUB</para>
+ <indexterm zone="ch-system-grub grub-mkelfimage">
+ <primary sortas="b-grub-mkelfimage">grub-mkelfimage</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="grub-mkfont">
+ <term><command>grub-mkfont</command></term>
+ <listitem>
+ <para>Update fonts for GRUB use</para>
+ <indexterm zone="ch-system-grub grub-mkfont">
+ <primary sortas="b-grub-mkfont">grub-mkfont</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="grub-mkimage">
+ <term><command>grub-mkimage</command></term>
+ <listitem>
+ <para>Make a bootable image of GRUB</para>
+ <indexterm zone="ch-system-grub grub-mkimage">
+ <primary sortas="b-grub-mkimage">grub-mkimage</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="grub-mkrescue">
+ <term><command>grub-mkrescue</command></term>
+ <listitem>
+ <para>Make a bootable image of GRUB suitable for a floppy disk</para>
+ <indexterm zone="ch-system-grub grub-mkrescue">
+ <primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="grub-dumpbios">
+ <term><command>grub-dumpbios</command></term>
<listitem>
- <para>The Grand Unified Bootloader's command shell</para>
- <indexterm zone="ch-system-grub grub">
- <primary sortas="b-grub">grub</primary>
+ <para>Create vbios and int10 dump</para>
+ <indexterm zone="ch-system-grub grub-dumpbios">
+ <primary sortas="b-grub-dumpbios">grub-dumpbios</primary>
</indexterm>
</listitem>
</varlistentry>
@@ -119,50 +156,49 @@ cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
- <para>Installs GRUB on the given device</para>
+ <para>Install GRUB on your drive</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>
+ <varlistentry id="grub-mkconfig">
+ <term><command>grub-mkconfig</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>
+ <para>Generate a grub config file</para>
+ <indexterm zone="ch-system-grub grub-mkconfig">
+ <primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
</indexterm>
</listitem>
</varlistentry>
- <varlistentry id="grub-set-default">
- <term><command>grub-set-default</command></term>
+ <varlistentry id="grub-mkdevicemap">
+ <term><command>grub-mkdevicemap</command></term>
<listitem>
- <para>Sets the default boot entry for GRUB</para>
- <indexterm zone="ch-system-grub grub-set-default">
- <primary sortas="b-grub-set-default">grub-set-default</primary>
+ <para>Generate a device map file automatically</para>
+ <indexterm zone="ch-system-grub grub-mkdevicemap">
+ <primary sortas="b-grub-mkdevicemap">grub-mkdevicemap</primary>
</indexterm>
</listitem>
</varlistentry>
- <varlistentry id="grub-terminfo">
- <term><command>grub-terminfo</command></term>
+ <varlistentry id="grub-probe">
+ <term><command>grub-probe</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>
+ <para>Probe device information for a given path or device</para>
+ <indexterm zone="ch-system-grub grub-probe">
+ <primary sortas="b-grub-probe">grub-probe</primary>
</indexterm>
</listitem>
</varlistentry>
- <varlistentry id="mbchk">
- <term><command>mbchk</command></term>
+ <varlistentry id="grub-setup">
+ <term><command>grub-setup</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>
+ <para>Set up images to boot from a device</para>
+ <indexterm zone="ch-system-grub grub-setup">
+ <primary sortas="b-grub-setup">grub-setup</primary>
</indexterm>
</listitem>
</varlistentry>