0. はじめに
1. MkLinuxがサポートするハードウェア
2. 今回インストールを行なった環境
3. A/UXパーティションの準備
4. インストールの準備
5. MkLinuxのインストール
6. MkLinuxの起動
7. 最初のログイン(ネットワーク設定)
8. ネットワークの使用
9. CDROMの使用
10. Update960708へのバージョンアップ
11. X windowのインストール
12. rpmコマンドの使用
13. 終りに
MkLinuxはPower Macintosh(以下Macと略記)で稼働する Linuxである。しかしMkLinuxはただのLinuxではなく、OSF が作業しているMachマイクロ・カーネルと、その下で動く Linuxサーバから構成された、独特で興味深いOSである。こ のOSには Macユーザでなくとも興味を引かれるだろう。
また、MkLinuxはPowerMacのPowerPCネイティブ・モード で稼働するフリーなUNIXである点、Apple社の社員が作業し、 Apple社が積極的に配付をサポートしている点もMacユーザに は興味深い。(なお、MkLinuxの開発にはOSFの人間も参加し ている)
以前のApple社はMacOS以外のOSの振興にはあまり興味が なかったようである。しかし、最近の新体制ではオー プンな技術をサポートするらしく、MacOS以外のフリーなOS も積極的にサポートするようだ。
さて、MkLinuxであるがMkLinuxは NetBSD/mac68kやApple純正UNIXであるA/UXと同様に、MkLinux稼 働後は純然たるMkLinuxマシンになってしまう。
本稿では、MkLinux_DR2(Developer Release 2)をも とに、いくらかのアップデイトも解説する。この MkLinux DR2はNFSも使用できる。また、X Window Ver.11 R6 も含まれ、PowerMacを実用的なUNIXマシンとして使用するの に十分な機能をもっている。
サポートされるハードウェアについてMkLinux DR2 の「ReadmeFirst」ファイルをもとに述べる。
Power Macintosh 6100システムである。
Power Macintosh 7100システム
Power Macintosh 8100システム
PowerComputing 100 & 120
DR2では、オン・ボード・ビデオ、HPV、PowerMac/AVのAVカードがサポート
される。
画面モード3万2千色(16bit/pixel)と画面モード1600万色(32bit/pixel)はサ
ポートされた。 X windowはこのモードで走行する。しかし、カラーマップの
設定に問題がある。
PowerMac8100/100のようにSCSIバスを2つ持ったシステム では、SCSI IDのマップは論理的に一つに統合される。別々 なSCSIバス上でも、同じSCSI IDを持つデバイスはサポート されない。内部 SCSIバス上に、同じSCSI IDのデバイスがな いときのみ、外部デバイスがアクセス可能である。また、シャ ドウ・ドライブはサポートされない。
現在は、SCSIハードディスクとCDROMだけがサポートされ る。Iomega社のZip driveやSyquest社のEZStorageはテス トされていない。
SCSIバス上のディスク装置はMkLinux上の"sd"という文字 列から始まるデバイス・ファイルに対応している(デバイス・ ファイルは/devにある)。各ディスクは'a'から'g'の文字で、 SCSI ID番号0から6を示す。各パーティションは番号で示さ れる。例えば、MkLinuxのデバイス・ファイル/dev/sde6は SCSI ID 4のディスクのパーティション6をあらわす。 (パー ティションはMacのユーティリティとは異なり、1から勘定を はじめる)
ADBデバイスは、Apple標準のマウスとキーボードがサポート
される。またApple社のADBプロトコルを満たす3ボタン・マウスの使用が可能
である。筆者は Logitech社の3ボタン・マウスでの動作を確認した。 (後に詳述)
トラックボール等は動かないかも知れない。Xwindow使用中は、それらのデバ
イスを外しておいた方が良いかも知れない。
LinuxPPCチーム( www.linuxppc.org )が作ったmke2fsコマンドは、 1K デフォールト・ブロック・サイズに代り、 4K デフォールト・ブロック・サイズをサポートするように変更した。現在、 MkLinuxで4K block-sizeファイルシステムを使用することは、問題がある。1K ブロック・サイズを使用することが強く要請される。
いかなるタイプのパーティション(HFS, MkLinux, Driver partitions等な ど)も8までしかサポートされない。 9番以降のパーティションはMkLinuxからは 使えない。 Macはいくつかのパーティションを予約するので、ユーザのパーティ ションとして使用できる実際の限界は、4か5である。
MkLinuxはパーティション番号を1から数えはじめる。 Apple HD SC Setup のようなユーティリティは0から数えはじめるので、注意すること。
フロッピー・ディスクはサポートされない。
MacのHFSボリューム(Macのファイル・システム)をアクセ
スするために、いくつかのコマンドがある。
ひとつのマウントされたMacintoshボリュームのみのファ
イルがアクセスできる。 SCSIチェーンの上のMacintoshボリュー
ムのどれについても、そのやりかたでアクセスできる。
Ethernetはサポートされている。問題なく使用できる。
DR2では、シリアル・ラインがサポートされ、PPPもできる。
また、ApplTalkもサポートされ、AppleShare、AppleTalkプリンタが使用できる。
ここで、今回、インストールを行なった筆者のマシン構成 を述べる。
CPU | Power Macintosh 6100 AV |
2次キャッシュ | 256KBytes |
メモリ | 40MBytes |
キーボード | Apple Keyboard II |
マウス | ADB Mouse(Apple社純正マウス), Logitech社 Codeless Mouse Man, Model#0106 (3ボタン・マウス) |
CDROMドライブ | CD300i(本体内臓Apple社純正) |
Ethernet I/F | Ethernet(本体内臓) |
HDD | 内臓720MBytes(MacOS専用) 外付1GBytes(MkLinuxのみをインストール、 |
Macのシステム・ ソフトウェア | 漢字TALK7.5 |
今回のインストールで別途用意したソフトウェアは、
StuffIt Expander 3.5.1である。
Silver lining 5.5.4
今回、StuffIt ExpanderはBinHex形式(*.hqxとなっている
ファイル形式)のデコードとStuffIt形式の解凍のために使用
した。
(BinHexはインターネットで事実上標準のバイナリ
->ASCIIエンコード形式。StuffIt(sit)形式はインターネッ
トで事実上標準のアーカイブ&圧縮形式)
BinHexのデコードとsitの解凍ができればどんなソフトウェ
アでも良い。例えば fetchというMac用ftpクライアント・
ソフトウェアは、ftpによるファイル読み込み中に、 BinHex
デコード、sitの解凍を同時に自動的に行える。
Silver liningはMac用の非常に有名なSCSI HDDフォーマッ ト・ソフトウェアである。MkLinuxにはHDD上に A/UX(Apple 社純正のSystemV系UNIX)パーティションが必要である。今回 A/UXパーティションを作成するためにSilver lining を使 用した。(最新版が1万円程度で売られているので、入手 は非常に簡単だろう)
A/UXパーティションの作成方法、メンテナンス・ソフトウェア等については 別文書 「MacOSでA/UXパーティションを作成する」 に詳述したので、そちらを参照頂きたい。
使用したMacOSは漢字TALK7.5である。かなり古い漢字TALKである。 MkLinuxのためには、なるべく新しいMacOSを使用した方が、 良い気がする。英語版MacOS7.5も起動に試用してみたが、当然ながら、 特に問題は無いようである。
まず、HDDにパーティションを用意する。MkLinuxは、 MacOSの管理する世界 とはまったく別な世界で動く。ファイル・システムもまったく違う物を扱う。
MkLinuxはApple純正UNIXであるA/UXのパーティションを流用する。これは、 NetBSD/mac68kと同様である。
A/UXパーティションの準備方法は 別な文書 とした。 そちらを参照頂きたい。
MkLinuxはISO9660 RockRidge形式のCDROMをマウントする ことができる。 今回は、ISO9660 CDROMからのインストールを前提として記述 する。
まず、MkLinux専用のインストール・ソフトウェアを準備 する。
MacOSで、CDROMをマウントし、
:MkLinux_DR2:FullRelease:のフォルダを開く。ReadmeFirstやInstallNotesもここに ある。
このフォルダには、MkLinux_DR2.sit.binと MkLinux_DR2.sit.hqxがある。内容は両者とも同じ物である が、通常はMkLinux_DR2.sit.binはftpや通信ソフトによる転 送が前提となっている。
今回はStuffIt Expanderによって、MkLinux_DR2.sit.hqx を展開する。MkLinux_DR2.sit.hqxをStuffIt Expanderにか けると、必要なファイル群が得られる。 (場合によっては、 MkLinux_DR2.sitができる場合がある。その場合は MkLinux_DR2.sitをもう一度、 StuffIt Expanderにかける)
得られるファイルは
である。Readme First
How to Install MkLinux
install MkLinux(Macアプリケーション)
MacFiles(Macファイルの入ったフォルダ)
MkLinuxFiles(Macアプリケーションと巨大なtarファイルの入ったフォルダ)
MkLinuxFiles:mklinuxfs.tarは、MkLinuxのファイル・シ ステムに展開されるすべてのものが、一つになったtarファ イルである。このファイルだけで、gccなど通常のコマンド などもすべてインストールできる。
MkLinuxの最初のログイン時には、同時にホスト名 の設定、ネットワーク設定などをしなければならない。Mac のホスト名、IPアドレスをネットワーク管理者と相談の上、 決めておかねばならない。また、ネットマスク、ブロードキャ スト・アドレスはネットワーク管理者に尋ねて正しい値を確 認しておくこと。
A/UXパーティションはできた。必要なファイルも揃った。 ネットワーク情報も確認できた。ということで、いよいよ、 MkLinuxのインストールである。
以下、インストール手順を列挙する。
*** You have requested do to an "almost" automated installation of the MkLinux O/S for Power Macintosh. You should have partitioned the disk in such a way as to have - An A/UX Root partition of at least 100 MBs. An A/UX Swap partition of at least 32 MBs. An A/UX Usr partition of at least 200 MBS.
A/UXのrootパーティションが100MBytes,A/UXのSwapパー ティションが32MBytes,A/UXの/usrパーティションが 200MBytes,必要だと言っている。
If the drive does not have the above partitions, please QUIT (CMD-Q) out of this program and partition the disk using the above guide lines.
それだけの容量がない場合は、CMD-Qで終了すること。
Make sure you know the SCSI ID of the drive you want to install on. **** WARNING, THIS PROGRAM IS NOT KIND TO ANY EXISTING DATA ON THE PARTITONS TO BE INSTALLED.
インストールを行うディスクのSCSI IDを確認すること。
****インストールされるパーティションの内容について関知しない。
続けるか?
「y」 と答える。
MkLinuxをインストールするドライブのSCSI IDは?
筆者の場合「1」番であったので、「1」と答えた。
*** A/UX (MkLinux) partitions of SCSI Drive 1 #03 Blocks : 414000 (202.15 MBs) Name < Root file system > #04 Blocks : 65200 ( 31.84 MBs) Name < Swap > Partition 3 (size 202.15 MBs) looks to be the appropriate partition for < / >
パーティション3が"/"のようだ、これでよいか?
「Y」と答える。
今回、筆者はハードディスク上にMacOSパーティションを
作らなかったので、パーティション3が"/"となった。"/"の
前にMacOSが入っていれば、この番号は、後にずれるであろう。
Partition 4 (size 31.84 MBs) looks to be the appropriate partition for < swap >.
パーティション4がswapのようだ、これでよいか?
「Y」と答える。
"/usr"を"/"と別に持つか?
今回は持たないので「n」と答えた。
他にもファイル・システムを作るか?
「n」と答える。
There are 2 file systems defined. FS Linux Device Size / /dev/sdb3 202.15 MBs on partition 3 swap /dev/sdb4 31.84 MBs on partition 4
2つのファイル・システムが決められた。
これで良いか? 「y」と答える。
THIS IS YOUR LAST CHANCE to abort. If you choose to continue the following partitions will be destoryed and replaced with MkLinux filesystems. ANY EXISTING DATA ON THESE PARTITIONS WILL BE LOST. THIS INCLUDES PREVIOUS INSTALLED MKLINUX FILESYSTEMS.
これが最後のチャンスだ、実行しても良いか? 「y」と答える。
この後、すべて自動的にインストールが行われる。
具体的には、ファイル・システムの生成、tarファイルの
展開、Macファイルのインストールである。
特に注意すべきこととして、Macファイルは、
「機能拡張フォルダ」にがインストールされている。
MkLinux Booter(機能拡張)「コントロール・パネル・フォルダ」に
Mach Kernel
MkLinux(コントロール・パネル)
MkLinuxのブートをコントロールするために、"MkLinux(コ ントロール・パネル)"を使用する。
"Mach Kernel"は、Machのマイクロ・カーネルそのもので ある。MkLinuxのブート時には、このMachカーネルが読み込 まれて動作し、各種サーバをたちあげる。
なお、今回の構成の場合、インストールの所要時間は約30 分程度であった。
いよいよ、MkLinuxを起動しよう。
「コントロール・パネル」から、MkLinuxを選ぶ。す ると、図2の様なコントロール・パネルが現れる。ここで MkLinuxを選ぶと、以降Macをブートする度に、MkLinuxブー ト・セレクタが出現し、MkLinuxのブートが可能である (MacOSを選択することも可能)。
ここで、システムをリブートすれば、MkLinuxブート・セ レクタ(図3)が現れる。ブート・セレクタは10秒でタイムア ウトし自動的にMkLinuxのブートに移る(MacOSを起動する必 要がある場合は、ここでMacOSを選択すればよい)。
以降、UNIXらしい黒地に白のキャラクタ・ベースの画面が フルスクリーンになり、 MkLinuのブートの様子が表示され る。特に問題は出ないだろう。
「login:」プロンプトが表示されれば、MkLinuxが起動し ている。
さて、MkLinuxコントロール・パネルの「Custom」ボタン をクリックすると、SimpleTextが起動し、以下のような内容 のファイルを開く。(インストール直後には、この作業は必 要ない)
# 'rootdev' defines the location of the root device. # This is the only supported option (at the moment). # rootdev=/dev/sdb3
ここで、/dev/sdb3がLinuxをブートするディスクとパーティ ションを示している。ここで、'b'がSCSI IDが1、'3'がパー ティション3番であることを示す。ディスクのSCSI IDを変更 したり、パーティションがずれた場合には、「Custom」ボタ ンを押下し、これらの項目を変更する。
インストール直後は、これらのディスク、パーティション 情報は、インストーラにより、正しくセットされているので、 SimpleTextを終了するだけでよい。
「login」プロンプトに対し、"root"と入力し、root でロ グインする。ただし、なぜかApple Keyboard IIでは、キー ボードがCapsロックのかかった状態になっている。「Capsロッ ク」を2度押下して、 Caps ロック状態を解除して、"root" と入力しなければならない(しかし、例えばTEC Partsの Macwayキーボードであると、この現象は出ない)。
rootでログインすると、先述のとおり、ネットワーク設定 をしなければならない。
以下、ネットワーク設定の対話である。
ネットワーク設定をするか? 「y」と答える。
ホスト名を入力? ここでは"axeav"と答えた。
ドメイン名を入力? ここでは"axe-inc.co.jp"と答えた。
プライマリ・ネームサーバのアドレスを入力?
ここでは何も入力しなかった。(「リターン」キーのみ押下)
IPアドレスを入力? ここでは"192.47.226.22"と答えた。
ブロードキャスト・アドレスを入力? ここでは"192.47.226.255"と答えた。
ネットマスクを入力? ここでは"255.255.255.0"と答えた。
ゲートウェイ・アドレスを入力?
ここでは何も入力しなかった。(「リターン」キーのみ押下)
hostname is axeav IP address is [192.47.226.22]; broadcast address is [192.47.226.255] netmask is [255.255.255.0]; gateway address is [none] domain is [axe-inc.co.jp]; namserver address is [none] OK to set up networking with these values? [y/n, default=y] >>> y
これでEthernetも使用できるようになった。
などとして、他のホストにパケットが届くことを確認できる。[root@axeav /root]# ping 192.47.226.1
必要に応じて、/etc/hostsにホストを登録すれば、ネット ワーク・コマンドでホスト名で指定できる。
次に、タイムゾーンの設定をしておこう。
すでに/etc/localtimeが存在するのでそれを消す。次に、
とする。これで、タイムゾーンが日本に設定される。ただ し、 dateコマンドなどでは、9時間進んだ時間が表示される。 MkLinuxでは、Macの時計をグリニッジ標準時に設定しておか なければならないようだ。[root@axeav /etc]# ln -s /usr/lib/zoneinfo/Japan /etc/localtime
あとは、vipwコマンドでユーザを追加するしたりするのは、 通常のUNIX と同様である。
MkLinuxをシャットダウンするには、MkLinuxはEthernetが使用できる。
telnetもftpもちゃんと使用できる。ただし、rloginはパ スワードが表示されてしまう。また、rloginはあまり調子が 良くない。どうやらあまりテストされていないようだ。
また、MkLinuxはNFSも使用できる。
NFSの調子が悪いような場合には、NFSマウント時にオプションで、
readサイズと writeサイズを両者とも1024にすると調子良く使えるようだ。
具体的には、
[root@axeav /]# mount -t nfs -o rsize=1024,wsize=1024 serv:/usr1 /usr1とする。
serv:/home1 /home1 nfs rw,rsize=1024,wsize=1024,soft 1 0と記述すれば、MkLinux起動時に自動的にマウントされる。
筆者は、NFSファイル・システムにX Windowやソースを置いている。
CDROMはISO9660 RockRidge形式でも、Mac HFS形式でも使
用できる。ただし、マウントして、通常のファイル・システ
ムとしてアクセスできるのは、ISO9660 RockRidge形式だけ
である。
ISO9660 RockRidge形式をマウントするには、
[root@axeav /]# mount -t iso9660 -o ro /dev/cdrom /mntとする。
/dev/cdrom /cdrom iso9660 ro 0 0と記述しておけば、
[root@axeav /]# mount /cdromとするだけで、cdromがマウントできる。
Mac独自のHFS CDROMは、ファイル・システムとしてアクセ
スするのではない。ちょうどフロッピ・ディスクのmtools
の様に、各コマンドがHFSのファイル構造をたどって、ディ
レクトリ表示やファイル読み出しを行う。
HFS CDROMをアクセスするには、まず、
[root@axeav /]# hmount /dev/sdd3とする。この場合、CDROMのSCSI IDが4、HFSパーティショ ン番号が3だと仮定している(内臓CDROMドライブを使用し、 標準的なHFS CDROMの場合はこの値でよい)。 ディレクトリをみるには、
[root@axeav /]# hdirとする。
[root@axeav /]# hcd :fooとする。
[root@axeav /]# hcopy bar /tmp/とすると。/tmp/barができる。
カーネルをUpdate960708へのバージョンアップするには、 2つのファイルに関して行う。一つは、Linuxファイル・シス テム上の /mach_servers/vmlinuxを新版に置き換える。 もう一つは、Macファイルの"Mach Kernel"を新版に置き換える。
NFSが使える場合にも、そのままNFS上のファイルをgunzip コマンドで/mach_servers/vmlinuxへ伸長すればよい。
Mach KernelはMacファイル・システムのファイルなので、 MacOSで作業する。
StuffIt Expanderで
:MkLinux_DR2:Updates:960708.mklinux:Mach_Kernel.hqxを
デコードすると、新しい"Mach Kernel"が得られる。そのファ
イルをシステム・フォルダ内の「機能拡張」フォルダへドロッ
プする。「古いファイルと置き換えるか?」というダイアロ
グが出るので、「OK」を選んで、置き換える。
HFS CDROMから、X windowの新版を読み込むには、
[root@axeav /]# hcopy :MkLinux_DR2:Updates:960708.mklinux:X11R6.bin.tar.gz /tmpとする。
[root@axeav /]# tar -C / -zpxvf /tmp/X11R6.bin.tgz
展開が終ったら、すぐにX windowが使用できる。
/usr/X11R6/binにcdした後、
[root@axeav /usr/X11R6/bin]# xinitとすれば、X windowが起動し、xtermが開く。
[root@axeav /usr/X11R6/bin]# twm&とすれば、twmウインドウ・マネージャが起動する(図4)。
X windowをシャットダウンするには、最初に開いたxterm を終了する(具体的にはxterm上のbashをexitすればよい)。
あとは、‾/.profile, ‾/.cshrcなどのpathに "/usr/X11R6/bin"を付け加えておく。
もし、パーティションが一杯で、筆者と同様、NFSを使用 する場合は、X11R6の展開前にNFSファイル・システムのディ レクトリに向かってシンボリック・リンクを張っておく。具 体的には以下の通り。
NFSファイルシステムが、/usr2にマウントされていると する。
[root@axeav /]# mkdir -p /usr2/mklinux/X11R6とし、展開先ディレクトリを作る。
[root@axeav /]# ln -s /usr2/mklinux/X11R6 /usr/X11R6とし、シンボリック・リンクを張る。同様に、 /usr/local/bin等もNFS先のファイル・システムへ作れば、 ローカルなハードディスクは、少しでよい。
X11R6.bin.tar.gzには、X windowサーバ、クライアントの バイナリだけではなく、X11R6のライブラリ、フォントなど もすべて含まれている。このアーカイブを展開するだけで、 X11R6 が使用できる。(ktermは含まれていないが、漢字フォ ントは含まれているので、他機種のktermをMkLinuxのXサー バに表示して、漢字を読むことはできる)
960708版のX windowは3ボタン・マウスを認識する。現在、 MacのADB用3ボタン・マウスは Logitech社製のものがほとん どであろう。筆者もLogitech社の無線式3ボタン・マウスを 入手して試用した。結果は非常に好調である。3ボタンによっ て、X windowがワークステーションと同様に使用でき、その 価値は高い。
3ボタン・マウスがない場合は、適当なキーを中ボタン、 右ボタンに割り当てる事ができる。/usr/X11R6/bin/X11が shell scriptなので、そのファイルの最後の方にあるxinit の起動行に
xinit -geometry 60x8+0+0 -sb -fn 6x10 -T "console" -e $X11START ¥ -- ${X11BINDIR}/Xmklinux -optionmouse -middlekey 130 -rightkey 128 ¥ nologo v $* >> $DEBUGLOG 2>&1というように、 -optionmouse -middlekey 130 -rightkey128 を付け加えればよい。ここで、130や128はキーコードであ る。しかし、このキーコードによる指定は、キーボードのハー ドウェアに依存しているらしく、Apple Keyboard IIと Macwayでは同じように指定できない。筆者の場合は、3ボタ ン・マウスが快調なので、この問題は深く追求していない。
なお、AVカードを3万2千色モードで使用すると、 X windowの表示色がおかしい。256色モード以下ならば、特に 問題無いようだ。
rpmとは、 Red Hat Package Managerである。CDROMやイン ターネット・アーカイブにある*.rpmファイルには rpmコマ ンドを適用する。
CDROMの
:MkLinux_DR2:FullRelease:MkLinuxFiles:rpm.bin:には、
多くのパッケージが入っている。これらを展開するには、上
記と同様にファイルをCDROMより取り出し、その後rpmコマン
ドを使用する。(rpm -i とする)
また、:MkLinux_DR2:Updates:960605.hfsutils: などにも アップデイトが入っている。
ここでは、Updates:960605.hfsutils:の hfsutils-1.13b-1.ppc.rpmをアップデイトしてみる。
[root@axeav /]# rpm -U hfsutils-1.13b-1.ppc.rpmとすると、hmount等のコマンド、マニュアル類がアップデ イトされる。
ついにPowerMacでもフリーなUNIXが利用できるようになっ
たかと感慨深い。
MkLinuxはOSFのMachカーネルが動き興味深い。
また、PowerPCのUNIXマシンというのも、巷では珍しいで
あろう。
PowerMac6100@76MHz(2ndキャッシュ付)上で、 dhrystone1.1を用いて計測した結果(cc -O4 -DREG=register)、 100000程度であり、 57VAX-Mips程度の 性能となっている。PowerPC搭載のUNIXマシンとして、妥当 な性能であろう。ちなみに筆者が使用しているIBM社の RS/6000 Model40はPowerPC601@66MHzで、60VAX-Mips程度で ある(OSはAIX、ccはIBM社製を使用)。
このMkLinuxを、まだ使い込んではいないが、いきなりカー ネルがコケてしまうようなことはなく好感がもてる。
Apple社も新体制になり、新しい技術に期待のもてる PowerMacである。MkLinuxで使うか、MacOSで使うか、Macユー ザに嬉しい悩みが一つ増えた。