pseudo-device vn 2
が設定(最後の数字は1以上ならOK)されていれば、
# vnconfig /dev/vn0 ./4.3-install.iso
# mount_cd9660 /dev/vn0 /mnt
などとすれば、ISO-IMAGEを/mntにmountできるので、 /mntをホームディレクトリに4.3-RELEASEという名前で リンクを張れば、利用する事ができる。
まーどんな方法でもいいです。実際のところ、 FreeBSDの公式サイトからFTPインストールでも問題は無いですし、 利用するマシンがCD-ROM使えるなら、FTPインストールなんて不要です。
HDDの領域確保を行う場合に一つ注意として、ハイバネーション領域を 開けておく必要がある事です。詳細はリカバリーに関する考察をみてください。 簡単に言うと、 HDDの最後にメモリサイズ+αの範囲だけ残してやる必要があります。 これ忘れると、強制ハイバネーションとかを起こした時に HDDのデータがぶっ飛んだりするので要注意です。
ftpインストールですが、FreeBSD公式サイトからanonymous ftp(スペルあってるかな?)する場合は問題無いのですが、 ユーザーIPとパスワードを使ってftpする場合、 インストール設定の「Option」の「FTP username」の所を、 「ftp」から、利用してるユーザー名に変更(パスワードも入力します) すれば、そのIDでftp インストールしてくれます。 また、ftpサイトの選択の時には、
URL Specify some other ftp site by URL
を選択し、ftp://10.0.0.5 などと指定すればOKです。
ということで、どうにかして4.3-RELEASEをインストールしてください。 HDDをデスクトップに取り付ける事が可能なら、それが一番簡単かも・・・。 で、それが終ったらLibrettoにHDDを戻して、起動する事を確認してください。
LANカードの設定は、/etc/rc.confに記述するだけで終ります。 インストールした時には、
pccard_ifconfig="inet 10.0.0.1 netmask 255.255.255.0"
という記述があると思いますが、4.3-RELEASEからは、PAOと同様に、
ifconfig_ed1="DHCP"
ifconfig_ed2="inet 10.0.0.1 netmask 255.255.255.0"
removable_interfaces="ed1 ed2"
といった記述が可能になります。PAOでは、pccard_etherであったものが、 removable_interfacesに変わっているので気を付けてください。 あと、使うネットワークカードがデフォルト状態(/etc/pccard.confが無い) で、正常に機能しない場合は、別途/etc/pccard.confを作成してください。 私の場合、SHARPのUE1E17 Aは/etc/default/pccard.confに存在せず、 また、MELCOのLPC3-TXは、一部修正しないと正常に機能してくれないため、 /etc/pccard.confを作成しています。参考までに私のrc.confと、pccard.confをあげておきます。 参考になるかどうか分かりませんが。
options IPFIREWALL
options IPDIVERT
また、先程ISO-IMAGEをmountする時に利用したvnや、DHCPサーバなどを 運用する場合に必要となってくるbpfも追加するといいでしょう。
pseudo-device vn 2 #Vnode driver (turns a file into a device)
pseudo-device bpf 2 #Berkeley packet filter
もちろん使わないデバイスなどはコメントアウトして、 kernelをダイエットさせておいたほうがよいのは言うまでもありません。
あとはkernelを再構築、インストール(config KERNELNAME ; cd ../../compile/KERNELNAME ; make depend ; make ; make install)してください。 ただし、要注意なのは、このkernelをインストールして再起動すると、 NATの設定ができるまでは、 ネットワーク経由でこのマシンにアクセスできなくなります。 リブレットに直接ログインしましょう。
上記のkernelで再起動すると、起動時のメッセージ(もしくはdmesg)に、
IP packet filtering initialized, divert enabled, rule-based forwarding disabled,
default to deny, logging disabled
という表示がでると思います。これでNATを動かす用意ができています。 NATを動かすために、私は以下のような設定をしています。
[/etc/natd.sh (NAT起動用スクリプト)]
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add divert 8668 ip from any to any via ed1
/sbin/ipfw add pass all from any to any
/sbin/natd -f /etc/natd.conf
echo -n ' natd'
[/etc/natd.conf (NAT設定ファイル)]
log yes
deny_incoming no
use_sockets no
same_ports yes
verbose no
port 8668
interface ed1 # GLOBAL側のNIC
unregistered_only no
あと、/etc/serviceに、以下のnatdのエントリがあることを確認します。
natd 8668/divert # Network Address Translation
将来FireWallにするには、 natd.shのipfwの行をもっと制御してやることになりますが、 そのへんはman ipfwで調べてください。
このNATを起動するタイミングが少しややこしく、デスクトップであれば、 /usr/local/etc/rc.d/に入れておけば何も問題は無いのですが、 ノートPCの場合、/usr/local/etc/rc.dの中のスクリプトが実行されるより、 PCカードの認識が後になるため、不具合が生じます。 /etc/rc.confに、pccardd_flags="-z" などと書けば解決するらしいのですが、 なんかうまく行ってくれないので、pccard.confで、PCカードを認識した時に スクリプトを起動するようにしています。見て頂ければ分かると思いますが、 insert行がカードを指した時に実行されるので、これを増やして記述します。 いろいろためして、起動時にnatdがちゃんと起動するようにしてください。
natdが起動するようになったら、 NATとして起動してるかどうか調べてください。LANが両方使えるか、 別のマシンをprivate側につないで、このマシンをデフォルトゲートウェイに 設定してちゃんと外に出られるか、などを調べて見ます。 うまく動いてるようであれば完成です。
質問、突っ込み、「このへんもうちょっと詳しく説明して」など、何かありましたら掲示板かメールでお願いします。