From 81fd230419b0cfd052b08fc1ed352bb7d49975df Mon Sep 17 00:00:00 2001 From: Gerard Beekmans Date: Sat, 19 Feb 2005 22:16:42 +0000 Subject: Trunk is now identical to Testing git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4648 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter08/grub.xml | 86 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 17 deletions(-) (limited to 'chapter08/grub.xml') diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 4d50002a0..12487ec71 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -7,35 +7,82 @@ Making the LFS System Bootable - -We highly recommend that you create a Grub boot floppy diskette just in case. -Insert a blank floppy diskette and run the following commands: + +Grub +configuring + +Your shiny new LFS system is almost complete. One of the last +things to do is to ensure that the system can be properly booted. The +instructions below apply only to computers of IA-32 architecture, +meaning mainstream PCs. Information on boot loading for +other architectures should be available in the usual resource-specific +locations for those architectures. + +Boot loading can be a complex area, so a few cautionary +words are in order. Be familiar with the current boot loader and any other +operating systems present on the hard drive(s) that need to be +bootable. Make sure that an emergency boot disk is ready to +rescue the computer if the computer becomes +unusable (un-bootable). + +Earlier, we compiled and installed the Grub boot loader software +in preparation for this step. The procedure involves writing some +special Grub files to specific locations on the hard drive. We highly +recommend creating a Grub boot floppy diskette as a backup. Insert a +blank floppy diskette and run the following commands: dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1 dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1 -Remove the diskette and store it somewhere safe. Now we'll run the +Remove the diskette and store it somewhere safe. Now, run the grub shell: grub -First, tell Grub where to search for its stage{1,2} -files -- you can use the Tab key everywhere to make Grub show the alternatives: +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 is the partition +number, both starting from zero. For example, partition hda1 is (hd0,0) to +Grub and hdb3 is +(hd1,2). In contrast to Linux, Grub does not +consider CD-ROM drives to be hard drives. For example, if using a CD +on hdb and a second hard drive +on hdc, that second hard drive +would still be (hd1). + +Using the above information, determine the appropriate +designator for the root partition (or boot partition, if a separate +one is used). For the following example, it is assumed that the root +(or separate boot) partition is hda4. + +Tell Grub where to search for its +stage{1,2} files. The Tab key can be used +everywhere to make Grub show the alternatives: root (hd0,3) -Tell Grub to install itself into the MBR (Master Boot Record) of +The following command will overwrite the current boot +loader. Do not run the command if this is not desired, for example, if +using a third party boot manager to manage the Master Boot Record +(MBR). In this scenario, it would make more sense to install +Grub into the boot sector of the LFS partition. In this +case, this next command would become setup +(hd0,3). + +Tell Grub to install itself into the MBR of hda: setup (hd0) -If all is well, Grub will have reported finding its files in -/boot/grub. That's all there is to it: +If all went well, Grub will have reported finding its files in +/boot/grub. That's all there is +to it. Quit the grub shell: quit -Now we need to create a menu list file, defining Grub's -boot menu: +Create a menu list file defining Grub's boot menu: cat > /boot/grub/menu.lst << "EOF" # Begin /boot/grub/menu.lst @@ -55,7 +102,7 @@ root (hd0,3) kernel /boot/lfskernel-&linux-version; root=/dev/hda4 EOF -You may want to add an entry for your host distribution. It might look +Add an entry for the host distribution if desired. It might look like this: cat >> /boot/grub/menu.lst << "EOF" @@ -65,8 +112,8 @@ kernel /boot/kernel-2.4.20 root=/dev/hda3 initrd /boot/initrd-2.4.20 EOF -Also, if you happen to dual-boot Windows, the following entry should -allow booting it: +If dual-booting Windows, the following entry will allow +booting it: cat >> /boot/grub/menu.lst << "EOF" title Windows @@ -74,11 +121,16 @@ rootnoverify (hd0,0) chainloader +1 EOF -The FHS stipulates that Grub's menu.lst file should be symlinked to -/etc/grub/menu.lst. To satisfy this requirement, issue the following -command: +If info grub does not provide all necessary material, additional +information regarding Grub is located on its website at: +. + +The FHS stipulates that Grub's menu.lst file should be symlinked to +/etc/grub/menu.lst. To satisfy this requirement, issue the +following command: mkdir /etc/grub && ln -s /boot/grub/menu.lst /etc/grub + -- cgit v1.2.3-54-g00ecf