何か決めなきゃ駄目ですか。



俺が決めたら、貴方はどうするんだい。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

PXEBootの練習。

FreeBSD7.0でPXEBootサーバを作って、VIAのボードにPXE使って
FreeBSD7.2をインストールしてみるというBSD的ないつものアレ。


結局のところ分かりにくかったのは、パスの指定場所だったわけだが・・・。

dhcpd.confで指定するfilenameは、pxebootの実体を指すように作る。
 tftpのサーバパス:/var/tftp
 filename:boot/boot/pxeboot
なら、pxebootは/var/tftp/boot/boot/pxebootにあればいい。
 # tftp localhost
 # get boot/boot/pxeboot
で動けばそれでいいんだが。
(訳の分からない階層の深さは、FreeBSDのインストールディスクの階層を知らなかったせい)

option root-pathで指定するのはbootイメージのrootディレクトリ。
これがNFSマウントされる・・・ようだ?
NFSマウントした先が、普段使いのHDDみたいなパーティションになれば良い。
インストールディスクの直下にbootディレクトリがある、ってことは
 192.168.1.1:
  /var
   /tftp
    /boot  ←ここをNFSすれば、/boot/kernelにアクセスできるって寸法かい?
     /boot
      /kernel


以下垂れ流し。




参考
http://jdc.parodius.com/freebsd/pxeboot_serial_install.html
http://wiki.milkcup.jp/index.php?pxeboot%A4%F2%BB%C8%CD%D1%A4%B7%A4%BFFreeBSD%A4%CE%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

TFTPサーバを立てる。

echo 'tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /var/tftp' >> /etc/inet.conf
echo 'inetd_enable="YES"' >> /etc/rc.conf
mkdir /var/tftp/
/etc/rc.d/inetd start

#既に動いている場合は、killall -HUP inetd(killall -HUP `cat /var/run/inetd.run`)

DHCPにPXE用の設定を追加(DHCPの普通っぽい設定はよそで。)


# vi /usr/local/etc/dhcpd.conf

# PXE boot用イメージ
filename "boot/boot/pxeboot";
# PXE boot後参照するNFSディレクトリ
option root-path "192.168.1.1:/var/tftp/boot";


NFSの準備

echo '/var/tftp/boot -maproot=root -network 192.168.1 -mask 255.255.255.0' >> /etc/exports
echo 'rpcbind_enable="YES"' >> /etc/rc.conf
echo 'mountd_enable="YES"' >> /etc/rc.conf
echo 'nfs_server_enable="YES"' >> /etc/rc.conf
echo ''
/etc/rc.d/rpcbind start
/etc/rc.d/mountd start
/etc/rc.d/nfsd start

#元々動かしているならmountdだけrestart

イメージを投入。

cd /var/tftp
mkdir boot
mdconfig -a -t vnode -f /home/test/img/7.2-RELEASE-i386-bootonly.iso
mount -t cd9660 /dev/md0 /var/tftp/boot/



確認。

df -h
showmount -e
tftp localhost
> get pxeboot


ここまできたらPXEBootさせたい機体をDHCPの届くLAN上に置いて起動。
(よく忘れるんだけど、VIAのBIOS設定はDEL、BootSelectはF11)

F11押してPXEBootを選択。
エラーが出ないで進めばよし、進まなければサービスが動いていないかパスの指定ミスでそ。
と、当たりをつけて調べるくらいか。
メッセージは読むけども。


例えばエラー
#PXE no boot filename : dhcpd.confが間違ってたぽい。tftp localhostで確認するんだ。
#no dump device defineってエラーで起動中にこける。後述。


bootloaderまでいかないけど、PXE起動は出来てOKまで出てるとき。
#手打ちでkernelを指定(下記は例だけども)。
# boot kernel/kernel


以下参考文献丸写し。勉強不足なボク。
bootonly(又はdisc1)を直接mountしている場合、loaderが起動後"6 Escape to loader prompt"を選択し、

> set vfs.root.mountfrom="ufs:/dev/md0c"
> boot

で起動。

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

が無いと、多分

no dump device define

ってエラーで起動中にこける。

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。