はじめに
先日、Mac OSX 10.6 (Snow Leopard)が販売され購入しつつ暫く遊んでいた。
VMwareの動作確認も兼ねて何か新規にOSを入れて遊ぼうと思い、手頃なOSを探してると
UNIXの学習用途で使われてるMINXで遊んでみようとインストールしてみた。
インストール中、VMwareが異常終了するやら、ネットワークが使えないやら、四苦八苦
した箇所もありましたが、遊ぶには面白いかもしれない。
いつまで続くのやら・・・
- 2009.09.06 作成中
- 2009.10.17 追記:FreeBSD 2.2.8でネットワークを使う方法
構成
| 機器/ソフト | バージョン | 入手先 | 備考 |
| MacBook | 10.6.0 | ||
| VMware Fusion | 2.0.5 | ||
| MINIX | 3.1.3a | www.minix3.org/download | 入手先の"this newsgroup message"を実施すること |
インストールメモ
VMware側 (簡略)
- 新規インストール選ぶ
- オペレーティングシステムのバージョンに MS-DOSを指定する。
- 上述でMS-DOSを指定すると保存名が左記の通りになってしまうので
「設定のカスタマイズ」で名前を任意で「MINIX」に指定した。 - このままインストールを続けると、OS起動中にVMwareが落ちるので以下の修正が必要。
- 入手先の"this newsgroup message"を参照しVMware側で生成したファイルを修正する。
pciBridge0.present = "TRUE"
上述の定義を削除する、0〜nまである。
もしくは設定値を "FALSE"にしてもよいみたい。 - 修正先は上述で任意指定した「MINIX」をFinderで「パッケージの内容表示」で開きMINIX.vmx(任意指定したのでMINIXになるのだろう?)をテキストエディタで開くと見つかる。
- 入手先の"this newsgroup message"を参照しVMware側で生成したファイルを修正する。
- VMware側の修正はこのくらいで、OSを再起動する。
MINIX側(簡略)
- 起動しログイン・プロンプトでrootでログイン。
- setup コマンドを叩く。
- キーボード設定 に、japanese
- ネットワークドライバ指定にVMware
- パティションはsetupコマンドに任せる。
- フォーマットが始まると、あとはインストールまで全て自動でするので放置。
- 再起動(shutdown -r)
viもコンパイラも使えるが、ネットワークに繋がらない。 - インストール成功か否かのテスト実施(記載省略)
- 必要なパッケージのインストール (packmanコマンドを叩く:今は保留)
ネットワークに接続する修正
- /etc/rc.net の存在有無で動作が異なり、無い場合はDHCP接続になるが
繋がらない。原因は/etc/rc, /usr/etc/rc, /etc/drivers.confの定義修正が必要な模様で、どうも、カーネルのメモリ領域に確実にドライバが入らないようだ? - 修正方法:Lance Driver Fix
上述の修正をして、再起動するとネットワークには繋がる。以下、修正の概略。- Solution 1 : /usr/etc/rc の修正 (詳細は修正方法のhereを参照)
- up random の処理部分とup inetの処理部分を入れ替えたらいいみたい。
- up inetの処理部分で lanceの活性化?を削除する。(*1)
- DHCP設定をする場合は、待ち時間を20から30程度にする。
- Solution 2:ん?、今は保留。
- Solution 3:lanceのコピーと、/etc/rc で lanceを活性化する。
- (*1):/usr/local/rc でlanceの削除とここで記載されてる。
- Issue 2:/etc/drivers.confにlanceの定義を追加。
- Solution 1 : /usr/etc/rc の修正 (詳細は修正方法のhereを参照)
ネットワーク設定
上述の修正が終わった状態
- ネットワーク接続
結果から、ネットワーク接続は可能になった。
余談:しかし、修正方法を間違ってるのかネットワークサービス(telnet,ftpなど)の
起動指定が微妙に違和感がある。また、OS起動中に/dev/randomのエラーが生じる。
今は困ってないので、保留。- DHCP環境ならば、再起動する。
確認のため、pingしてみる。 - IPアドレスを指定する場合は、以下を修正して再起動する
- /etc/rc.net に、以下の定義を追加
ifconfig -h MINIXのIPaddr -n ネットマスク add_route -g ゲートウェイのIPaddr
- /etc/resolv.confに、以下の定義を追加
domain ドメイン名 nameserver DNSのIPaddr
- /etc/rc.net に、以下の定義を追加
- DHCP環境ならば、再起動する。
- ネットワークサービス設定(telnet,ftp)
- /etc/rc.net に起動するサービスを追加する。
daemonize tcpd telnet /usr/bin/in.telnetd daemonize tcpd ftp /usr/bin/in.ftpd
- なんでだろう?知らないだけだろうな。
telnetd,ftpdはinetdの傘下な位置付けと思うのに、上述の指定をすると直接起動だし
/etc/rc.daemonsにtelnetd等を指定しても、/usr/etc/rcの記述では、/etc/rc.netが
存在すると、/etc/rc.daemonsの内容は動作に反映されない。
/etc/inetd.confの役割はなんだ? んー
- /etc/rc.net に起動するサービスを追加する。
備考
VMware上にインストールしたFreeBSD 2.2.8でネットワークを使う方法
FreeBSD 2.2.8のインストールCDを使い、なにも変更せず
VMware上で lnc1 として認識する。
- 準備:修正する箇所は、VMware側で生成される*.vmxの以下のパラメータを
コメントにしておく。修正前:ethernet0.virtualDev = "e1000" 修正後:#ethernet0.virtualDev = "e1000"
最近のコメント