Gentoo Logo

1.  做出您的选择

介绍

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

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

1.  使用yaBoot

介绍

重要: 如果你正在使用64位userland,你需要使用yaboot-static软件包,因为yaboot不能编译成为64位的应用程序。32位userland用常规的yaboot软件包就好了。

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

重要: 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文件中却不一定。

代码 1.1: 安装yaboot-static

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

(32位userland)
# emerge yaboot

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

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

接下来请阅读重启系统

备选:手动yaBoot配置

首先确保你已经在系统上安装了最新版本的yaboot-static

代码 1.1: 安装yaboot

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

(32位userland)
# emerge yaboot

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

代码 1.1: /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 Firmware指定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-name}
#################
image=/boot/${kernel-name}
  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项目。现在,请阅读重启系统来继续安装。

1.  在IBM硬件上使用yaboot

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

  • 安装yaboot-static
  • 运行dd if=/usr/lib/yaboot/yaboot.chrp of=/dev/sdXX(用你的PReP分区的磁盘和分区填入XX;这里是我们使用的例子/dev/sda1
  • 下一步构建你自己的yaboot.conf文件并置于/etc内。(再看一下以上的配置文件,参考一下yaboot.conf的man页面或者参考下如下的yaboot.conf示例)
  • 假设你在OF中的启动设备指向的是你含有prep启动分区的硬盘,它随后就能正常工作了,否则在IPL时,要进入多重启动菜单并把启动设备设置为包含prep启动分区的硬盘。
  • 搞定!

代码 1.1: IBM硬件的yaboot.conf

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

image=/boot/${kernel-name}
    label=linux
    append="console=ttyS0,9600"
    read-only

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

代码 1.1: PReP硬件的yaboot.conf

default = linux
timeout = 100
image=/boot/${kernel-name}
        label=linux
        read-only
        root = /dev/sda2
        append="root=/dev/sda2"

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

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

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

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

1.  重启系统

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

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

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

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

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

更新于2008年 5月 4日

本文档的原始版本最后更新于2011年 5月 9日

Donate to support our development efforts.

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