Gentoo Logo

1.  ブートローダの選択

はじめに

さて、カーネルを設定し、コンパイルし、そして必要なシステムの設定ファイルも適切に編集したので、システムを起動するときにカーネルを立ち上げるプログラムをインストールするときが来ました。そのようなプログラムは、ブートローダと呼ばれています。けれども始める前に、あなたが何を選択するべきか検討しましょう…。

いくつかのブートローダがLinux/PPC用にあります。yaboot(NewWorldのAppleとIBMマシン用)とBootX(OldWorldのAppleマシン用)です。Pegasosはブートローダを必要としませんが、我々はSmartFirmwareブートメニューを作成するためにBootCreatorを含めました。

1.  一般的な選択: yabootを使用する

はじめに

重要: yabootはNewWorldのAppleとIBMマシンでのみ使うことができます!

最初にブートローダをインストールするときに必要になる/devファイルを作成しなければなりません。これは、インストールCDから/devファイルシステムを「bind」マッピングを行うことでできます。

コード表示 1.1: /devファイルシステムをBindマウントする

# exit  # chroot環境から抜けます
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile 

システムにyabootを設定する方法が2つあります。yabootに含まれているyabootconfigを使うことができます。また、何らかの理由のために、自動的に/etc/yaboot.confを設定するためのyabootconfigを実行したくないか、G5(yabootconfigが常に動作するとは限りません)にGentooをインストールしているならば、既にシステムにインストールされたサンプルファイルを編集することができます。

注意: もし、genkernelを使っているなら、yaboot.confファイルを編集する必要があるかもしれません。genkernelのebuildによって与えられた引数はカーネルイメージの部分にオプションとして加える必要があります。yaboot.confの適切な項目は以下の通りです。

コード表示 1.1: ブート引数をyaboot.confに追加します

#################
## 複数のカーネルまたは起動オプションのセットを持っているならば、この節を複写
## することができます。2.6.9をあなたのカーネルのバージョンに置換してください。
#################
image=/boot/kernel-2.6.9
  label=Linux
  root=/dev/ram0		# もしgenkernelを使っているなら、ここは/dev/ram0です。
  partition=3
  sysmap=/boot/System.map-2.6.9
  append="real_root=/dev/hda3 init=/linuxrc"	# この行に引数を追加します。
  read-only
##################

一般的な選択: yabootconfigを使用する

yabootconfigはマシンのパーティションを自動検出し、Linux、Mac OS、およびMac OS Xによるデュアルおよびトリプルブートの組み合わせを設定します。

yabootconfigを使用するために、ドライブはApple_Bootstrapパーティションを持っていなければならず、/etc/fstabはLinuxパーティションで設定されなければなりません。これらの両方は既に上記のステップで行われているべきです。手始めに、最新のyabootがインストールされているか確認してください。

コード表示 1.1: GRPを使ってyabootをインストールする

# emerge --usepkg --update yaboot

さあ、chroot環境から抜けて、yabootconfig --chroot /mnt/gentooを実行してください。プログラムが動作し、bootstrapパーティションの位置を確認するでしょう。それが正しいならば、Yを入力してください。もし、そうでなければ/etc/fstabを再確認してください。yabootconfigはその時システムの構成を詳しく調べて/etc/yaboot.confを作成し、mkofbootを実行するでしょう。mkofbootはApple_Bootstrapパーティションをフォーマットし、そこにyabootの構成ファイルをインストールするために使用されます。これが終わったら、再びchroot環境に入ってください。

コード表示 1.1: chroot環境に入る

# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile

/etc/yaboot.confの内容を確認したいかもしれません。/etc/yaboot.confに(既定で起動するOSの設定のような)変更を加える場合は、Apple_Bootstrapパーティションに変更を適用するybin -vを再実行するのを忘れないでください。

それでは、システムの再起動へ進みましょう。

もう一つの選択: 手動でyabootを構成する

最初に、最新のyabootがシステムにインストールされているか確認してください。

コード表示 1.1: yabootをインストールする

# emerge --usepkg --update yaboot

以下に、あなたは完成したyaboot.confファイルを見つけることでしょう。それを思いのままに変更してください。G5ユーザは、マシンのディスクがシリアルATAディスクであることを意識するべきです。LinuxカーネルがSCSIディスクとして認識するからです(従って、/dev/sda/dev/hdaの代わりに使ってください)。

コード表示 1.1: /etc/yaboot.conf

## /etc/yaboot.conf
##
## 詳細を得るために"man yaboot.conf"を実行してください。理解するまで変更しないでください!!
## 同様に/usr/share/doc/yaboot/examplesの構成例を見てください。
##
## デュアルブートメニューのために、下記の1つ以上を追加してください。
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

## bootstrapパーティション:

boot=/dev/hda2

## ofbootはbootstrapパーティションを指定するOpen Firmwareのやり方です。
## これが定義されていないと、yabootはG5と一部のG4において(必要な引数を
## mkofbootやybinプログラムに渡さない限り)失敗します。
## hd:Xは/dev/sdaX(または/dev/hdaX)を意味しています。
## 
## G5ユーザはこの行をコメントアウトすべきです!!

#ofboot=hd:2

##hd:はOpen Firmwareがhda(訳注:またはsda)を要求します
device=hd:

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

#################
## 複数のカーネルまたは起動オプションのセットを持っているならば、この節を複写
## することができます。2.6.9をあなたのカーネルのバージョンに置換してください。
#################
image=/boot/kernel-2.6.9
  label=Linux
  root=/dev/hda3
  partition=3
  sysmap=/boot/System.map-2.6.9
  read-only
