aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/grub.xml
blob: 6b23a5cd5bab49f9aadbb6386b40cc5d7efcfca9 (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
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-grub" xreflabel="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, Sed</seg></seglistitem>
</segmentedlist>
</sect2>

<sect2 role="installation">
<title>Installation of Grub</title>

<para>This package is known to behave badly when you have changed its default
optimization flags (including the -march and -mcpu options). Therefore, if you
have defined any environment variables that override default optimizations,
such as CFLAGS and CXXFLAGS, we recommend un-setting them when building
Grub.</para>

<para>First prepare Grub for compilation:</para>

<screen><userinput>./configure --prefix=/usr</userinput></screen>

<para>A few of the files comprising Grub have issues with optimizations done
by GCC 3.4. Compile these few files with known-good optimizations:</para>

<screen><userinput>make -C stage2 STAGE2_CFLAGS=-O2 \
    pre_stage2_exec-builtins.o pre_stage2_exec-serial.o</userinput></screen>

<para>Now compile the rest of the package:</para>

<screen><userinput>make</userinput></screen>

<para>To test the results, issue:
<userinput>make check</userinput>.</para>

<para>Now install it:</para>

<screen><userinput>make install
mkdir /boot/grub
cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>

<para>Replace <filename class="directory">i386-pc</filename> with whatever
directory is appropriate for your hardware.</para>

<para>The <filename class="directory">i386-pc</filename> directory also
contains a number of <filename>*stage1_5</filename> files, different ones
for different file systems. Have a look at the ones available and copy the
appropriate ones to the <filename class="directory">/boot/grub</filename>
directory. Most people 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><title>Short descriptions</title>

<varlistentry id="grub">
<term><command>grub</command></term>
<listitem>
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
<para>is the GRand Unified Bootloader's command shell.</para>
</listitem>
</varlistentry>

<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
<para>installs GRUB on the given device.</para>
</listitem>
</varlistentry>

<varlistentry id="grub-md5-crypt">
<term><command>grub-md5-crypt</command></term>
<listitem>
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
<para>encrypts a password in MD5 format.</para>
</listitem>
</varlistentry>

<varlistentry id="grub-terminfo">
<term><command>grub-terminfo</command></term>
<listitem>
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
<para>generates a terminfo command from a
terminfo name. It can be used if you have an uncommon terminal.</para>
</listitem>
</varlistentry>

<varlistentry id="mbchk">
<term><command>mbchk</command></term>
<listitem>
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
<para>checks the format of a multi-boot kernel.</para>
</listitem>
</varlistentry>
</variablelist>

</sect2>


</sect1>