Vine Linux 2.1CR for PPC を G4 Dual にインストール

SOFTWARE REPORT


Vine Linux 2.1CR

どうも、MacOS 9 がよく止まる・・・。

ということで、安定をもとめて Vine Linux 2.1CR こと、Vine Linux 2.1 Commercial Release に目をつけてみました。

MacOS X を待ってもよかったのですけど、PowerPC 用の Vine Linux 2.1CR には、強力な MacOS のエミュレーションソフトも搭載されているということなので、実験をかねて Vine Linux 2.1CR のインストールに踏み切ることにしました。

 

今回、インストールを行う Macintosh は、

  • CPU: PowerPC G4 450MHz: Dual Processors
  • Memory: 512MB (SDRAM)
  • Video Card: ATI RAGE 16MB (AGP)
  • Display: Apple Studio Display 15inch
  • HDD: 13GB ( in MacOS 9 )
  • HDD: 30GB ( for Vine Linux )
  • Mouse: Logitec Cordless MouseMan wheel

です。Dual CPU の PowerMac のいちばん安いやつ。はたして、この Mac に Vine Linux 2.1CR をインストールすることはできるのでしょうか。

 

準備

http://www.vinelinux.org/ に、PowerPC 版 Vine Linux の説明書があるので、まずはそれを見ながら準備をすることにします。

 

まず、インストール可能な Mac であるかどうかです。Dual G4 の Gigabit Mac ということで、おそらくインストールできるのでしょう。

キーボードは、G4 にはじめからついていた、Apple Pro Keyboard - JIS というファンクションキーつきのキーボード。マウスは、Logitec 社 の Cordless MouseMan Wheel という USB マウスを使用します。

ビデオカードは、ATI Rage 128Pro というもので、VRAM の容量が 16MB のもののようです。ディスプレイは、Apple Studio Display のスリムタイプです。

 

インストールは、IDE ( 内部 ATA2 ) の SLAVE に行おうと思います。MASTER にインストールされている MacOS 9 とのデュアルブートを狙います。

Mac と Linux のハードディスクは、今回の場合は物理的に別物なので、パーティションの分割は Linux のインストール時でいいようです。

 

インストールを開始するには、Vine Linux の CD-ROM から起動するようです。黒い画面に水色の文字が現れたら、install-g4 と入力するそうです。

 

セットアップ開始まで

さて、インストールしてみることにします。

CD-ROM ドライブへ、Vine Linux 2.1CR Binaries For PPC architecture という名の Disk 4 をいれて [ C ] を押しながら再起動して、CD-ROM から起動します。

 

Welcome to yaboot version 0.8
Wrong partition 1 signature
Config file read, 1921 bytes

Welcome to Vine Linux Installer!
Hit <TAB> for boot options.

boot:

黒画面が現れるので、ここで、

install-g4

と入力します。

 

しかし、うまくいきません。その後すぐに画面が真っ暗になってしまい、まったく動く形跡がありませんでした。何回かやってみましたが、まったく同じです。

 

とりあえず、Wrong Partition 1 signature という文字が気になりますので、インストールするドライブを Mac から設定しなおしてみることにします。

「ドライブ設定」 というツールをつかって、「Mac 標準」 フォーマットで初期化しました。

 

再起動して Vine Linux を起動してみましたが、改善されない様子です。

そこで、ためしに起動時のオプションを install にしてみると、なんと、Vine が次のステップへと進むではないですか。ほかに install-g4cube とかでも大丈夫のようです。

ただし、install-g4cube をつかうと起動直後のペンギンロゴの色が崩れるのが気になるので、ここは、install でやってみますか・・・。

 

セットアップ開始

Keyboard type

キーボードのコネクタの種類を選択するところです。この G4 は USB キーボードなので、USB を選択します。

Configure Keyboard

キーボードのキー配列の種類を選択します。Apple Pro Keyboard は、JIS 配列のキーボードなので、usb-jp-jis を選択します。

Keymap Loaded

これで、日本語キーボードのキー配列が使えるようになりました。

 

Configure Mouse

