|
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に追加します |
image=/boot/kernel-2.6.9
label=Linux
root=/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 |
boot=/dev/hda2
device=hd:
delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/boot/kernel-2.6.9
label=Linux
root=/dev/hda3
partition=3
sysmap=/boot/System.map-2.6.9
read-only
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設定ファイル |
[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インストールの終わり)へ進んでインストールを完了させましょう。
|