Gentoo Logo

[ << ] [ < ] [ Home ] [ > ] [ >> ]


10. Configuring the Bootloader

Content:

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.

On Linux/PPC64 we have yaBoot as a bootloader.

10.b. Using yaBoot

Introduction

Important: If you are using a 64-bit userland, you must use the yaboot-static package because yaboot cannot be compiled as a 64-bit application. The 32-bit userlands should use the regular yaboot package.

There are two ways to configure yaBoot for your system. You can use the new and improved yabootconfig included with yaboot-1.3.8-r1 and later to automatically set up yaboot. If for some reason you do not want to run yabootconfig to automatically set up /etc/yaboot.conf or you are installing Gentoo on a G5 (on which yabootconfig does not always work), you can just edit the sample file already installed on your system.

Important: yabootconfig/ybin won't work on IBM. You have to install yaboot another way: Using yaboot on IBM hardware

Note: If your root filesystem uses the JFS filesystem, be sure to add ro as a kernel parameter. JFS must be able to replay its log in read-only mode before it gets mounted read-write.

Default: Using yabootconfig

yabootconfig will auto-detect the partitions on your machine and will set up dual and triple boot combinations with Linux, Mac OS, and Mac OS X.

To use yabootconfig, your drive must have a bootstrap partition, and /etc/fstab must be configured with your Linux partitions. Both of these should have been done already in the steps above. To start, ensure that you have the latest version of yaboot installed by running emerge --update yaboot-static. This is necessary as the latest version will be available via Portage, but it may not have made it into the stage files.

Code Listing 2.1: Installing yaboot-static

(For 64-bit users)
# emerge --update yaboot-static

(For 32-bit users)
# emerge yaboot

Now run yabootconfig. The program will run and it will confirm the location of the bootstrap partition. Type Y if it is correct. If not, double check /etc/fstab. yabootconfig will then scan your system setup, create /etc/yaboot.conf and run mkofboot for you. mkofboot is used to format the bootstrap partition, and install the yaboot configuration file into it.

You might want to verify the contents of /etc/yaboot.conf. If you make changes to /etc/yaboot.conf (like setting the default/boot OS), make sure to rerun ybin -v to apply changes to the bootstrap partition.

Now continue with Rebooting your System.

Alternative: Manual yaBoot Configuration

First make sure you have the latest yaboot-static installed on your system:

Code Listing 2.2: Installing yaboot

(For 64-bit users)
# emerge --update yaboot-static

(For 32-bit users)
# emerge yaboot

Below you find a completed yaboot.conf file. Alter it at will.

Code Listing 2.3: /etc/yaboot.conf

## /etc/yaboot.conf
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/sdaX, macos=/dev/sdaY, macosx=/dev/sdaZ

## our bootstrap partition:

boot=/dev/sda2

## ofboot is the Open Firmware way to specify the bootstrap partition.
## If this isn't defined, yaboot fails on the G5 and some G4s (unless 
## you pass the necessary arguments to the mkofboot/ybin program).
## hd:X means /dev/sdaX.

ofboot=hd:2

## hd: is Open Firmware speak for sda
device=hd:

delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

#################
## This section can be duplicated if you have more than one kernel or set of
## boot options - replace kernel-3.4.9-gentoo with your kernel
#################
image=/boot/kernel-3.4.9-gentoo
  label=Linux
  root=/dev/sda3
  partition=3
  read-only

macos=hd:13
macosx=hd:12
enablecdboot
enableofboot

Once yaboot.conf is set up the way you want it, you run mkofboot -v to install the settings in the bootstrap partition. Don't forget this! Confirm when mkofboot asks you to create a new filesystem.

If all goes well, and you have the same options as the sample above, your next reboot will give you a simple, five-entry boot menu. If you update your yaboot config later on, you'll just need to run ybin -v to update the bootstrap partition - mkofboot is for initial setup only.

For more information on yaboot, take a look at the yaboot project. For now, continue the installation with Rebooting your System.

10.c. Using yaboot on IBM hardware

On IBM hardware you cannot run yabootconfig or ybin. You must proceed with the following steps:

  • Install yaboot-static
  • Run dd if=/usr/lib/yaboot/yaboot.chrp of=/dev/sdXX (fill in XX with your disk and partition for the PReP partition; this was in our example /dev/sda1)
  • Next construct your own yaboot.conf file and place into /etc. (Take a look at the config above, look into the man page of yaboot.conf or look at the below yaboot.conf example.)
  • Assuming your boot device in OF is pointing to the harddrive you prep boot partition is on then it'll just work, otherwise at IPL time, go into the multiboot menu and set the boot device to the one with your prep boot partition
  • That's it!

Code Listing 3.1: yaboot.conf for IBM hardware

device=disk:
partition=2
root=/dev/sda2
default=linux
timeout=50

image=/boot/kernel-3.4.9-gentoo
    label=linux
    append="console=ttyS0,9600"
    read-only

For POWER4, POWER5, and blade-based hardware where the PReP disk partition and the disk partition that contains your kernel are on the same physical disk, you can use a simplified yaboot.conf. The following should be sufficient:

Code Listing 3.2: yaboot.conf for PReP hardware

default = linux
timeout = 100
image=/boot/kernel-3.4.9-gentoo
        label=linux
        read-only
        root = /dev/sda2
        append="root=/dev/sda2"

To verify that yaboot has been copied to the PReP partition:

Code Listing 3.3: Verifying the yaboot install on PReP

# dd if=/dev/sda1 count=10 | grep ELF
Binary file (standard input) matches
10+0 records in
10+0 records out

A match signifies that yaboot was installed correctly.

10.d. 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.

Code Listing 4.1: Exiting the chroot, unmounting all partitions and rebooting

# exit
~# cd
~# umount -l /mnt/gentoo/dev{/shm,/pts,}
~# umount /mnt/gentoo{/proc,/boot,/sys}
~# 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.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Print

View all

Page updated August 17, 2014

Summary: In this chapter we'll describe how to configure a bootloader to our needs.

Sven Vermeulen
Author

Grant Goodyear
Author

Roy Marples
Author

Daniel Robbins
Author

Chris Houser
Author

Jerry Alexandratos
Author

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Xavier Neys
Editor

Joshua Saddler
Editor

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Contributor

Tobias Scherbaum
Editor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.