NetBSDをX68kエミュレータ上でセットアップ
そもそもNetBSDとは
UNIXと呼ばれるOSのうちの1つです。UNIXの歴史は深すぎるため、ここでの詳細の説明は割愛しますが、X68kで動く中で一番有名なUNIXがNetBSDのようです。(他にはMinixなどがあるらしいです)
NetBSDは色々な機種で動くように今でも開発されているようです。
The NetBSD Project : http://www.netbsd.org/
68現役の当時(1990年代)はUNIXはBSD系が強くて、Linuxは新種だったのか今ほどの人気がなかったのがいい思い出ですね(今や、ビジネスにも使われるようになるなんて!)
X680x0版のNetBSD
対応機種は98か68か忘れてしまいましたが、初めて見たNetBSDは、5インチFDが50枚くらいで回覧(!)されていた記憶があります。
NetBSD/x68k : http://www.jp.netbsd.org/ja/ports/x68k/
対応機種や対応周辺機器はご覧の通り。
ただ、ノーマルのX680x0のままではMMU(仮想メモリ)が実装されていないため、MPU交換やXellent30を載せるなど、強めの改造をしないとNetBSDが動かないということもあり、仮に動いたとしても重すぎて使い物にならないので、動作させている例はほとんどありませんでした。
そこで最上位CPUの68060で動かしてみよう、ということです。
まずはエミュレーターで動かしてみよう
実機でいきなりチャレンジする前に、エミュレータ上でまずは動かしてみることにします。
XM6typeGというエミュレータは、X680x0の実機上でできることがほとんどできる、超優れたX68kエミュレーターです。
ここのブログでも何度か触れてきていましたが、せっかくX68030+060turbo環境も手に入ったので、以前からやりたかったNetBSDでX-windowに、エミュレータを利用してトライしていきます。
XM6typeGのセットアップ
まずは、同梱されている、XM6g.txtを熟読してから着手します。
ROMを吸い出し
まずはエミュレータを利用するためにはROMのデータが必要です。
IPL-ROM - 無償公開されたシャープのソフトウェア - ソフトウェアライブラリ - X68000 LIBRARY :
足りない分などは実機から取り出す方法もあります。
ここを参考に取り出したROMのデータを利用しますが、その際に、X68030用のROMイメージデータは、X68000用のものと区別して保存しておきます(最初、説明をよく読まずに、68030のROMをIPLROM.datに上書きして、動かなくなりました)
実機からWindowsPCへ持ってくるときにファイルサイズが変わってるのに気づかずにハマりました。68上で、LZHにしてから(RaSCSI経由で)持ってきたらうまくいきました。
68030のMPUを選択して、060turboの拡張ROMをセットして、100MHzを指定した場合の起動画面例です。
インストールハードディスクの準備
NetBSDをインストールするHDDイメージを用意します。
ツール>イメージ作成>SCSIハードディスクイメージの作成
で、最大容量の4096MBのイメージを作成してみました。最初、1GBで進めていたらインストール中でdisk fullに(?)なったので。それでも、今どきのシステムを4GBぽっちのHDDいけるのか?と思えば、すごいですよね。
X-windowを入れなければもっと小さい容量でも大丈夫なのかもしれません(サイトには100MB以上とありましたが、今でもそうなのか不明w 必要容量の目安とか書いておいてくれるほど親切ではないので試行錯誤します)
念の為、作成したイメージをformat.xで、装置初期化のみしました(領域確保はしない)。
イメージのファイルなので、HDDの許す限り、68用ハードディスク作り放題です(笑)
SCSIデバイスの設定
ツール>オプション>SCSI
から、HDDとCD-ROMの設定をします。ドライブ数が最初「0」になっているので、▼を押して3にするとCD-ROMが出てきました。
先ほど用意したHDDイメージをここで登録しておきます。
NetBSDのisoイメージの準備
それでは、NetBSDインストールに必要なものを準備していきます。最新バージョンは「9」のようですので、せっかくの実験なので(危険な)最新版をチョイスしてみます。
Index of pub/NetBSD/NetBSD-9.0/iso/ : CDのISOイメージ
Index of pub/NetBSD/NetBSD-9.0/x68k/installation/floppy/ : フロッピーのイメージ(2ファイルあります)
FDのイメージは読み込みやすくするために、拡張子を.fsから.2hcにリネームして、sysinst1.2hcをフロッピーディスク0に挿入し、CDROMにはもちろん上記のisoイメージを設定して、リセットで起動します。
※この後、9.0のFDイメージでうまくいかなかったので、8.2のFDイメージを利用してインストールしました。
NetBSDのインストール
さて、やっとインストールする準備ができました。FDからブートして2枚めのディスクに交換します。
途中でパーティションの設定のところでエラーが出て、うまく進めなくなったのですが(強引に進めたらセグメンテーションフォールト?で強制終了した・・・)試行錯誤して、なんとか進むようになりました。
swap領域は、実メモリの●倍に設定とかあったな~、なんて感慨に浸りつつ・・・。
もっとうまい設定方法もあるのかも知れませんが、進んだのでこれよいことに。
インストールがはじめれば、特にやることはありません。気長に待ちます・・・(ここで寝ましたw)
インストール完了!
X68030(MMUあり)25MHz
今回、おとなしくX68030の25MHzでインストールを試しました。かかった時間が正確にはわかりませんが、寝る前に仕掛けて、起きたらできてましたw
起動中
ログインプロンプトキター
とりあえずの動作テストなので、パスワードなしのroot(セキュリティ意識0)でログインして、startx!
ちなみに、現実的には不可能なはずの?68030でも、060turbo相当の128MBメモリを利用できるようなので、それだと起動がかなり早くなりました(ちゃっかりクロックも100MHzにしましたが)
一旦の目標を達成しました!
68060turbo 50MHz
その後、識者の協力もあり、68060でも起動できるようになりました。拡張ROMなどをセットし、念の為FC2ピンはカットします。
今後の予定
Nereidも有効にして、ブラジングなどもトライしたいところですが(ネットワークってデフォルトで使えるのか?どうやってブラウザインストールするか、そもそも、ブラウザ、何があるのか?から)、エミュレータで実験しつつ、実機でも起動できるかトライしてみようと思います。
ブートできるHDのイメージをRaSCSIで持っていくだけで果たしてうまくいくかどうか!?お楽しみに。
参考にしたリンク
bootcamp119の備忘録 NetBSD 9.0をXM6i(0.55)にインストールしてみた :
NetBSD/x68k on XM6i ver 0.41 - クロスプラットフォーム X68000/X68030 エミュレータ :
【夢を超えた】Mac版XM6iを使ってNetBSD/x68kを動かすという話【夢の、頂きへ】 - nullnilaki’s blog :