NetBSD/mac68k (以下MacBSDと略記)はMPUに680X0を使用し たMacintosh(以下Macと略記)のためのNetBSDである。
NetBSD
は、先進的な実験が行われているBSD系OSのひとつ
である。
BSD系OSはインターネット・プロトコル (TCP/IP)を広めるのに貢献したOSであ
り、現在もインターネットの先進的実験は主にBSDを使用(改造)して行われてい
る。 NetBSDは 4.4BSDLiteをベースとしている。
このNetBSDがMacでも動く。移植を行ったのは、Allen Briggsらを中心とするAliceというグループである( MacBSDのホームページ )。
本文書は、NetBSD-1.2をMac68kにポーティングした
NetBSD1.2/mac68kについて述べる。
また、筆者らは、過去に本文書と似た内容の文章をUNIX USER誌に発表し、 MacBSDを紹介している。
竹岡によるNetBSD1.0/mac68k(UNIX USER誌 1995/Jun)
小前によるNetBSD1.1/mac68k(UNIX USER誌 1996/Oct)
以下にMacBSDの概要を列挙する。
MacBSDはMacOSの代りとなって動作するソフトウェアで、 MacOSと同時には動作できない。この点は、MkLinuxと同様で ある。MacOSと共存できるUNIXライクなシステムはMacMiNTと MachTenが知られている。
MacOSが使えなくなってしまうことは、熱心なMacユーザに とっては、大変に残念なことである。だが、本物のBSDはそ れなりに楽しめるであろう。インターネットの先進的な機能 を試したり、インターネットのゲートウェイを構成したりで きるので、MacOSをなくした代りに得られる価値は非常に大 きい。一般に流布しているインターネット関連のフリー・ソ フトウェアの類は、BSD系OS用に作られていることが多い。 これらのMacBSDへの移植は容易であろう。また、インターネ ットのゲートウェイやファイア・ウォールを旧いMacで実現 できることは、Macを大量にかかえるサイトには、朗報では ないだろうか。
NetBSD1.2/mac68kは、NetBSD1.0/mac68kと比べて、以下に挙げるよ うな進展があり、かなりワークステーションらしく使えるよ うになった。
NetBSD1.2/mac68kは、かなり安定して動作している。現在のMacBSDは十二分に 実用に耐える。
MacBSD 1.2 のドキュメントによれば、インストールには、最小限4MBのメモ
リと60MB程度のディスク容量が必要である。
実用的に使うには、少なくとも8MB のメモリと200MB-300MBのディスク容量が必
要だと記述されている。
サポート機種については、
MacBSDのmachine status pageに詳しい。
サポートされる機種、デバイス等は、以下の通り。
PowerBook 180, Color Clasic, LC520, PowerBook 160/165c/170/145, Classic II, Performa 200シリアル・コンソールのみ、内蔵Ether動作、SCSI動作不可の機種:
Quadora 605, LC475, Performa 475/476サポートされてないが、よくされる質問:
なお、本稿のために筆者が使用した構成は、
である。
- 本体:
- Macintosh SE/30 (68030, FPU内蔵)
- メモリ:
- 8MBytes/ 20MBytes
- ADBキーボード:
- Apple Keyboard II
- NeXT社製 ADB Keyboard
- ADBマウス:
- Apple社製 ADB Mouse
- 米Logitech社製 MouseMan Cordless for Macintosh Model#0106
- NeXT ADBマウス
- EtherNetカード:
- Asante MacCon+30iET64
- HDD:
- QUANTUM LPS340S (340MBytes)
- CDROMドライブ:
- PLEXTOR DM-5028 (2倍速)
- Zipドライブ:
- Zip Drive
- MOドライブ:
- (日本の)ロジテック社製 LMO-400 (FUJITSU M2512A)
メモリは8MBと20MBの2通りを試用した。8MBでも、X windowは普通に稼働した。またカーネルの再構築に要する時 間でも、20MBと8MBでは数十分程度の差しか出なかった。し かし、8MBのメモリは大規模なソフトウェアのコンパイルに は実用的ではないだろう。
今回試用したキーボードは、Apple社製のKeyboard IIと NeXTのキーボードである。どちらも良好に動作した。
NeXTキーボードというのは、秋葉原や大阪日本橋のジャン ク屋で売られているNeXT社のロゴの入った、ADBプロトコ ルの黒いキーボードである。裏にはNeXT社の銘板までついて いるので、偽物ではないだろう。このキーボードはコントロ ール・キーが'A'キーの左隣に位置しているので、UNIXユー ザには使い易いだろう。
また、今回試用したマウスは、Apple社純正ADB Mouse、 Logitech社の3ボタン・マウス、NeXTの2ボタン・マウスの3 種類である。どれもまったく問題なく使えた。
MacBSDのX windowはADBの3ボタン・マウスをサポートして いる(1ボタンでも使用できる)。X windowのソフトウェアは3 ボタン・マウスの使用を前提としているものが多いので、 3 ボタン・マウスが使い易くてよいだろう。
現在、日本で入手が容易なMac ADB用の3ボタン・マウスは、 米Logitech社のものだけであろう。今回、筆者らは日本橋の T-Zoneで購入した。なお米Logitech社は日本では「(株)ロジ クール」というブランド名を使用している(日本のLogitec とは無関係)。
NeXTのマウスは、キーボードと同時に購入した物である。 NeXTマウスの右ボタンはX windowの中ボタンに対応する。
筆者がZipドライブ、MOドライブを試用したところでは、 異常は見当たらなかった。(しかし問題がないとは保証され ていない)
MacBSDのインストール方法は、以前にUNIX USER誌に紹介した方法からほと んど変化していない。UNIX USER誌 1995/Jun や 1996/Oct を読まれた方は、本章を読む必要はないだろう。
まず、HDDにA/UXパーティションを作成する。MacBSDには、 2つのA/UXパーティション、「Root&User」と「swap」が必 要である。A/UXパーティションの作成方法は、 別文書 を用意したので、そちらを参照していただきたい。
SwapパーティションはINSTALLドキュメントでは、実メモ リの倍程度が勧められている。しかし、本格的な使用を考え るなら、30MB程度はとっておくべきだろう。
パーティションができたならば、次の作業に移る。
今回は、必要なファイルをすべてローカル・ディスクに持っ てきて作業した。本稿では、ローカル・ディスクに全ファイ ルが存在しているとして、説明を進める。ただし、 AppleShareを使用している場合には、実行速度が遅いだけで、 まったく同じ事が行われるはずである。
ローカル・ディスクにファイルを持ってくるには、いくつ かの方法がある。例えばMacにCD-ROMドライブがついていれ ば、MacOSでCD-ROMをマウントし、それをコピーすれば良い。 筆者の場合は、NCSA Telnetのftp サーバ機能を使用し、 SUNからftpプロトコルでMacSE/30に転送した。
ftpする場合、NetBSD-1.2/mac68k/mac_utils/*.hqx は TEXTモードで転送し、 NetBSD-1.2/mac68k/mac_utils/*.binや NetBSD-1.2/mac68k/{binary,X11}/ の下のアーカイブされたファイルはBINARYモードで転送するの が便利で良い。
ファイルが揃ったら、次にMacBSD専用のインストール・ソ フトウェアを準備する。NetBSD-1.2/mac68k/mac_utils/ の下にある、以下 の 4つのファイルを展開する。ただし、mode32は旧い ROMのMacのみ必要である(後述)。
mkfs.cpt.hqx
Installer1.1.sea.hqx
mode32-7.5.hqx
Booter1.9.4.sit.bin
展開するには、StuffIt Expanderを起動し、「File」メニュー の「Expand…」を選択する。すると、ファイル指定ダイアロ グが開くので、所望のファイルを指定する。これを4回繰り 返して、Mkfs, NetBSD/Mac Install Utility 1.1, MODE32 (7.5)の3つのMacOSのアプリケーションと、「Booter1.9.4 Folder」 というフォルダを得る。
StuffIt Expanderは*.hqxや*.binをデコードすると同時に*.cpt(や*.sit や*.sea)アーカイブも展開してしまう。 が、単純なBinHqxデコーダを使用 した場合は、*.cptというファイルができるだけだろう。 *.cptというのは、Compacterというアーカイブ兼圧縮ソフト ウェアで作成したアーカイブである。*.cptを解凍するには、 なんらかのCompacterの解凍ソフトウェアが必要である。
MODE32は、旧いROMのMacに必要な機能拡張である。今回、 MacBSDのBooterはMacOSの32ビット・アドレッシング・モー ドで動作するアプリケーションになった。しかし、旧いROM のMacはそのままでは、MacOSを32ビット・アドレッシング・ モードにできない。そこで、MODE32という機能拡張によって、 MacOSが32ビット・アドレッシング・モードを使えるように する。
旧いROMのMacとは、具体的には、SE/30,MacII, IIx, IIcx など、Macの世界でいう「32bitクリーンでないROM」を搭載 した機種である(MacBSDがサポートするほとんどの機種であ る)。
今回のMacBSDには、MacOS System7.5用のMODE32が含まれ ている。MODE32をMacOS7.5にインストールするには、上で得 られた「MODE32(7.5)」を起動する。すると自己解凍(図1)し、 「MODE32 Installer」というフォルダが得られる。さらに、 そのフォルダ内のMacOSのアプリケーション「MODE32 Installer」を起動(図2)し、「Install」をクリックする。 これで、MODE32がシステム・フォルダ内の「Extensions(機 能拡張)」にインストールされる。MacOSを再起動すれば、 MODE32が有効になる。
さて、A/UXパーティションはできた。必要なファイルも揃っ た。ユーティリティ・コマンドもできた。ということで、い よいよ、MacBSDのインストールである。
まず、Mkfsでファイル・システムを作る。しかし、パーティ ションはもうあるので、ディスク・ラベルを指定するような 事もない。本当にあっけなく終る。
次に、ファイルをインストールしていく。これがもっとも 時間のかかる作業である。しかし、 NetBSD-1.2/mac68k/binary/* のファイルが正しく持って来れていれば、この作業もトラブルは出ないだろう。
次々、全部インストールを行えば良い。
ただし、netbsd12, base12, etc12 があれば最低限の起動はできる (Mac SE/30では、netbsd12, base12, etc12 のインストールに約1時間かかった)。 残りのインストールは、後からでも可能なので、最低限のインストールを済ま せたら、先に進んで、MacBSDが起動することを確認した方が よいだろう。
今回、MacBSDのBooterはMacOSの32ビット・アドレッシン グ・モードで動作するアプリケーションになった。
MacOSを32ビット・アドレッシング・モードにするには、 「Control Panels(コントロール・パネル)」の「Memory(メ モリ)」を開き、「32-bit addressing(32ビットアドレス)」 をOnにする(図8)。この設定を有効にするために、 MacOSを 再起動する必要がある。 (注意:前述の通り、旧いROMのMac ではMODE32を入れておかなければ「32-bit addressing(32ビ ットアドレス)」が選択できない)
図8 32ビット・アドレッシング・モードに設定
さて、いよいよ、MacBSDを起動しよう。
「Booter1.9.4 Folder」フォルダ内のMacOSのアプリケーション 「NetBSD/Mac68k Booter」をダブルクリックして起動する。画面はほとん ど変化せず、メニューバーのメニュー項目だけが、変わって いる。
プロンプトが出れば、一通りなんでもできると思う。 MacBSDのインストールはほぼ成功していると考えて大丈夫で ある。
最低限のインストールが確認できたら、halt -qなどとし て、MacBSDを終了する。必要があれば、NetBSD/Mac Install Utility 1.1によるファイルのインストールを続ける。
次にMacBSDを起動した時にはマルチユーザ・モードで起動 し、gettyがプロンプトを出してくるだろう。これでインス トールは完了である。gamesまですべてのバイナリをインス トールした場合、HDDの容量は47.5MB程度である。
後は、マシン名、タイムゾーン等の設定をしておく。手順 は他のNetBSDと同様である。マシン名は、/etc/mynameに設 定する。今回は、se30というマシン名にした。タイムゾーン は、以下のように日本時間(東京)に設定する。(以下、プロ ンプトが "#" の場合は、rootの権限で実行していることを 示す)
# cd /etc # mv localtime localtime.ORG # ln -s /usr/share/misc/zoneinfo/Asia/Tokyo localtime
これで、本物の実用的なBSDが手に入った。さらに、グル ープやユーザを追加したりすると良いだろう。
MacBSD 1.1からイーサネット・カードがサポートされてい る。ネットワーク設定のコマンド等は、通常のBSD系OS とまっ たく同じである。なお、設定はrootとなって行う。
まず、/etc/hosts をリスト1のように編集する。IPアドレ スや、他のマシン名などは、各サイトで適切なものを使って もらいたい。この例では、MacBSDをインストールしたマシン 名をse30、IPアドレスを10.0.0.1、他のマシン名をfoobar、 そのIPアドレスを10.0.0.2としている。
------------------------------------
リスト1 /etc/hosts# 127.0.0.1 localhost # 10.0.0.1 se30 loghost mailhost 10.0.0.2 foobar .....------------------------------------
続いて、イーサネット・インターフェースにIPアドレスを 設定する。
# ifconfig -a ae0: flags=8822<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> ppp0: flags=8010<POINTOPOINT,MULTICAST> ppp1: flags=8010<POINTOPOINT,MULTICAST> lo0: flags=8009<UP,LOOPBACK,MULTICAST> inet 127.0.0.1 netmask 0xff000000 sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST>
次に
# ifconfig ae0 inet se30
次のようにpingコマンド等でテストする。同様に他のマシ ンからMacBSDに向けてもpingをテストしてみたほうがよい。
# ping se30 PING se30 (10.0.0.1): 56 data bytes 64 bytes from 10.0.0.1: icmp_seq=0 ttl=255 time=2.322 ms 64 bytes from 10.0.0.1: icmp_seq=1 ttl=255 time=2.569 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=255 time=2.568 ms ^C --- se30 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 2.322/2.486/2.569 ms # ping foobar PING foobar (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.671 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.924 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.942 ms ^C --- foobar ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 2.671/2.845/2.942 ms
以上が、手動での設定方法である。
MacBSD起動時に自動的に設定するには、以下のように、 /etc/hostname.ae0というファイルを作成するだけでよい(こ の例はae0インターフェース用である。インターフェースの 名前に応じて"ae0"を変更し、同様のファイル作成すればよ い)。
# echo "inet se30" > /etc/hostname.ae0
今回使用したMacBSDのイーサネットは非常に快調である。 通常のTCP/IPユーティリティ群は当然のこと、NFSも快調に 動作する。
NetBSDやFreeBSDの醍醐味の一つは、カーネルの再構築が 気軽にできることであろう。MacBSDのカーネルの再構築は、 他のNetBSDと同様の手順でよい。ここでは、NFSサーバとな れるように、カーネルを再構築してみる。
カーネルのコンパイル時にはソースコードと合わせて約 43MB程度のディスク容量を必要とする。
カーネルの再構築には、NetBSD-1.2/source/ksrc12/ksrc12.?? を使用する。これらのファイルを以下のように展開すると、 /usr/src/sysにカーネルのソースが置かれることになる。
# cat ksrc12.?? | tar xvfz - -C /
カーネルの再構築には、まず/usr/src/sys/arch/mac68k/conf/ にあるコンフィギュレーション・ファイルを、必要に応じて 編集する。なお、作業はrootとなって行う。
今回はNFSサーバ機能を追加するために、GAZONKというコ ンフィギュレーション・ファイルを作成することにする。 GAZONKは既存のGENERICというコンフィギュレーション・フ ァイルをほんの少し変更する。
具体的には
#options NFSSERVER
この後、このコンフィギュレーション・ファイルGAZONKを 用いて、以下の手順でカーネルを再構築し、カーネルを置き 換える。
# config GAZONK # cd ../compile/GAZONK # make depend && make # mv /netbsd /netbsd.old # cp netbsd /
さて、これでカーネルの再構築が済んだ。新しいカーネル でMacBSDを起動してみよう。もしも新しいカーネルで不都合 が起きた場合は、Booterの「Kernel Name」に、古いカーネ ル名(netbsd.old)を指定して再起動し、新しいカーネルの不 具合を修正すればよい。
MacBSDのドキュメントでは、カーネルの再構築には、 8MB メモリ搭載のMac SE/30で、約1.5時間かかると書かれている。 しかし、筆者の環境ではメモリが20MBと非常に多いにも関わ らず、約4時間が必要であった(8MBでも数十分の差しかない)。
NFSサーバの設定については後述する。
ここでは、NFS、ISO9660/RockRidge形式のCD-ROM、UFSの MOとZIPドライブのマウント法ついて述べる。さらに、HFSの ハードディスクやMOやZIPを読むツールについても述べる。
1) NFSクライアントとNFSサーバ
GENERIC_62のカーネルでは、NFSクライアントとしては動 作するが、 NFSサーバにはなれない。NFSサーバ機能を使用 するには、NFS_27等のカーネルを使うか、前章に書いたよう にカーネルを再構築する。
NFSクライアント機能を使うには、/etc/netstart内の
nfsclient=NOを
nfsclient=YESに書き換える。
また、NFSサーバとするには、
nfsserver=NOを
nfsserver=YESに書き換える。どちらも書き換え後、再起動する(もしくは、 /etc/rcを参照して、同様のコマンドを手動で実行してもよ い)。
NFSサーバの場合、エクスポート(export)するディレクト リ等の設定を、以下のように/etc/exportsに記述し、mountd に対してHUPシグナルを送る(もしくは、MacBSDを再起動し てもよい)。以下の例では、"/"を全てエクスポートしている。
# cd /etc # echo "/ -maproot=0:0 -alldirs" > /etc/exports # kill -HUP `cat /var/run/mountd.pid`
エクスポートされているかどうかは、mountコマンドで、 以下のように確認できる。
# mount /dev/sd0a on / type ffs (NFS exported, local) kernfs on /kern type kernfs (local) procfs on /proc type procfs (local)
2) CD-ROM
MacBSDでは、ISO9660/RockRidge形式のCD-ROMを読むこと ができる。(残念ながら、HFSのCD-ROMを読む手段はないよう である)
CD-ROMドライブをMacOSで使用する場合と同様に接続して、 MacBSDを起動する。ISO9660/RockRidge形式のCD-ROMメディ アを挿入する。インストール直後はCD-ROM用のデバイスがな いので、以下のようにcd0デバイスを作成する。
# cd /dev # sh MAKEDEV cd0
マウント・ポイントとなるディレクトリを作成し、読み取 り専用でマウントできる。
# mkdir /cdrom # mount -t cd9660 -o ro /dev/cd0a /cdrom
3) MOとZip
MacBSDでは、MOとZipは、ハードディスク(sdデバイス)と して見える。デバイス番号は、SCSI IDの小さい順番に0か ら割り振られる。起動ハードディスクがsd0となるように SCSI IDを割り当てる必要がある。決して、 MOやZipのSCSI IDを、MacBSDの起動ハードディスクより小さい番号にしては ならない。
MOドライブ(またはZipドライブ)をMacOSで使用する場合と 同様に接続して、MacBSDを起動する。MO(またはZip)のメデ ィアを挿入する。MO(またはZip)をUFSとして使用するには、 リスト2を/etc/disktabに追加し、以下のようにUFSを作成す る。この例では、cパーティションのみを使用している。
(MOの場合)
# disklabel -w -r sd1 mo230 # newfs sd1c Warning: 140 sector(s) in last cylinder unallocated /dev/rsd1c: 446324 sectors in 218 cylinders of 64 tracks, 32 sectors 217.9MB in 14 cyl groups (16 c/g, 16.00MB/g, 3840 i/g) super-block backups (for fsck -b #) at: 32, 32832, 65632, 98432, 131232, 164032, 196832, 229632, 262432, 295232, 328032, 360832, 393632, 426432, # mkdir /mo # mount /dev/sd1c /mo
(Zipの場合)
# disklabel -w -r sd2 zip100 # newfs sd2c /dev/rsd2c: 196608 sectors in 96 cylinders of 64 tracks, 32 sectors 96.0MB in 6 cyl groups (16 c/g, 16.00MB/g, 3840 i/g) super-block backups (for fsck -b #) at: 32, 32832, 65632, 98432, 131232, 164032, # mkdir /zip # mount /dev/sd2c /zip
------------------------------------
リスト2 /etc/disktab 追加分# MO 230MB mo230:\ :ty=removeable:ns#32:nt#64:nc#217:\ :pc#444416:oc#0:bc#8192:fc#1024: # Zip 100MB zip100:\ :ty=removeable:ns#32:nt#64:nc#96:\ :pc#196608:oc#0:bc#8192:fc#1024:------------------------------------
NetBSDのUFSは、他のアーキテクチャのNetBSDと互換性が あるようだ。試しに、MacBSDで作成したUFSのMOとZipを、 NetBSD/sparcで使ってみた。両方とも問題なくマウントでき、 読み書きもできた。ちなみに、SunOS-4.1.*(sparc)や、 FreeBSD-2.1.0(i386)とは互換性がなく、マウントすらできな い。
4) HFS
Macなのだから、MacBSDと言えども、今まで使っていたMac のハードディスクが読めた方が便利であろう。
このためのツールhfsを紹介する。hfsは、HFSで書かれた sdデバイスの内容を読むツールである。hfsは、読むだけで、 書き込むことはできない。ハードディスク以外に、MOやZip もsdデバイスなので、これらを読むこともでき、かなり便利 である。
このhfsは、標準ではインストールされない。ソースが用 意されているので、ユーザがmake、インストールして使用で きるようになる。arch/mac68k/progs/hfs-0.00.tar.gz を展開し、makeする。何の問題もなく簡単にmakeできる。
hfsは、sdデバイスに直接アクセスするので、rootの権限 で実行しなければならない。hfsの使用例をリスト3に示す。
------------------------------------
リスト3 hfsの使用例# hfs Please wait, probing drives... Please choose the HFS volume to browse: 1. HD300 (SCSI 1) 2. Zip 100 (SCSI 2) Volume number, or <ENTER> to exit: 2 Type "help" for help. 1. ANNOUNCE (7041 bytes) 2. bsd/ 3. Desktop DB (6144 bytes) 4. Desktop DF (0 bytes) Zip 100:/ > help Commands are: cd [number] cd . cd .. cd (top level) ls cat [number] cp [number] [file] exit Zip 100:/ > cp 1 announce Wrote 7041 bytes to "announce". Zip 100:/ > cd 2 1. base.tar.gz (7517789 bytes) 2. etc.tar.gz (68151 bytes) 3. misc.tar.gz (1898465 bytes) 4. netbsd.GENERIC_62.tar.gz (446142 bytes) Zip 100:/ > exit #------------------------------------
MacBSD用のX windowシステム(X11R6)は、Aliceグループに よって移植された。X windowシステムは、 Aliceグループの Allen Briggsが管理している サイト(puma.macbsd.com) から手に入れることができる。このサイトでは、Aliceグ ループが精力的にMacBSDのサポートを行っている。 ここのWWWページ は、 NetBSD/mac68kの公式WWWページ からもリンクが張られている。
MacBSD用のX windowシステムには、白黒とカラーの2種類 のXサーバがある。
以下、白黒X windowについては puma.macbsd.com:/pub/NetBSD/X/README*をもとに述べる。 しかし、筆者の手元にはMac SE/30のみしかないので、内容 の完全な確認はできていない。
白黒(1bit/pixel)のXサーバは、MacBSDでコンソールの使 える機種なら、そのビデオ・システム上で動作する。
さらに、外部ビデオ・カードを用いて、X windowの画面を 2つのモニタ・ディスプレイに出すことも可能である。この 場合は、外部ビデオ・カード側のデバイス・ファイル /dev/grf2を以下のように作る必要がある。
# mknod /dev/grf2 c 10 2
カラーのX windowに関連するソフトウェアは puma.macbsd.com:/pub/NetBSD/X/colorkit/ にある。
README.Xcolorkitによると、カラーのXサーバは、 256色 (8bit/pixel) 以上のQuickDraw互換のビデオ・カード上で使 用可能である。また、動作は確認されていないが、一応、 NuBUS/PDS ビデオや内蔵ビデオ(IIci, IIsiなど)のためのモ ジュールはコーディングされている。
カラーXサーバは、256色(8bit/pixel)の画面モードで動作 する。65536色(16bit/pixel)や1600万色(24bit/pixel)など の画面モードはサポートしていない。たとえ、65536色や 1600万色の出るビデオ・カードであっても、256色の画面モー ドが使われる。
カラーXサーバの場合は、専用のドライバを含むカーネル を使わなければならない。このためのコンパイル済みのカー ネルが、Xサーバと一緒にcolorkitに用意されている。 Xmacbsd.960506.tar.gzがカラーXサーバであり、 netbsd.050896.GENERIC.grf.tar.gzが専用のドライバを含む カーネルである。
今回は、SE/30に白黒のXサーバをインストールした。
まず、NetBSD-1.2/mac68k/X11/xbase12と NetBSD-1.2/mac68k/X11/xserver12を以下のように展開する (NetBSD/Mac Install Utility 1.1を使って インストールしてもよい)。
# tar xvfz xbase12 -C / # tar xvfz xserver12 -C /
しかし残念なことに、Mac SE/30ではこのXサーバ(Xmac68k)が正常に動作 しなかった。 とりあえず、Xサーバを古いもの(Xmacbsd.960127.tar.gz)と置き換えると、 正常に動作した。
Xサーバを置き換えるには、Xmacbsd.960127.tar.gzを以下のように /usr/X11R6/binに展開し、シンボリックリンクをやりなおす。
# tar xvfz Xmacbsd.960127.tar.gz -C /usr/X11R6/bin # cd /usr/X11R6/bin/ # mv X X.old # ln -s Xmacbsd X
さて、これでX windowのインストールが終了した。すぐに X windowを使用する場合は、以下のように、ダイナミック・ リンク・ライブラリのパスを設定しなおす。(MacBSDを再起 動するならば、設定しなおす必要はない)
# ldconfig /usr/X11R6/lib
X windowを使用するには、startxコマンドを使って起動す る。図11のようにX window システムを使うことができる。
図11 Xウィンドウ・システムを立ち上げてみた
後は、各ユーザの~/.xinitrcを好みに合わせて編集してお けばよいであろう。
MacBSDのX windowでは、Macで一般的な1ボタン・マウスの ために、中ボタン、右ボタンがキーボードでエミュレーショ ンできるようになっている。各ボタンは次のようなキーにバ インドされている。
<OPTION> + <left-arrow> 中ボタン
<OPTION> + <right-arrow> 右ボタン
前述のように、今回はLogitech社の3ボタン・マウスを試 用したが、3つのボタンは全て問題なく使えている。NeXT社 の2ボタン・マウスもなんの問題もなかった。
筆者は、まずtcsh 6.06とGNU make 3.74をインストールし た。フリーソフトウェアの作成には、MacBSD附属のmakeコマ ンドではなく、GNU makeを要求するものがあるので、GNU makeをインストールしておくとよい。
筆者が作成したバイナリとソースを <ftp://ftp.axe-inc.co.jp/pub/mac/netbsd11/> に置く。御利用いただきたい。
多機能シェル | tcsh-6.06 | 約 1時間 |
GNU make | gmake-3.74 | 約 23分 (うちconfigureに10分) |
日本語の表示 | kterm-6.2.0 | 約 23分 |
日本語コードの変換 | nkf-1.5pl1 | 約 1分 |
日本語ページャ | less-290(+iso2 pl1) | 約 11分 |
日本語入力 | wnn-4.2(Wnnのみ) | 約 2時間 |
日本語エディタ | Ng-1.3 | 約 11分 |
NetBSD 1.2/mac68kは、現段階で充分、実用的に 使える。
このように十分に使えるUNIXが動作することで、旧いMac の新しい使い方ができるであろう。例えば、本稿で述べた機 能を使って、HDDファイル・サーバや、 CDROM, MO, ZIP等の メディアのサーバなどとして使うことができるだろう。
また本稿では触れていないが、MacBSDはインターネットの ゲートウェイやファイア・ウォールなどとしても使うことが できるはずである。
CAPサーバを動かして、UNIX世界とMac世界との間の橋渡し を行わせてみるのも面白いだろう。
このように、MacBSDはCPU性能が必要無いサーバとして、 旧いMacが活用できるたくさんの可能性を持っている。
本稿を書くにあたって、参考にしたWWWページのURL を以下に挙げる。これ らに注目しておけば、 MacBSDのバージョンアップ情報などが得られるであ ろう。
- <http://www.netbsd.org/>
- NetBSD.orgの公式ホームページ
- <http://www.netbsd.org/Ports/mac68k/>
- NetBSD/mac68kの公式WWWページ
- <http://www.macbsd.com/>
- AliceグループのAllen Briggsが管理しているMacBSDのためのホーム ページ
- <http://www.axe-inc.co.jp/~bsd/macbsd10/netbsd.html>
- 竹岡 尚三のUNIX USER誌(1995/Jun)のNetBSD1.0/mac68kの記事を もとに作成したWWWページ
- <http://www.axe-inc.co.jp/~bsd/macbsd11/netbsd.html>
- 小前 晋のUNIX USER誌(1996/Oct)のNetBSD1.1/mac68kの記事を もとに作成したWWWページ
- <http://www.microserve.com/~jpw/adb.html>
- John P. WittkoskiによるADBハードウェア・サポートのWWWページ
- <ftp://puma.macbsd.com/pub/NetBSD/X/>
- ここで、MacBSD用X windowシステムが得られる
- <ftp://ftp.axe-inc.co.jp/pub/mac/netbsd11/>
- ここで、日本語フリーソフトウェアが得られる