つづいて接続されているマウスの設定です。今回接続されているマウスは、Logitec Cordless MouseMan Wheel という、ホイールマウスです。一応、3 ボタンマウスといってもいいのでしょうか・・・。

あまり適切なものが見つからないので、Universal Serial Bus 3+ Button Mouse (USB) を選択することにします。

ついでに、Emulate 3 Buttons? という項目からチェックをはずします。カーソルキーの左右で、チェック項目までたどり着くことができます。

 

X Window が起動しました・・・。

しばらくして、Vine Linux Installer が立ち上がりました。

 

とりあえず、「Vine Linux X インストーラへようこそ!」 というウィンドウの、「続ける」 ボタンを押します。

すると、これからどのようなセットアップを行うかなどが書かれたテキストが現れます。ひととおり目をとおしたら、「続ける」 ボタンを押します。

 

ネットワーク設定

まずはネットワークの設定です。今回は DHCP サーバが存在しているので、それを利用することにします。「DHCP 設定」 ぼたんを押します。

つぎのホスト名で、コンピュータの名前を設定して、「保存する」 を押します。

 

つづいて、「X Linux Installer」 というウィンドウのお世話になります。

 

ドライブパーティション設定

PerlDisk の一番下で、インストールを行うドライブを選択します。/dev/hdb が、今回インストールしたいハードディスクドライブです。

いったん、最初に初期化した 30G くらいのディスクを削除したあと、Apple_Free Extra を切り分けます。

Apple_partition_map とか、Apple_Driver43 とかといったパーティションは消してはいけないようなので、念のため残しておくことにしましょう。

 

また、パーティション番号は、あとの起動設定で必要になりますので、Macintosh のシステムはどのパーティションにあるのか、また、Vine Linux はどのパーティションに入れるのか、などをメモしておくといいでしょう。

 

まずは、スワップ領域をつくります。

Apple_Free Extra を選択して 「追加」 ボタンを押すと、パーティションを追加するダイアログが現れます。ちょっと多すぎますけど、524280 ( 256.0M) にしました。下のプルダウンメニューからは swap を選択します。

つづいて、ルートパーティションをつくります。

先ほどのように、パーティションの容量とタイプを設定します。今回は、8388608 (4.0GB) のパーティションをルートパーティションに充てることにしました。

変更を保存して終了すると、コンピュータの再起動を要求されます。続きは再起動後ということになりますので、また CD-ROM から起動します。

 

パーティションの選択

パーティションの設定がおわったら、続いてインストールするパーティションを選択します。

先ほど用意したパーティションのマウントするポイントを入力します。ルートパーティション用のパーティションは、マウントポイントとして、/ を指定します。

初期化するならば、となりの フォーマット という項目にチェックを入れます。

複数のパーティションがある場合には、それぞれにマウントポイントを設定したあとで、最後に 「フォーマット、マウント」 ボタンを押します。

しばらくの間なにも応答がありませんが、パーティションの初期化などが行われているので、しばらく待ちましょう・・・。

 

パッケージ選択

初期化がおわると、インストールするパッケージの選択です。はじめから、(default) という項目が選択されています。適宜、インストールしたい項目を選択して、「インストール」 ボタンを押します。

 

root のパスワード設定

パッケージのインストールが終わると、システム管理者 root アカウントのパスワード設定です。2箇所のボックスにパスワードを入力して 「パスワード設定」 ボタンを押します。

 

お疲れ様です!終了しました

これで Vine Linux のインストールが完了したようですが、まだいくつか設定を残しているようです。

そして再起動後は、テキストに表示されているように 「Linux の設定」 から Vine Linux を起動できるように設定する必要があるようです。

 

とりあえず、「再起動」 ボタンを押して、Macintosh を再起動します。

 

Vine Linux を起動する

今回の Mac のような NewWorld とよばれる Macintosh の場合、yaboot というソフトウェアを使用して Vine Linux を起動することができるようです。

 

まず、MacOS を起動して、Vine Linux の CD-ROM から、必要なファイルをシステムフォルダへコピーします。

MacOS Utilities フォルダの中の、

  • yaboot_0.8
  • yaboot.conf
  • bootinfo.txt