##################

## G5ユーザと一部のG4ユーザは例で使われている値の代わりに次のように設定すべきです。
##   macos=hd:13
##   macosx=hd:12
macos=/dev/hda13
macosx=/dev/hda12
enablecdboot
enableofboot

いったんyaboot.confがあなたの望むように設定したら、bootstrapパーティションに設定をインストールするためにmkofboot -vを実行します。これを忘れないでください! mkofbootが、新しいファイルシステムを作成するか尋ねた時には承認してください。

全てがうまくいき、上記のサンプルと同じオプションを持っている場合、再起動後、簡素で5つの項目のブートメニューに出会うでしょう。もし、後でyabootの設定ファイルを更新するならば、bootstrapパーティションを更新するためにybin -vを実行する必要があるでしょう。mkofbootはただ初期設定のために使われます。

yabootの詳細については、yaboot projectを見てください。ひとまず、システムの再起動へ進んでインストールを続行しましょう。

1.  もう一つの選択: BootXを使用する

重要: BootXはOldWorldのAppleマシンでのみ使うことができます!

BootXがMacOSの中からLinuxをブートするので、カーネルをLinuxパーティションからMacOSパーティションにコピーする必要があります。最初に、chroot環境の外でMacOSパーティションをマウントします。mac-fdisk -lを使ってMacOSパーティションの番号を探してください(ここではsda6を例として使います)。パーティションがマウントされたら、BootXがカーネルを見つけられるように、システムフォルダにカーネルをコピーします。

コード表示 1.1: カーネルをMacOSパーティションにコピーします

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/usr/src/linux/vmlinux "/mnt/mac/System Folder/Linux Kernels"

もし、genkernelを使ったのなら、カーネルは別のところにあります。そして、initrdも同様にコピーする必要があるでしょう。

コード表示 1.1: Genkernelが作ったカーネルとinitrdをMacOSパーティションにコピーします

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-* "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initrd-* "/mnt/mac/System Folder"

カーネルをコピーしたら、マウントしたすべてのパーティションをアンマウントすることができます。そして、待ちに待った次のコマンドを入力しましょう: reboot

コード表示 1.1: すべてのパーティションをアンマウントし再起動する

cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo /mnt/mac
cdimage ~# reboot

もちろん、すべてのブート可能なメディアを取り出すことを忘れないでください。今回は、MacOSをブートする必要があります。

さあ、MacOSでマシンが起動したら、BootXコントロールパネルを開いてください。もしgenkernelを使っていないのなら、Optionsを選択し、Used specified RAM diskのチェックを外してください。genkernelを使ったのなら、間違いなくgenkernelが作ったinitrdをインストールCDのinitrdの代わりに選択してください。genkernelを使っていないのなら、マシンのLinuxルートディスクとパーティションを指定するオプションがあります。適切な値でこれらを埋めてください。カーネルの設定によっては、ビデオオプションなどインストールCDをブートするために使った設定のいくつかを付加する必要があるかもしれません。

BootXは起動時にLinuxを始めるように設定することができます。これを選択すると、コンピュータはMacOSをブートし、起動中にBootXがLinuxを読み込み、スタートさせるでしょう。詳細については、BootX homeをご覧ください。

それでは、もう一度再起動してLinuxを起動してください。それから、(Gentooインストールの終わり)へ進みましょう。

1.  もう一つの選択: BootCreator

重要: BootCreatorはPegasosのためにForthで書かれた素敵なSmartFirmwareブートメニューを作成するでしょう。

最初に、最新のbootcreatorがシステムにインストールされているか確認してください。

コード表示 1.1: bootcreatorをインストールする

# emerge --usepkg --update bootcreator

さあ、/etc/bootmenu/etc/bootmenu.exampleをコピーし、必要なら編集してください。

コード表示 1.1: bootcreatorの設定ファイルを編集する

# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu

以下に、あなたは完成した/etc/bootmenu設定ファイルを見つけることでしょう。それを思いのままに変更してください。

コード表示 1.1: bootcreator設定ファイル

#
# bootcreator 1.1用の記述ファイルの例
#

[VERSION]
1

[TITLE]
Boot Menu

[SETTINGS]
AbortOnKey = false
Timeout    = 9
Default    = 1

[SECTION]
Local HD -> Morphos      (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"

[SECTION]
Local HD -> Linux 2.6.10 (Normal)
ide:0 linux-2.6.10 video=radeonfb:1024x768@70 root=/dev/hda3

最終的に、bootmenuはForthに変換されなければなりません。そして、SmartFirmwareが読めるように、それをbootパーティションにコピーします。そのためには、bootcreatorを呼び出さなければなりません。

コード表示 1.1: bootmenuをインストールする

# bootcreator /etc/bootmenu /boot/menu

注意: リブートするとき、必ずSmartFirmwareの設定を見てください。menuはデフォルトで読み込まれるであろうファイルです。

ひとまず、システムの再起動へ進んでインストールを続行しましょう。

1.  システムの再起動

chroot環境を抜けて、マウントしたすべてのパーティションをアンマウントしてください。そして、待ちに待った次のコマンドを入力しましょう: reboot

コード表示 1.1: chrootを抜けて、すべてのパーティションをアンマウントし再起動する

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

再起動したら、(Gentooインストールの終わり)へ進んでインストールを完了させましょう。

ページの更新日 2005年 5月 12日

このドキュメントのオリジナルバージョン の更新日は2011年 5月 9日

Donate to support our development efforts.

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