Titanium G4 -- How to boot LinuxPPC or Mac OS
※ここに記した手順は、LinuxPPC の起動法、カーネルの入れ替えについて、あくまでも私の備忘録として記したものです。それぞれの方の企図する環境によって手順は大きく変わりますので、参考程度にお考えください。
※ 表記のなかで、コマンド類はファイル名を省略している場合もあります。
※ ファイルなどの入手先は、まとめて末尾に記してあります。バイナリのカーネル・モジュール類は、私がビルドしたものが Jeff Carr 氏の配慮で LinuxPPC.org にて公開されており、それを使っています。
※ このメモは随時、アップデートしていきます。03/11/01 第1版
【起動方法について】
Linux の起動について、まず yaboot を使う方法を紹介する。
<Mac OS 側での準備>
○HFS(標準)パーティションを確保する。
起動時に必要な情報を納める場所で、「bootstrap」などと名前をつけておく。容量は 10MB 程度以上あればよい。新たに HFS 標準パーティションを準備するのは面倒だが、Mac OS 側と Linux 側とのファイルのやりとりに使えるので、多少、大目に(たとえば CD-ROM 1枚分にあたる 600~700MB)確保したほうがよい。
○LinuxPPC 2000 Q4 を Mac OS 側でマウントし、System Folder、Linux Kernels フォルダを HFS パーティションにコピー。
○Linux 側からも変更できるように、System Folder/yaboot.conf ファイルの改行コードを「LF(unix)」にしておく(J-edit などで)。
○System Folder/yaboot.conf ファイルの末尾に、次の一行を加えておく。ブート時に Mac OS を選べるようにするため。
device = hd:X,\\:tbxi <-- [X] は、HFS パーティション(bootstrap)の番号
label = macos
<起動カーネルの変更>
○カーネルは、Linux Kernels フォルダに入れる。
○たとえば、http://ftp.linuxppc.org/kernels/titanium にあるカーネル(vmlinux-[version no.].gz)をダウンロード、解凍して、入れておく。
続いて、yaboot.conf に、次のような行を書き入れる。
label = Linux
image = vmlinux-2.4.3-pre3 <-- カーネルのファイル名
root = /dev/hdaX <-- [X] は root のパーティション番号
video = aty128fb
<yaboot.conf でデフォルト OS を設定>
○yaboot.conf の 'default =' の後に、label を入れると、それがデフォルトの OS/カーネルになる。
<起動時の切り替え>
○Mac OS で、起動ディスクを HFS パーティション(bootstrap)に切り替える。
○ブート直後、リターン・キーを押すとデフォルトの OS が起動する。
○ブート直後、タブキーを押すと、OS/カーネルを設定するメニューに入る。
○一回、Mac OS を起動した後、再び yaboot のメニューが出したい場合は、Mac OS 側で、起動ディスクを bootstrap に選び直す。
【yabin を使った起動方法】
ybin は、Mac OS と Linux の起動を Linux 側から切り替えるシステムを提供する。さながら i386 系 Linux の Lilo のような使い勝手のブートローダ・システムです。
<HFS パーティション(bootstrap)の準備>
○起動時に必要な情報を納める場所で、「bootstrap」などと名前をつけておく。容量は 10MB 程度以上あればよい。新たに HFS 標準パーティションを準備するのは面倒だが、Mac OS 側と Linux 側とのファイルのやりとりに使えるので、多少、大目に(たとえば CD-ROM 1枚分にあたる 600~700MB)確保したほうがよい。
<pmac-utils のアップデート>
○デフォルトのままでは nvsetenv の ヴァージョンが古く、Open Firmware の設定値をコントロールできない。そこで pmac-utils をアップデートする。
○ファイルの入手先は ftp://penguinppc.org/users/hollis/。
○ソースファイル pmac-utils-2.0-2.src.rpm を使う場合は、rpm --rebuild pmac-utils-* で /usr/src/redhat/RPMS/ppc ディレクトリに .ppc.rpm ファイルが作成されるので、rpm -Uvh pmac-utils-* でインストールする。
○pmac-utils-2.0-2.ppc.rpm ファイルを入手したら、rpm -Uvh pmac-utils-* でインストール。
○ついでに、同じサイトから、trackpad-0.1-2.ppc.rpm を入手しておく。rpm -Uvh でインストール。trackpad notap でトラックパッドのタッピングを抑止できる。
<ybin のインストール>
○ファイルの入手先は http://www.alaska.net/~erbenson/ybin/ybin-0.31.tar.gz。
○次の手順でインストール
tar zxvf ybin-*
cd ybin-*
make install
※デフォルトでは /usr/local/sbin に ybin 関係のコマンドが入る。パスが通っていないので注意。
※ln -s /usr/local/lib/ybin/ofboot /boot/ofboot.b を念のため実行した。本質的な問題ではない。
<bootstarp の作成>
○/etc/yaboot.conf を編集する(この内容が、ybin コマンドによって bootstrap パーティションにインストールされる。Lilo でいえば /etc/lilo.conf ファイルで、書式もよく似ている)
○編集にあたっては、man yaboot.conf の EXAMPLES を参照する。注意すべき設定は、次の通り。
boot=/dev/hda2 <-- bootstrap パーティションの番号に変える
defaultos=linux <-- Mac OS をデフォルトにしたければ、macos に変える
image=/boot/vmlinux <-- 使いたいカーネルのファイル名に変える
root=/dev/hda3 <-- ルート・ファイルシステムのパーティション番号に変える
partition=3 <-- ルート・ファイルシステムのパーティション番号を入れる
macos=hd:9 <-- Mac OS のパーティション番号を入れる
※image... 行から partition... 行まではワンセットになっていて、label 行によってラベリングしてカーネルを切り替えられる
○続いて bootstrap パーティションを作成する。/usr/local/sbin/mkofboot -v を実行。
※そのパーティションをフォーマットするので注意
<起動カーネルの変更>
○/etc/yaboot.conf を編集して、起動するカーネルや諸条件を変更できる。
○たとえば、http://ftp.linuxppc.org/kernels/titanium にあるカーネル(vmlinux-[version no.].gz)をダウンロード、解凍して、入れておく。
続いて、yaboot.conf に、次のような行を書き入れる。
image = vmlinux-2.4.3-pre3
○変更後、必ず /usr/local/sbin/ybin -v を実行して、設定内容を bootstrap パーティションに反映させる。
<起動方法>
○起動後、プロンプトで m をタイプすると Mac OS、l をタイプすると Linux が起動する。
○不具合があったら、起動ボタン押下直後、Command + Option + p + r を同時に押し続け、2度以上、起動音が鳴ったら放す(PRAM クリア)。その後、Linux を起動したい場合は、起動ボタン押下直後、Command + Option + o + f を同時に押下し、Open Firmware のインタプリタに入って、setenv boot-device hd:X,:tbxi (X は bootstrap のパーティション番号)を入力し、リターン、再起動する。
○また、別の方法として、起動時に Option を押下すると、起動可能なアイコンが出てくる。これをマウスで選択する。
※PB G4 Ti では、マウスクリックが効くようになるまで長い時間がかかる。また Linux のアイコンが出ない。原因究明中。
※PB G4 Ti では、USB マウス(Kensington Mouse-In-a-Box Optical Pro)を差していると Mac OS の起動途中で止まる場合がある。原因究明中。
<ファイルの入手先>
*1) 私がコンパイルした Ti G4 向けのカーネル、モジュール類、XFree86 の設定ファイルが
http://ftp.linuxppc.org/kernels/titanium で公開されている。
Titanium Linux How-to ページへ戻る
PowerBook & Linux ページへ戻る