の3つのファイルを、起動ディスクのシステムフォルダへコピーします。

念のため、Vine Linux のディフォルトイメージである、

  • Vine21_Default

も、CD-ROM の中から、システムフォルダへコピーしておきましょう。

 

つづいて、yaboot.conf のテキストを修正する必要がありますが、改行文字が Macintosh とは異なるため、改行コードを調整できるエディタが必要になります。

今回は、ミミカキエディット というテキストエディタをダウンロードして使用しました。

 

とりあえず、

image = hd:9,\\\\Vine21_Default

label = Default

root = /dev/hdb10

append = "video=aty128fb:vmode:16,cmode:32"

として、先ほどシステムフォルダへコピーした、Vine Linux のイメージファイルをつかって起動できるようにしてみることにします。

hd:9 というのは、ハードディスク ( 起動ディスク ) の 9 番目のパーティションという意味で、\\\\ というのは、そのなかのシステムフォルダをさすようです。

つまり、起動ディスクの 9 番目のパーティション。そこのシステムフォルダの中にある Vine21_Default というブートイメージを使用する。

という意味になるようです。

label というのは呼び名で、Yaboot が起動したときに、Default と入力することで、このブートイメージが呼び出されるようになります。

root = というところには、Linux のシステムをインストールしたときの、/ という部分にマウントしたパーティションを指定します。今回の場合は、hdb10 に / をマウントしてインストールしたので、このような設定になりました。

 

そして、bootinfo.txt も書き換えます。

12 行目と 17 行目の boot hd:X という部分の X を適切なパーティション番号に置き換えます。

"Booting Yaboot ..." cr " boot hd:9,\\yaboot_0.8" eval

 

"Booting MacOS ..." cr "boot hd:9,\\.tbxi" eval

 

これらのパーティション番号は、Vine Linux のパーティション設定のときの番号です。もしどのパーティションに Vine Linux をインストールしたか忘れてしまった場合は、Vine Linux 2.1CR の CD-ROM に付属している pdisk_j をつかって推測することができます。

 

これらのテキストファイルの編集が終わったら、Macintosh の再起動をかけて、[Command] + [Option] + [O] + [F] というキーを押しながら、Macintosh を再起動します。

[Command] キーというのは、りんごマークのついたボタンです。

 

そして、Open Firmware ( OF ) が起動したら、下のような手順で、起動情報の編集を行います。

setenv boot-command boot

setenv boot-device hd:9,\\bootinfo.txt

ここの hd:9 というのは、今回の Mac でいう、起動ディスクの 9 番目のパーティションなので、自分のコンピュータに合わせて変更する必要があります。

なお、この Open Firmware の場合、キーボード配列が US になっているので、コロン ( : ) を打ちたい場合には、JIS 配列では [SHIFT] + セミコロン ( ; ) となります。また円サイン ( \ ) は、大括弧 ( ] ) で入力できます。なお、Open Firmware では、円サインはバックスラッシュとして表示されます。

 

これらの入力が終わったら、

boot

と打ち込んで、Open Firmware から抜け出します。これで MacOS が起動できたようならば、とりあえずは成功です。少なくとも MacOS は起動します。

ほかに、mac-boot というコマンドを打てば、MacOS を起動することもできるようです。また、再起動時に [Command] + [Option] + [P] + [R] を押して起動すると、これらの Open Firmware の設定を、最初の状態に戻すことができるそうなので、どうしようもなくなったら、試してみるといいかもしれません。

 

さて、ではもう一度、Macintosh を再起動します。

今度は再起動時にスペースキーを押しっぱなしにします。先ほどの設定がうまくいっていたようで、セットアップ時のような yaboot が起動しました。

では、Default とうって、先ほど設定したブートイメージを選択してみます。

 

・・・、落ちました。

でも、なんだかハードディスクは読み込まれているようなので、もしかするとディスプレイ周りの設定が間違った可能性もあります。

もう一度、MacOS を起動して、yaboot.txt の値を変更することにします。とりあえず、append に設定してある値を消去してみました。

