2019/11/11 修訂
我們所架設的 PXE 伺服器主要提供同網域 (192.168.10.0/24) 上其它主機能透過網路開機,為了提供網路開機的功能,必須在 PXE 伺服器上安裝 DHCP 伺服器、TFTP 伺服器,底下介紹如何安裝 TFTP 伺服器:
請執行底下指令以安裝 tftp 套件:
# apt-get install tftpd-hpa \Enter
要設定 tftp 伺服器可以提供網路開機的服務必須先下載 X86_64 之 netboot 檔案,下載位置如底下所示:
http://192.168.10.254/debian/dists/buster/main/installer-amd64/current/images/netboot/
ftp://ftp.tw.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/
下載完畢後請以 root 權限將 netboot.tar.gz 解開在 /srv/tftp 目錄,指令如下:
# tar xfva netboot.tar.gz -C /srv/tftp \Enter
解完之後在 /srv/tftp 目錄下會有底下檔案:
root@pxe:/srv/tftp# ls -l
total 18908
drwxrwxr-x 3 root root 4096 Mar 30 06:03 debian-installer
lrwxrwxrwx 1 root root 47 Mar 30 06:03 ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32
-rw-r--r-- 1 root root 19351686 May 6 10:39 netboot.tar.gz
lrwxrwxrwx 1 root root 33 Mar 30 06:03 pxelinux.0 -> debian-installer/amd64/pxelinux.0
lrwxrwxrwx 1 root root 35 Mar 30 06:03 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
-rw-rw-r-- 1 root root 64 Mar 30 06:03 version.info
如果沒有問題的話,接下來就可以準備啟動 tftp 伺服器了。
請執行底下指令來啟動 tftp 伺服器:
# /etc/init.d/tftpd-hpa restart \Enter
[ ok ] Restarting HPA's tftpd: in.tftpd.
這表示目前 tftp 已經啟動成功了,如果希望設定 tftp 伺服器於下次開機後自動執行,請使用 update-rc.d 來進行設定,如底下所示:
# update-rc.d tftpd-hpa defaults \Enter
其輸出如下所示:
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match tftpd
-hpa Default-Stop values (1)
啟動完畢後,我們新增一個 buildlinux1.sh 來測試 tftp 伺服器是否已可正常使用,其內容如下:
# IP=192.168.10.254 pxeserver.example.org
CPU=host
SMP=2
MEMORY=1024
HDA=linux1.img
HDA_SIZE=10G
MAC="DE:AD:BE:CF:EC:B9"
BRIDGE=br10
CDROM=/opt/iso/debian-8.3.0-amd64-CD-1.iso
[ -f $HDA ] && rm $HDA
qemu-img create $HDA $HDA_SIZE -f qcow2
qemu-system-x86_64 -enable-kvm -cpu $CPU -smp $SMP -m $MEMORY \
-drive file=$HDA,format=qcow2 \
-boot n \
-net nic,macaddr=$MAC -net bridge,br=$BRIDGE
新增完畢後,請執行:
~/virtualclassroom$ sh buildlinux1.sh
理論此時可以看到網路開機的畫面,然後可以開始裝機,這是我們第一台 linux 測試機器,其名稱為 linux1.my.com。
沒有留言:
張貼留言