source: chapter08/grub.xml@ 3890f5a

6.0
Last change on this file since 3890f5a was 3890f5a, checked in by Manuel Canales Esparcia <manuel@…>, 20 years ago

Added <literal> tags into cat ... EOF blocks.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/testing/BOOK@4102 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 5.0 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
[3be4d97]6<sect1 id="ch-bootable-grub">
[69993f4]7<title>Making the LFS System Bootable</title>
[673b0d8]8<?dbhtml filename="grub.html"?>
9
10<indexterm zone="ch-bootable-grub">
11<primary sortas="a-Grub">Grub</primary>
12<secondary>configuring</secondary></indexterm>
[955533b]13
[1dc34de7]14<para>Your shiny new LFS system is almost complete. One of the last
[69993f4]15things to do is to ensure that the system can be properly booted. The
[1dc34de7]16instructions below apply only to computers of IA-32 architecture,
17meaning mainstream PCs. Information on <quote>boot loading</quote> for
18other architectures should be available in the usual resource-specific
19locations for those architectures.</para>
20
[69993f4]21<para>Boot loading can be a complex area, so a few cautionary
[fb34768]22words are in order. Be familiar with the current boot loader and any other
[1dc34de7]23operating systems present on the hard drive(s) that need to be
[69993f4]24bootable. Make sure that an emergency boot disk is ready to
25<quote>rescue</quote> the computer if the computer becomes
[1dc34de7]26unusable (un-bootable).</para>
27
[fb34768]28<para>Earlier, we compiled and installed the Grub boot loader software
[1dc34de7]29in preparation for this step. The procedure involves writing some
30special Grub files to specific locations on the hard drive. We highly
[69993f4]31recommend creating a Grub boot floppy diskette as a backup. Insert a
[1dc34de7]32blank floppy diskette and run the following commands:</para>
[e3a72b1]33
34<screen><userinput>dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
35dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1</userinput></screen>
36
[1dc34de7]37<para>Remove the diskette and store it somewhere safe. Now, run the
[0719866]38<command>grub</command> shell:</para>
[1561534]39
[21ba4e3]40<screen><userinput>grub</userinput></screen>
[1561534]41
[69993f4]42<para>Grub uses its own naming structure for drives and partitions in
[1dc34de7]43the form of <emphasis>(hdn,m)</emphasis>, where <emphasis>n</emphasis>
44is the hard drive number and <emphasis>m</emphasis> is the partition
45number, both starting from zero. For example, partition <filename
46class="partition">hda1</filename> is <emphasis>(hd0,0)</emphasis> to
[69993f4]47Grub and <filename class="partition">hdb3</filename> is
[1dc34de7]48<emphasis>(hd1,2)</emphasis>. In contrast to Linux, Grub does not
49consider CD-ROM drives to be hard drives. For example, if using a CD
50on <filename class="partition">hdb</filename> and a second hard drive
51on <filename class="partition">hdc</filename>, that second hard drive
52would still be <emphasis>(hd1)</emphasis>.</para>
53
54<para>Using the above information, determine the appropriate
55designator for the root partition (or boot partition, if a separate
56one is used). For the following example, it is assumed that the root
57(or separate boot) partition is <filename
58class="partition">hda4</filename>.</para>
59
[69993f4]60<para>Tell Grub where to search for its
[1dc34de7]61<filename>stage{1,2}</filename> files. The Tab key can be used
62everywhere to make Grub show the alternatives:</para>
[1561534]63
[21ba4e3]64<screen><userinput>root (hd0,3)</userinput></screen>
[1561534]65
[1dc34de7]66<warning><para>The following command will overwrite the current boot
67loader. Do not run the command if this is not desired, for example, if
68using a third party boot manager to manage the Master Boot Record
[69993f4]69(MBR). In this scenario, it would make more sense to install
[1dc34de7]70Grub into the <quote>boot sector</quote> of the LFS partition. In this
71case, this next command would become: <userinput>setup
72(hd0,3)</userinput>.</para></warning>
[e3a72b1]73
[69993f4]74<para>Tell Grub to install itself into the MBR of
[0719866]75<filename class="partition">hda</filename>:</para>
[1561534]76
[21ba4e3]77<screen><userinput>setup (hd0)</userinput></screen>
[54ff0b9]78
[1dc34de7]79<para>If all went well, Grub will have reported finding its files in
80<filename class="directory">/boot/grub</filename>. That's all there is
81to it. Quit the <command>grub</command> shell:</para>
[54ff0b9]82
[21ba4e3]83<screen><userinput>quit</userinput></screen>
[54ff0b9]84
[1dc34de7]85<para>Create a <quote>menu list</quote> file defining Grub's boot menu:</para>
[54ff0b9]86
[0719866]87<screen><userinput>cat &gt; /boot/grub/menu.lst &lt;&lt; "EOF"
[3890f5a]88<literal># Begin /boot/grub/menu.lst
[1561534]89
[54ff0b9]90# By default boot the first menu entry.
[1561534]91default 0
92
[54ff0b9]93# Allow 30 seconds before booting the default.
[1561534]94timeout 30
95
[54ff0b9]96# Use prettier colors.
[1561534]97color green/black light-green/black
98
[54ff0b9]99# The first entry is for LFS.
[52216a8]100title LFS &version;
[bc362d4]101root (hd0,3)
[3890f5a]102kernel /boot/lfskernel-&linux-version; root=/dev/hda4</literal>
[0719866]103EOF</userinput></screen>
[1561534]104
[1dc34de7]105<para>Add an entry for the host distribution if desired. It might look
[54ff0b9]106like this:</para>
[1561534]107
[0719866]108<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
[3890f5a]109<literal>title Red Hat
[bc362d4]110root (hd0,2)
[1969cea]111kernel /boot/kernel-2.4.20 root=/dev/hda3
[3890f5a]112initrd /boot/initrd-2.4.20</literal>
[0719866]113EOF</userinput></screen>
[1561534]114
[69993f4]115<para>If dual-booting Windows, the following entry will allow
[1dc34de7]116booting it:</para>
[1561534]117
[0719866]118<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
[3890f5a]119<literal>title Windows
[bc362d4]120rootnoverify (hd0,0)
[3890f5a]121chainloader +1</literal>
[0719866]122EOF</userinput></screen>
[1561534]123
[1dc34de7]124<para>If <command>info grub</command> does not provide all necessary material, additional
125information regarding Grub is located on its website at:
[5cd6caa]126<ulink url="http://www.gnu.org/software/grub/"/>.</para>
[955533b]127
128</sect1>
[1dc34de7]129
Note: See TracBrowser for help on using the repository browser.