しかしながら、それでも画面が表示されないようです。

 

そこで、append を消した部分に novideo という記述を追加してみると、ようやく画面に文字が現れるようになりました。

image = hd:9,\\\\Vine21_Default

label = Default

root = /dev/hdb10

novideo

結局のところ、とりあえず起動できた設定は上のようになりました。

 

yaboot の調整

適切なビデオ設定を探ってみようと思いますが、せっかく画面が写ったので、Vine Linux のブートイメージがどこにあるのかを調べてみます。

ルートディレクトリにはそれっぽいのがないので、/boot を調べてみました。すると、vmlinux-2.2.17-0vl11 というものがありました。これです。

これを、yaboot.conf に設定してあげればよさそうです。

 

さて、ここでひとつ問題発生です。

ハードディスクの場所を指定するのに、hd:0 というように、起動ディスクの何番目という設定をしています。では、今回のように起動ディスクとは別のディスクを Vine Linux 用に割り当てている場合はどうしたらいいのでしょう。

いろいろと調べてみると、ここに指定できる名前はいろいろとあるようで、Open Firmware によって調べることができるようです。

 

[Command] + [Option] + [O] + [F] をおして、Open Firmware を起動したら、devalias と入力します。

すると次のような情報が得られると思います。

pci0 /pci@f0000000
agp /pci@f0000000
pci1 /pci@f2000000
pci2 /pci@f4000000
bridge /pci@f20000000/@d
pci /pci@f20000000/@d
fwx /pci@f20000000/@d/firewire@a
enetx /pci@f20000000/@d/ethernet@b
enet1 /pci@f20000000/@d/ethernet
fw1 /pci@f20000000/@d/firewire
cb /pci@f20000000/@d/cardbus@1a
magma /pci@f20000000/@d/cardbus@1a/pci-bridge/pci-bridge
usb0 /pci@f20000000/@d/usb@8
usb1 /pci@f20000000/@d/usb@9
mac-io /pci@f20000000/@d/mac-io@7
mpic /pci@f20000000/@d/mac-io@7/interrupt-controller
ide0 /pci@f20000000/@d/mac-io@7/ata-3@20000/disk@0
ide1 /pci@f20000000/@d/mac-io@7/ata-3@20000/disk@1
hd /pci@f20000000/@d/mac-io@7/ata-4@1f000/disk@0
cd /pci@f20000000/@d/mac-io@7/ata-3@20000/disk@0
zip /pci@f20000000/@d/mac-io@7/ata-3@20000/disk@1
ultra0 /pci@f20000000/@d/mac-io@7/ata-4@1f000/disk@0
ultra1 /pci@f20000000/@d/mac-io@7/ata-4@1f000/disk@1
scca /pci@f20000000/@d/mac-io@7/escc/ch-a
sccb /pci@f20000000/@d/mac-io@7/escc/ch-b
ki2c /pci@f20000000/@d/mac-io@7/i2c
ki2c-serial /pci@f20000000/@d/mac-io@7/i2c/cereal
via-pmu /pci@f20000000/@d/mac-io@7/via-pmu
rtc /pci@f20000000/@d/mac-io@7/via-pmu/rtc
adb /pci@f20000000/@d/mac-io@7/via-pmu/adb
adb-keyboard /pci@f20000000/@d/mac-io@7/via-pmu/adb/keyboard
adb-mouse /pci@f20000000/@d/mac-io@7/via-pmu/adb/mouse
wireless /pci@f20000000/@d/mac-io@7/@30000
ui2c /uni-n/i2c
ui2c-serial /uni-n/i2c/cereal
enet /pci@f4000000/ethernet
fw /pci@f4000000/firewire
keyboard /psuedo-hid/keyboard
mouse /psuedo-hid/mouse
nvram /nvram
sound /psuedo-sound
last-boot /pci@f4000000/ethernet@f
screen /pci@f0000000/ATY,Rage128Pd@10

この表の太字の部分が、hd: のところに設定できる文字列です。

今回の G4 の場合は、hd というのと ultra0 というのが同じ場所を指しています。ultra0 というのは、UltraATA インターフェイスの 1 番目のディスクという意味でしょう。

