Making the LFS system bootable
Now that we have our shiny new Linux-From-Scratch system completed,
we need to ensure we can boot it. To do this, we will run the
grub program.
grub
Grub uses its own naming structure for drives and partitions, in the form
of (hdn,m), where n is the hard drive number, and
m the partition number, both starting from zero. This
means, for instance, that partition hda1 is (hd0,0) to
Grub, and hdb2 is (hd1,1). In contrast to Linux, Grub
doesn't consider CD-ROM drives to be hard drives, so if you have a CD on
hdb, for example, and a second hard drive on
hdc, that second hard drive would still be (hd1).
Using the above information, determine the appropriate designator for
your root partition. For the following example, we'll assume your root
partition is hda4.
First, tell Grub where to search for its stage{1,2}
files -- you can use Tab everywhere to make Grub show the alternatives:
root (hd0,3)
Then tell it to install itself into the MBR (Master Boot Record) of
hda:
setup (hd0)
If all is well, Grub will have reported finding its files in
/boot/grub. That's all there was to it:
quit
Now we need to create the menu.lst file, which
defines Grub's boot menu:
cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst
# By default boot the first menu entry.
default 0
# Allow 30 seconds before booting the default.
timeout 30
# Use prettier colors.
color green/black light-green/black
# The first entry is for LFS.
title LFS 5.0
root (hd0,3)
kernel /boot/lfskernel root=/dev/hda4 ro
EOF
You may want to add an entry for your host distribution. It might look
like this:
cat >> /boot/grub/menu.lst << "EOF"
title Red Hat
root (hd0,2)
kernel /boot/kernel-2.4.20 root=/dev/hda3 ro
initrd /boot/initrd-2.4.20
EOF
Also, if you happen to dual-boot Windows, the following entry should
allow booting it:
cat >> /boot/grub/menu.lst << "EOF"
title Windows
rootnoverify (hd0,0)
chainloader +1
EOF
If info grub doesn't tell you all you want to
know, you can find more information regarding Grub on its website, located at:
.