From Gentoo Wiki
Jump to:navigation Jump to:search
PPC64 Handbook
About the installation
Choosing the media
Configuring the network
Preparing the disks
The stage file
Installing base system
Configuring the kernel
Configuring the system
Installing tools
Configuring the bootloader
Working with Gentoo
Portage introduction
USE flags
Portage features
Initscript system
Environment variables
Working with Portage
Files and directories
Mixing software branches
Additional tools
Custom package repository
Advanced features
OpenRC network configuration
Getting started
Advanced configuration
Modular networking
Adding functionality
Dynamic management

With the kernel configured and compiled and the necessary system configuration files filled in correctly, it is time to install a program that will fire up the kernel when the system boots. Such a program is called a boot loader.

GRUB is a bootloader for PPC64 powered Linux machines.

Using GRUB


root #emerge --ask sys-boot/grub

Setup bootstrap partition

First, prepare the bootstrap partition that was created created during the preparing the disk step. Following the example, this partition should be /dev/sda2. Optionally, confirm this by using parted:

Replace /dev/sda with the correct device if required.

root #parted /dev/sda print
Model: ATA Patriot Burst El (scsi)

Disk /dev/sda: 120GB

Sector size (logical/physical): 512B/512B

Partition Table: mac

Disk Flags:

Number  Start   End     Size    File system  Name       Flags
 1      512B    32.8kB  32.3kB               Apple
 2      32.8kB  852kB   819kB   hfs          bootstrap  boot
 3      852kB   538MB   537MB   ext4         Boot
 4      538MB   54.2GB  53.7GB  ext4         Gentoo

In this output, partition 2 has the bootstrap information so /dev/sda2 is the correct path to use.

Format this partition as HFS using the hformat command which is part of the sys-fs/hfsutils package:

root #dd if=/dev/zero of=/dev/sda2 bs=512
root #hformat -l bootstrap /dev/sda2

Create a directory to mount the bootstrap partition and then mount it:

root #mkdir /boot/NWBB
root #mount --types hfs /dev/sda2 /boot/NWBB

Setup GRUB

root #grub-install --macppc-directory=/boot/NWBB /dev/sda2

If it installs without errors, unmount the bootstrap:

root #umount /boot/NWBB

Next, bless the partition so it will boot:

root #hmount /dev/sda2
root #hattrib -t tbxi -c UNIX :System:Library:CoreServices:BootX
root #hattrib -b :System:Library:CoreServices
root #humount

Finally, build the grub.cfg file:

root #grub-mkconfig -o /boot/grub/grub.cfg

Using yaboot on IBM hardware

On IBM hardware it is not possible to run yabootconfig or ybin. Proceed with the following steps:

  • Emerge the yaboot-static package.
  • Run the following command, filling in XX with the disk and partition for the PReP partition. {{Path|/dev/sda1}
root #dd if=/usr/lib/yaboot/yaboot.chrp of=/dev/sdXX
  • Construct a yaboot.conf file and place it into /etc/. Take a look at the configuration example above, look into the man page for yaboot.conf (man 8 yaboot.conf, or look at the below yaboot.conf example.
  • Assuming the boot device in OpenFirmware is pointing to the hard drive the prep boot partition is on, then it'll just work. If not, at IPL time, go into the multiboot menu and set the boot device to the one with the prep boot partition.

That's it!

FILE yaboot.confExample yaboot.conf for IBM hardware

For POWER4, POWER5, and blade-based hardware (where the PReP disk partition and the disk partition that contains the kernel are on the same physical disk), it is possible to use a simplified yaboot.conf. The following should be sufficient:

FILE yaboot.confyaboot.conf for PReP hardware
default = linux
timeout = 100
        root = /dev/sda3

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

root #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.

Rebooting the system

Exit the chrooted environment and unmount all mounted partitions. Then type in that one magical command that initiates the final, true test: reboot.

(chroot) livecd #exit
livecd~#umount -l /mnt/gentoo/dev{/shm,/pts,}
livecd~#umount -R /mnt/gentoo

Do not forget to remove the live image, otherwise it may be targeted again instead of the newly installed Gentoo system!

Once rebooted in the fresh Gentoo environment, it is wise to finish with Finalizing the Gentoo installation.