今回は、UltraATA の 2 台目のディスクに Linux が入っているので、ultra1 を使えばよさそうです。

さっそく下のような記述を yaboot.txt に追加します。

image = ultra1:10,/boot/vmlinux-2.2.17-0vl11

label = Linux

root = /dev/hdb10

novideo

ultra1 のディスクの 10 番目のパーティションは、Linux 用に初期化されているので、Linux と同じディレクトリ指定ができます。ブートイメージは、/boot/vmlinux-2.2.17-0vl11 でしたので、それをそのまま指定します。

 

そして、[SPACE] を押しながら Macintosh を再起動して、yaboot から Linux を選択すると、みごと Vine Linux 側のブートイメージを使用して起動することができました。

 

最終調整

どうも 16bit カラーらしく、X Window の色が今ひとつだったので、もう少し調節することにしました。

おそらく、novideo 設定にしてあるため、標準の 16bit カラーが適用されてしまったように思います。しかしながら、なかなかいい設定値がみつかりません。

そこでふと思い出したのが、Vine Linux をインストールしたときに選択した、install-g4cube のときにはとりあえず、画面の描画はなされていました。そこで、今回は、Vine Linux のホームページから、G4 CUBE 用の設定を流用してみることにしました。

append=" video=aty128fb:vmode:14,cmode:24"

さて、こうしてみると、起動直後のペンギンロゴが崩れてしまうところが残念ですが、X Window が起動してみると、とてもきれいに表示されるようになりました。

 

結局のところ、yaboot.txt の内容は以下のように落ち着きました。

init-message = "\nWelcome to Vine Linux!\nHit <TAB> for boot options.\n\n"

timeout=100

default=Linux

 

image = ultra1:10,/boot/vmlinux-2.2.17-0vl11

label = Linux

root = /dev/hdb10

append = " video=aty128fb:vmode:14,cmode:24"

 

image = hd:8,\\\\Vine21_Default

label = Default

root = /dev/hdb10

novideo

 

Dual CPU を試みる

さて、肝心の Dual CPU は実現できるのでしょうか。

Dual CPU を行うには、おそらく少しカーネル設定を変更する必要があると思われます。

 

まず、Vine Linux 2.1CR for PPC の CD-ROM の中にある、/SRPMS-newer-ppc/kernel-2.2.17-0vl11.src.rpm を、/usr/src/ ディレクトリへコピーします。

そして下のような手順で、カーネルの設定プログラムを起動します。

cd /usr/src

/usr/sbin/mkkpkg kernel-2.2.17-0vl11.src.rpm

しばらくすると、Input your kernel Revision [SRPM = 0vl11]: というようにたずねられるので、0vl11.1 というように、ドットのあとに、自分用のリビジョン番号をつけて、オリジナルと区別することができるようです。

今回は、0vl11.1 という名前を付けてみます。入力を行うとその設定が正しいかをたずねられますので、[y] を押します。すると、[Push enter to continue] と表示されます。[return] キーを押して、次へ進みます。

 

つづいて Do you want to build SRPM? (If no, only RPMs are built) [y/n] とたずねられますが、とりあえず [y] としておきます。

ふたたび、[Push enter to continue] と表示されますので、[return] を押して次へ進みます。

メニューが表示されたら、Platform support メニューの中の、

[*] Symmetric multi-processing support

にチェックを入れます。また、ヘルプによると、Character devices の欄の

[*] Enhanced Real Time Clock Support

にもチェックを入れないといけないということなので、ここにもチェックを入れておくことにします。

そして、設定を変更してメニューを終了すると、[Push enter to continue] という文字が表示されます。上にいろいろとメニューが表示されますが、特に問題がなければ、[return] を押して次へ進みます。

 

しばらくのあいだ待つと、出来上がった時間が表示され、[Push enter] という表示が画面に現れました。[retrurn] を押すと、いろいろなRPM が作成されます。

続いて、Do you want to clean up BUILD tree and sources? [y/n] とたずねられます。個人的には特にクリーンアップしてもらわなくてもいいので、[n] と答えてみることにします。

