声明: 本手册已经被新版本代替了,不再被维护。

10. 配置引导程序

内容:

10.a. 做出您的选择

介绍

现在您的内核已经配置并编译好,必要的系统配置文件也已正确配置好,是时候安装一个启动时用以启动你内核的程序了。这样的程序叫做引导程序

在Linux/PPC64平台上在grub2完成前我们只有yaBoot能用作引导程序。

10.b. 使用yaBoot

介绍

重要: 64位userland使用yaboot-static替代yaboot,因为yaboot不能在64位userland的系统上编译通过。对于32位userland你可以像往常一样使用yaboot。

目前有两种方法可以用来为你的系统配置yaBoot。你可以使用最新且改进过的yabootconfigyaboot-1.3.8-r1及以后的版本包含这个工具,它可用来自动配置yaboot。如果因为一些原因你不想让yabootconfig来自动配置/etc/yaboot.conf或者你正在一个G5上安装Gentoo(在这种平台上yabootconfig并不一定能运行成功),你可以修改已经安装在你系统上的例子文件。

代码 2.1: 安装必要的文件系统工具

# emerge hfsutils hfsplusutils

代码 2.2: 安装bootloader

(64位userland)
# emerge --update yaboot-static
(32位userland)
# emerge --update yaboot

重要: yabootconfig/ybin在IBM机器上无法工作。你必须通过另外一种方式安装yaboot:在IBM硬件上使用yaboot

注意: 如果你的根文件系统使用JFS文件系统,一定要添加内核参数ro。JFS必须要在只读模式下重放它的日志,然后再以读写模式挂载。

默认:使用yabootconfig

yabootconfig会自动侦测在你机器上的分区并会设置诸如Linux、Mac OS和Mac OS X这样的双重或三重的启动组合。

为了能使用yabootconfig,你的硬盘上必须拥有一个bootstrap分区,并且/etc/fstab的配置要和你的Linux分区情况一致。这些在之前的步骤中应该已经完成了。要开始配置,请先确保已经安装了最新版本的yaboot,运行emerge --update yaboot-static。这步是必须的,因为portage中的yaboot肯定是最新版本,但stage文件中却不一定。

现在运行yabootconfig。首先,程序会运行并确认bootstrap分区的位置。如果输出正确请键入Y。如果出现错误,请再次仔细检查你的/etc/fstab。yabootconfig会接着扫描你的系统设置,创建/etc/yaboot.conf并为你运行mkofbootmkofboot是格式化bootstrap分区以及安装yaboot的配置文件用的。

你可能需要校验/etc/yaboot.conf的内容。如果你在/etc/yaboot.conf中做了些更改(比如设置默认/启动的操作系统),请确保再次运行一次ybin -v以便将这些更改应用到bootstrap分区中去。

接下来请阅读重启系统

备选:手动yaBoot配置

下面你可以发现一个完整的yaboot.conf文件。你可以任意修改它。

代码 2.3: /etc/yaboot.conf

## /etc/yaboot.conf
##
## 运行:“man yaboot.conf”可以得到更多详细帮助。在未看帮助前请不要做任何改动!!
## 也可以参考:/usr/share/doc/yaboot/examples可以得到一些配置的示例。

## 如果需要双重启动菜单,请添加以下一项或多项:
## bsd=/dev/sdaX, macos=/dev/sdaY, macosx=/dev/sdaZ

## 我们的bootstrap分区:

boot=/dev/sda2

## ofboot是Open Fireware指定bootstrap分区的方式。
## 如果没有定义过这个变量,则yaboot会在G5和某些G4机器上失效(除非
## 你将一些必要的参数传给mkofboot/ybin程序)。
## hd:X表示/dev/sdaX。

ofboot=hd:2

## hd:是open firmware称呼sda的方式
device=hd:

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

#################
## 如果你有一个以上的内核或是启动选项的组合这部分配置可以被复制
## ——用你的内核版本替换kernel-2.6.24-gentoo-r5 #################
image=/boot/kernel-2.6.24-gentoo-r5
  label=Linux
  root=/dev/sda3
  partition=3
  read-only

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

一旦yaboot.conf如你所希望的配置好后,你可以运行mkofboot -v将配置信息安装到bootstrap分区中。不要忘记这一步!mkofboot问你创建一个新的文件系统时选是。

如果一切都没问题,且你拥有和以上例子相同的选项,你下一步的重启会展示给你一个简单的、五个菜单项的启动菜单。如果你以后更新你的yaboot配置文件,你需要运行ybin -v来更新bootstrap分区——mkofboot只在初始设置时使用。

更多关于yaboot的信息,你可以参看yaboot项目。现在,请阅读重启系统来继续安装。

10.c. 在IBM硬件上使用yaboot

在IBM硬件上你无法运行yabootconfig或ybin。你需要经历以下几个步骤:

代码 3.1: IBM硬件的yaboot.conf

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

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

对于Power4、Power5、和一些基于blade的硬件,PReP磁盘分区和包含你内核文件的磁盘分区是在同一块物理磁盘上的,你可以使用一个简化的yaboot.conf文件。以下的内容应该足够了:

代码 3.2: PReP硬件的yaboot.conf

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

为了验证yaboot已经复制到PReP分区中:

代码 3.3: 验证yaboot安装到PReP上

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

如果上面的结果中输入输出相匹配的话就标志着yaboot已经正确安装好了。

10.d. 重启系统

退出chroot环境且卸载掉所有已挂载的分区。随后键入那个已经等待多时的魔幻命令:reboot

代码 4.1: 退出chroot,卸载所有的分区并重启

# exit
~# cd
~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
~# reboot

当然,请不要忘记将可启动的CD从光驱中取出,否则机器会再次启动CD,而不是你新安装的Gentoo系统。

当重启进入到您新装的Gentoo系统之后,请阅读结束您的Gentoo安装来完成剩下的工作。