レッツノート CF-R3 に FreeBSD をネットワークインストールする私的メモ 未完

私的なメモです。以下の記述を実行したことで生じた損害等に関して筆者は責任を負いませんよ…と一応書いておきます。

http://d.hatena.ne.jp/seer/20060512 で 6.1-RELEASE をインストールした記録も書いてます。

基本的には変らないです。ただ http://d.hatena.ne.jp/seer/20041105 でも書きましたが、5.3-RELEASE からインストール用FDイメージの中身が大幅に変更された為 FD の起動イメージを使う方法は諦めました。SE7501WV2 なマザーボードだと FD イメージから起動しないと起動時に止まっちゃうんだよなぁ…。5.3R はマダ試してないです。

今回インストールするマシン

1. パーティションを分ける

説明書に従ってパーティションを分ける。

2. WindowsXP のセットアップの前に FreeBSD のインストールをする。

逆だと何故か WindowsXP が起動不能になってしまったので。

3. ネットワークインストールの設定

今回は遊んでいるマシンに 5.3-RELEASE を入れてネットワークブート用のサーバにしてみました。4系でも5系でも問題ない(ハズ)です。

  • DHCP、TFTP を動作させるマシン 192.168.20.1
  • DHCP で配布する IP アドレス 192.168.20.128-254
  • TFTP のルートディレクトリ /tftpboot
  • インストール用イメージを置くディレクトリ /nfs/installimg/
3.1 インストールしたいバージョンの FreeBSD iso イメージを用意する。

RELEASE 版 iso イメージや SA対応FreeBSD ISOイメージ を引っ張ってきます。今回は自分で make release して作った iso イメージを使用しました。インストール用の CDROM でもいいです。

3.2 インストール用イメージマウント

/nfs/installimg/ に インストール用イメージをマウントします。
用意しておいた iso イメージに mdconfig を使います。

# mdconfig -a -t vnode -f 5.3-RELEASE.iso -u 0
# mount_cd9660 /dev/md0 /nfs/installimg

あるいはインストール CD-ROM をマウントします。

# mount_cd9660 /dev/acd0c /nfs/installimg
3.3 tftpd の設定

/tftpboot ディレクトリを作成し、/nfs/installimg/boot/ 以下にある pxeboot ファイルをコピーする。

/etc/inetd.conf を編集(tftp のコメントを外す)して inetd を再起動する。

tftp    dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -s /tftpboot

なお、5.3-RELEASE では標準で inetd が動いていません。手動で inetd を起動するか /etc/rc.conf に

inetd_enable="YES"

を追加して、

# /etc/rc.d/inetd start

して動かします。

実際に tftp してファイルが取得できるか確認しておきましょう。

# tftp 192.168.20.1 
tftp> get pxeboot
Received 240353 bytes in 0.2 seconds
tftp> quit
3.4 nfsd 設定

/etc/rc.conf

nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_flags="-r"

/etc/exports

/nfs/bootimg -maproot=root -ro -network 192.168.20.0 -mask 255.255.255.0


nfs が機能しているか確認。

# mount_nfs 192.168.20.1:/nfs/bootimg /mnt/

□ dhcpd インストール
ports から isc-dhcp3 をインストール。
dhcpd.conf

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;
log-facility local7;

subnet 192.168.20.0 netmask 255.255.255.0 {
 range 192.168.20.128 192.168.20.254;
 option routers 192.168.20.1;
 option broadcast-address 192.168.20.255;
 next-server 192.168.20.1;
 filename "pxeboot";
 option root-path "/nfs/bootimg";
}

dhcpd.leases ファイルを作成しておきます。

# touch  /var/db/dhcpd.leases

起動確認します。

# dhcpd fxp0
Internet Systems Consortium DHCP Server V3.0.1rc14
Copyright 2004 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 0 leases to leases file.
Listening on BPF/fxp1/00:03:**:**:**:/192.168.20.0/24
Sending on   BPF/fxp1/00:03:**:**:**:/192.168.20.0/24
Sending on   Socket/fallback/fallback-net

4 レッツノート起動

レッツノートを起動し F12 を押してネットワークから起動させます。下のはレッツノートのものではなくシリアルコンソールリダイレクションが使えるマシンの起動画面になります。大体こんな感じということで…。

Intel UNDI, PXE-2.0 (build 078)
Copyright (C) 1997,1998,1999  Intel Corporation

CLIENT MAC ADDR: 00 D0 B7 ** ** **  GUID: ********-****-****-****-**********
DHCP.../

Relocating the loader and the BTX
Starting the BTX loader

BTX loader 1.00  BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1

PXE version 2.1, real mode entry point @9d77:0106
BIOS 638kB/261056kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(root@***.***.***, Sat Jan 10 23:55:58 GMT 2004)
pxe_open: server addr: 192.168.20.1
pxe_open: server path: /nfs/bootimg
pxe_open: gateway ip:  192.168.20.1
/kernel text=0x257ba8 data=0x32d68+0x3fb78 |
/

5系ではおなじみのデーモン君が現れたら 6 を押して loader prompt に入ります。そこで

set vfs.root.mountfrom=ufs:/dev/md0c

します。これをしないと 5.3-RELEASE では何故か上手く起動してくれません。全く同じ環境で iso イメージだけを 5.2.1 の物にした場合は普通に動くのですが…。原因をちゃんと探れ>俺
後は いつものようにインストーラが起動しますのでそのまま NFS をつかうなり FTP を使うなりお好きにどうぞ。

インストールが一通り終わったら、次は X やサウンド、そして内蔵無線LAN の設定に入ります。NDIS のおかげで無線LANも(ちゃんと設定してやれば)ばっちり使えます。