機器一多,就得思考怎麼做才能快速安裝,事實證明人類是種很懶惰的動物... zzz...
PXE, 簡單來說是種結合多種 protocols, 其中包含 DHCP 及 TFTP. 可以用來讓一些裝置進行網路開機的一種協定。目前,我是用Gentoo Linux來提供 boot service, 透過 HTTP 安裝 Fedora 12.
當然,你得先確認你的 client 網卡支援 PXE.
Step1. 安裝 boot service 必要套件
gentoo# emerge -uD net-misc/dhcp
gentoo# emerge -uD net-ftp/atftp
gentoo# emerge -uD sys-boot/syslinux
Step2. 設定 boot service
gentoo# cat /etc/dhcp/dhcpd.conf
---
option domain-name "twaren.net";
option domain-name-servers 8.8.8.8, 211.79.61.4;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
log-facility local7;
allow booting;
allow bootp;
ignore client-updates;
subnet 211.79.x.128 netmask 255.255.255.128 {
range 211.79.x.172 211.79.x.181;
option subnet-mask 255.255.255.128;
option broadcast-address 211.79.x.255;
option routers 211.79.x.254;
next-server 211.79.x.154; #指定 booter
filename "pxelinux.0"; #指定boot file
}
---
gentoo# cp /usr/share/syslinux/pxelinux.0 /home/tftpd
gentoo# wget http://ftp.twaren.net/Linux/Fedora/linux/releases/12/\
Fedora/i386/os/images/pxeboot/initrd.img
gentoo# wget http://ftp.twaren.net/Linux/Fedora/linux/releases/12/\
Fedora/i386/os/images/pxeboot/vmlinuz
gentoo# cat /home/tftpd/pxelinux.cfg/default #你可以設定不同 host, 吃不同的 boot images
---
prompt 1
default pxeboot
timeout 50
label pxeboot
kernel vmlinuz
append initrd=initrd.img
ONERROR LOCALBOOT 0
---
gentoo# find /home/tftpd/ -type f
/home/tftpd/pxelinux.0
/home/tftpd/initrd.img
/home/tftpd/vmlinuz
/home/tftpd/pxelinux.cfg/default
Step3. 啟動 boot service
gentoo# /etc/init.d/dhcpd start
gentoo# atftpd --logfile /var/log/tftpd.log --daemon /home/tftpd/
Step4. 啟動 client, 開始安裝 OS
幾本上如果你上述的設定都正常 work, 且你的 client 網卡支援 PXE, 你應該可以取得 IP, 並下載 kernel, 啟動安裝流程。
在安裝來源選擇 URL 即可透過 ftp, http 進行網路安裝。
沒有留言:
張貼留言