Making the LFS system bootable Now that we have our shiny new LinuxFromScratch system completed, we need to ensure we can boot it. To do this, we will run the grub program. grub Grub uses it's own naming structure for drives, in the form of hd(a,b), where a is the hard drive number, and b is the partition number, both of which start from zero. So, partition hda1 would be hd(0,0) to grub, and hdb2 would be hd(1,2). Also, Grub doesn't pay attention to CDROM drives at all, so if, for example, if you have a CD on hdb, and a second hard drive on hdc, partitions on that second hard drive would still be hd(1,b). So, using the information above, select the appropriate designator for your root partition. For the purposes of this, we will assume hd(0,3) for your root partition. First, we tell grub where to find it's files: root (hd0,3) setup (hd0) quit This tells grub to look for it's files on hda4 (hd0,3), and install itself into the MBR (Master Boot Record) of hda. Also, we need to create the menu.lst file, which Grub uses to designate it's boot menu: cat > /boot/grub/menu.lst << "EOF" # Begin /boot/grub/menu.lst # Default to first menu entry default 0 # Allow 30 seconds before booting default timeout 30 # Use prettier colors color green/black light-green/black # Default Entry for LFS title LFS 5.0 kernel (hd0,3)/boot/lfskernel root=/dev/hda4 ro EOF You might also want to add in an entry for your host distribution. It might look similar to this: cat >> /boot/grub/menu.lst << "EOF" # Redhat Linux title Redhat kernel (hd0,2)/boot/kernel-2.4.20 root=/dev/hda3 ro initrd (hd0,2)/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" # Windows chainloader (hd0,0)+1 EOF You can find more info regarding Grub on it's web site, located at: , as well as the LFS Grub HOWTO located at: .