Kiistö:
Tämä käsikirja on vanhentunut eikä sitä enää ylläpidetä.
|
[ << ]
[ < ]
[ Etusivu ]
[ > ]
[ >> ]
10. Configuring the Bootloader
Sisällysluettelo:
10.a. Making your Choice
Introduction
Now that your kernel is configured and compiled and the necessary system
configuration files are filled in correctly, it is time to install a
program that will fire up your kernel when you start the system. Such a
program is called a bootloader.
Optional: Framebuffer
If you have configured your kernel with framebuffer support (or you used
genkernel's default kernel configuration), you can activate it by adding
a vga and/or a video statement to your bootloader configuration
file.
64-bit systems must use the the vesafb driver, and so will need to set
the vga statement. The vga statement controls the resolution and
color depth of your framebuffer screen for vesafb. As stated in
/usr/src/linux/Documentation/fb/vesafb.txt (which gets installed
when you install a kernel source package), you need to pass the VESA number
corresponding to the requested resolution and color depth to it.
The following table lists the available resolutions and colordepths and matches
those against the value that you need to pass on to the vga statement.
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
| 256 |
0x301 |
0x303 |
0x305 |
0x307 |
| 32k |
0x310 |
0x313 |
0x316 |
0x319 |
| 64k |
0x311 |
0x314 |
0x317 |
0x31A |
| 16M |
0x312 |
0x315 |
0x318 |
0x31B |
The video statement controls framebuffer display options. It needs to be
given the framebuffer driver (vesafb for 2.6 kernels, or vesa for
2.4 kernels) followed by the control statements you wish to enable. All
variables are listed in /usr/src/linux/Documentation/fb/vesafb.txt,
but we'll inform you about three most-used options:
| Control |
Description |
| ywrap |
Assume that the graphical card can wrap around its memory (i.e. continue at
the beginning when it has approached the end)
|
| mtrr |
Setup MTRR registers
|
The result of those two statements could be something like vga=0x318
video=vesafb:mtrr,ywrap or video=vesafb:mtrr,ywrap,1024x768-32@85.
Remember (or write down) this setting; you will need it shortly.
While LILO does work on AMD64, Gentoo only supports using GRUB. Now continue by
its installation.
10.b. Using GRUB
Understanding GRUB's terminology
The most critical part of understanding GRUB is getting comfortable with
how GRUB refers to hard drives and partitions. Your Linux partition
/dev/hda1 will most likely be called (hd0,0) under
GRUB. Notice the parenthesis around the hd0,0 - they are required.
Hard drives count from zero rather than "a" and partitions start at zero
rather than one. Be aware too that with the hd devices, only hard drives are
counted, not atapi-ide devices such as cdrom players and burners. Also, the
same construct is used with SCSI drives. (Normally they get higher numbers
than IDE drives except when the BIOS is configured to boot from SCSI devices.)
When you ask the BIOS to boot from a different hard disk (for instance your
primary slave), that harddisk is seen as hd0.
Assuming you have a hard drive on /dev/hda, a cdrom player on
/dev/hdb, a burner on /dev/hdc, a second hard drive
on /dev/hdd and no SCSI hard drive, /dev/hdd7 gets
translated to (hd1,6). It might sound tricky and tricky it is
indeed, but as we will see, GRUB offers a tab completion mechanism
that comes handy for those of you having a lot of hard drives and
partitions and who are a little lost in the GRUB numbering scheme.
Having gotten the feel for that, it is time to install GRUB.
Installing GRUB
To install GRUB, let's first emerge it.
Koodilistaus 2.1: Installing GRUB |
# emerge grub
|
Although GRUB is now installed, we still need to write up a
configuration file for it and install GRUB in the MBR so that GRUB
automatically boots your newly created kernel. Create
/boot/grub/grub.conf with nano (or, if applicable, another
editor):
Koodilistaus 2.2: Creating /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf
|
Now we are going to write up a grub.conf. Below you'll
find two possible grub.conf for the partitioning example we use
in this guide, with kernel image kernel-2.6.12-gentoo-r10. We've
only extensively commented the first grub.conf.
-
The first grub.conf is for people who have not used
genkernel to build their kernel
-
The second grub.conf is for people who have used
genkernel to build their kernel
Huomaa:
If your root filesystem is JFS, you must add " ro" to the kernel
line since JFS needs to replay its log before it allows read-write mounting.
|
Koodilistaus 2.3: grub.conf for non-genkernel users |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Koodilistaus 2.4: grub.conf for genkernel users |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-amd64-2.6.12-gentoo-r10
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
If you used a different partitioning scheme and/or kernel image, adjust
accordingly. However, make sure that anything that follows a GRUB-device (such
as (hd0,0)) is relative to the mountpoint, not the root. In other
words, (hd0,0)/grub/splash.xpm.gz is in reality
/boot/grub/splash.xpm.gz since (hd0,0) is
/boot.
Besides, if you chose to use a different partitioning scheme and did not put
/boot in a separate partition, the /boot prefix used
in the above code samples is really required. If you followed our
suggested partitioning plan, the /boot prefix it not required, but
a boot symlink makes it work. In short, the above examples should
work whether you defined a separate /boot partition or not.
If you need to pass any additional options to the kernel, simply add
them to the end of the kernel command. We're already passing one option
(root=/dev/hda3 or real_root=/dev/hda3), but you can pass others
as well, such as the video statement for framebuffer as we discussed
previously.
genkernel users should know that their kernels use the same boot options
as is used for the Installation CD. For instance, if you have SCSI devices, you
should add doscsi as kernel option.
Now save the grub.conf file and exit. We still need to install GRUB
in the MBR (Master Boot Record) though.
The GRUB developers recommend the use of grub-install. However, if for
some reason grub-install fails to work correctly you still have the
option to manually install GRUB.
Continue with Default: Setting up GRUB using
grub-install or Alternative: Setting up
GRUB using manual instructions.
Default: Setting up GRUB using grub-install
To install GRUB you will need to issue the grub-install command.
However, grub-install won't work off-the-shelf since we are inside a
chrooted environment. We need to create /etc/mtab which lists all
mounted filesystems. Fortunately, there is an easy way to accomplish this -
just copy over /proc/mounts to /etc/mtab, excluding
the rootfs line if you haven't created a separate boot partition. The
following command will work in both cases:
Koodilistaus 2.5: Creating /etc/mtab |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Now we can install GRUB using grub-install:
Koodilistaus 2.6: Running grub-install |
# grub-install /dev/hda
|
If you have more questions regarding GRUB, please consult the GRUB FAQ or the GRUB Manual.
Continue with Rebooting the System.
Alternative: Setting up GRUB using manual instructions
To start configuring GRUB, you type in grub. You'll be presented
with the grub> grub command-line prompt. Now, you need to type
in the right commands to install the GRUB boot record onto your hard drive.
Koodilistaus 2.7: Starting the GRUB shell |
# grub
|
Huomaa:
If your system does not have any floppy drives, add the --no-floppy
option to the above command to prevent grub from probing the (non-existing)
floppy drives.
|
In the example configuration we want to install GRUB so that it reads its
information from the boot-partition /dev/hda1, and installs the
GRUB boot record on the hard drive's MBR (master boot record) so that the first
thing we see when we turn on the computer is the GRUB prompt. Of course, if you
haven't followed the example configuration during the installation,
change the commands accordingly.
The tab completion mechanism of GRUB can be used from within GRUB.
For instance, if you type in "root (" followed by a TAB, you will
be presented with a list of devices (such as hd0). If you
type in "root (hd0," followed by a TAB, you will receive a list
of available partitions to choose from (such as hd0,0).
By using the tab completion, setting up GRUB should be not that hard.
Now go on, configure GRUB, shall we? :-)
Koodilistaus 2.8: Installing GRUB in the MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Huomaa:
If you want to install GRUB in a certain partition instead of the MBR,
you have to alter the setup command so it points to the right
partition. For instance, if you want GRUB installed in
/dev/hda3, then the command becomes setup (hd0,2).
Few users however want to do this.
|
If you have more questions regarding GRUB, please consult the GRUB FAQ or the GRUB Manual.
Continue with Rebooting the System.
10.c. Rebooting the System
Exit the chrooted environment and unmount all mounted partitions. Then type in
that one magical command you have been waiting for: reboot.
Koodilistaus 3.1: Unmounting all partitions and rebooting |
# exit
# cd
# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# reboot
|
Of course, don't forget to remove the bootable CD, otherwise the CD will be
booted again instead of your new Gentoo system.
Once rebooted in your Gentoo installation, finish up with Finalizing your Gentoo Installation.
[ << ]
[ < ]
[ Etusivu ]
[ > ]
[ >> ]
Tämän sivun sisältö ja suomennos kuuluvat
Creative Commons - Nimi mainittava-Sama lisenssi 2.5 -lisenssin alle.
Sivun sisältöä koskee myös
Gentoo Name and
Logo Usage Guidelines.
|