今度は、How do you want kernel-rebuild logs in /tmp? とたずねられます。/tmp ディレクトリに作成されたインストールログをどうしたいかをたずねているようです。ここは、[y] を押しました。

 

以上でカスタマイズされた RPM の作成が完了しました。続いてカーネルのアップグレードを行います。

cd /usr/src/redhat/RPMS/ppc/

 

init S

rpm -ivh kernel-2.2.17-0vl11.1.ppc.rpm

という手続きを行います。上で指定されている RPM は、先ほど mkkpkg ツールで作成したものです。init S というコマンドは、シングルユーザモードへ移行するというものです。

拍子抜けするぐらい、すぐにインストールが完了してしまいました。

/boot/ ディレクトリを見てみると、しっかりと vmlinux-2.2.17-0vl11.1 というブートイメージが作成されていることがわかります。

あとはこれを、ふたたび MacOS を起動して、yaboot.txt のブートイメージとして設定すれば、新しいカーネルイメージが呼び出されるようになります。

 

さて、再起動してみると・・・。

なぜか、Yaboot でイメージを選択した直後に、Open Firmware の画面に戻ってきてしまいました。いろいろと調べてみましたが、Dual に対応しているとか、していないとか、決定的な情報は見つからず・・・。

 

Dual CPU へ…

いろいろと調べていてたどり着いたのが、SuSE LINUX のページでした。

ページをいろいろと眺めていたところ、PowerPC 用であるということと、SMP に対応しているというような記事があったので、とりあえずこれで実験してみることにしました。

 

なにはともあれ、まず FTP サイトから SuSE LINUX 7.0 のダウンロードを開始します。

しかしながらダウンロードをはじめてみてびっくり。なんと最終的にまる1週間ダウンロードをしつづけるほどの容量でした。しかも途中、FTP サーバからおよそ半日、接続を拒否されてしまったりして・・・。

結局、ダウンロードこそ終了しましたが、エラーでダウンロードできないファイルが数十個、しかもそれらは、ふたたびダウンロードしようとすると、ファイルがないといわれてしまいます。ほか、Windows の特性か、一部のファイル名の大文字小文字が本来のものと食い違うなどから、ちょっと SuSE LINUX のインストールはやめることにしました。

しかしながら、まったく収穫がなかったというわけではなく、PowerPC 用のカーネルのなかに、k_smp-2.4.0-0.ppc.rpm というものがありましたので、それだけ強引に Vine Linux 2.1CR へインストールしてみることにしました。

 

gnorpm を起動して、Base/Kernel/k_smp-2.4.0-0 をインストールしました。

そして、/boot/vmlinux-2.4-SMP を起動時に呼び出されるように設定して、Linux を再起動しました。すると、起動時に一部だけ画面は乱れたものの、どうやら Dual CPU 用のシステムとして起動を開始したようです。

残念ながら、ログインプロンプト表示直後に、画面がついたり消えたりという状況になり、キーボードの応答が遅くなるという現象が発生してしまいました。なんとかログインすることこそできましたが、とても実用レベルではありません。

Kernel が 2.4.0 と、いっきに飛躍してしまったからでしょうか。しかしながら、CPU を二つ認識しているようで、すこし希望の光が差し込んだという感じです。

 

Dual CPU の可能性が見えてきたところで、再び Vine Linux のホームページへ立ち寄ってみることにしました。もしかすると、SMP 対応のカーネルが出てきているかもしれなかったので・・・。

FTP サイトをあさってみると、VineSeed のところに、SMP の文字が入ったカーネルがおいてありました。kernel-smp-2.2.18-0vl7.ppc.rpm がそれです。

一応、VineSeed なのでまだ実験段階なのでしょうけど、カーネルのバージョンも 2.2.18 であるし、これはうまくいきそうな予感です。さっそく、gnorpm からインストールを行いました。

そして、/boot/vmlinux.2.2.18-0vl7smp を起動時のブートイメージに設定して再起動をかけたところ、みごと Dual CPU での起動に成功しました。