2006-04-27

PXEBoot裝肥多拉(Fedora)

PXEBoot裝肥多拉(Fedora)This entry was originally published at 抓~ 抓到一隻瞌睡蟲

* 安裝 dhcp server

cd /usr/ports/net/isc-dhcp3-server
make install clean (看吧make install clean, 就是這麼簡單, 剩下的都是config)

* 下載 syslinux (這個是拿來做開機選單而已啦.)

cd /tftpboot
fetch http://freshmeat.net/redir/syslinux/10177/url_tgz/syslinux-2.11.tar.gz
tar zxvf syslinux-2.11.tar.gz

* 下載 Fedora安裝的linux kernel, 以及initrd

cd /tftpboot
fetch ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/2/i386/os/images/pxeboot/vmlinuz
fetch ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/2/i386/os/images/pxeboot/initrd.img

* 設定

除了dhcp server之外, 還需要tftp server, 不過FreeBSD已經有系統的tftp server了. 所以只要設/etc/inetd.conf 啟動tftpd即可.
tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot
tftp stream tcp wait root /usr/libexec/tftpd tftpd -s /tftpboot
tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -s /tftpboot

接著是dhcpd.conf的設定. 可以直接拿它的sample來, 再加上額外的設定就可以了,我略過基本的dhcp server的設定, 直接說明使用PXE來開機的設定:

#Definition of PXE-specific options
option space PXE;
#for pxelinux
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
option PXE.magic code 208 = string;
option PXE.configfile code 209 = text;
option PXE.pathprefix code 210 = text;
option PXE.reboottime code 211 = unsigned integer 32;
class “pxeclients” {
#指定tftp server的位址
next-server 192.168.0.254;
#this entry is for diskless OS you can ignore it.
option root-path “192.168.0.254:/files”;

vendor-option-space PXE;
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we can’t provide multicast TFTP (address 0.0.0.0 means no
# address).
option PXE.mtftp-ip 0.0.0.0;

#this entry is for pxelinux
option PXE.magic f1:00:74:7e;
#這裡指定了pxelinux使用的config檔, 如果不指定, pxelinux也會在tftp server
#上尋找. 更詳細的方法可以參考syslinux解開後的pxelinux.doc
option PXE.configfile “pxelinux.cfg/default”;
option PXE.reboottime 30;
#先前設定tftpd的於/tftpboot, 這裡是使用relative path, 所以PXE client會去
#取得dhcp server上的/tftpboot/pxelinux.0
filename “pxelinux.0″;
}

接下來是說明pxelinux的設定, 首先到/tftpboot. 建立一個叫pxelinux.cfg的子目錄, 並編輯pxelinux的default設定.

cd /tftpboot
mkdir pxelinux.cfg
cd pxelinux.cfg
vim default

default的設定可以參考以下的設定, 詳細內容可參考syslinux的說明, 或者參考isolinux的設定:

default linux
prompt=1
timeout 600
label linux
kernel vmlinuz
append nfsroot=192.168.0.254:/files initrd=initrd.img

接下來就是要有支援PXE boot的client了, 假設你手邊有支援PXE boot的網路卡, 相關的設定你也會了. 選擇使用網路開機, 接下來就會進入 Fedora 的安裝畫面了.

* 安裝 Fedora

進入選單後一直按Enter就好了

* Related Links
PXE Related Resources
Network installing FreeBSD
* Note

Fedora已經拿掉了floppy disk boot的支援了(遠在我寫這篇的時候)

UPDATED:
加link

沒有留言: