aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/grub.xml
blob: ece0e9db956c2c89bc2c4ea29134e83a6e714149 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?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">
  %general-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 MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>Grub installation depends on</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>