最近機房進了幾部機器,有一些要做網路開機的測試,我在網路上查了一下,好像可以用DHCP的pxe boot,但是設定都不是寫的很詳細,我是FREEBSD的新手,對這方面不是很懂~不知道有沒有人知道如何pxe boot,可以分享^^
這幾天剛好在玩這部份,大致的心得如下,你參考看看,或許你的環境得修改一下做法
* 改更dhcpd.conf,加入下列敘述後,重跑dhcpd,以啟動PXE開機時可抓到開機影像檔
next-server TFTP_server_address;
filename "pxelinux.0";
* 啟動TFTP (安裝的機器位址和 dhcpd.conf 裡所指定的next-server需一致)
:#安裝 /usr/ports/ftp/tftp-hpa
:#更改inetd.conf,或將 tftpd以alone的方式執行服務,以啟動tftpd
:* 須注意tftp的安全性及 防火牆 的問題
* 抓下pxelinux工具
http://syslinux.zytor.com/download.php 主要是用到裡面的pxelinux.0、memdisk和menu.c32,將這此檔案放到tftp的根目錄下
* 修改 tftp目錄下的 pxelinux.cfg/default,範例如下
DEFAULT menu.c32 '預設以menu.c32這個核心來啟動,即出現選單
PROMPT 0 '不要用prompt的方式,即啟用選單
ALLOWOPTIONS 0 '不要該使用者有選擇權,例如更改啟動參數或直接離開選單
TIMEOUT 50 '選單的提示時間,50好像是指5秒
MENU TITLE PXELinux Menu '選單的標題
LABEL freebsd54 '名稱
MENU LABEL BSD '選單上的標題
kernel memdisk '用來啟動影像檔的核心,pxelinux提供
append initrd=fbsd54.img c=812 h=255 s=63 '要載入的影像檔及參數,此例為將bsd的bootonlyCD所做成的PXE影像檔
LABEL local
MENU DEFAULT LOCAL ' MENU DEFAULT 是預設選單指向
LOCALBOOT 0 ' 直接以硬碟開機
LABEL dos
MENU LABEL DOS
kernel memdisk
append initrd=dos.img ' 將磁片做成影像檔後,直接放進來就可以用了,不用加參數,下面的也都是直接用磁片所做成的影像檔
LABEL ghost2003
MENU LABEL ghost2003
kernel memdisk
append initrd=ghost2003.img
另外,你也可以用3COM出的一個boot image editor的軟體去做,網路上打 pxe ghost 可以找到一堆,不過我玩的結果是 pxelinux 更方便(ps. pxelinux不是只用在linux,它只是一個送到client去的東東)