本節內容會介紹各種複雜開機方式的組態工作。其中包含 DHCP、PXE 開機、TFTP 和網路喚醒功能的立即套用組態範例。
您可以手動編輯適當的組態檔案,以完成 SUSE Linux 上的 DHCP 伺服器設定。本節內容會介紹如何擴充現有 DHCP 伺服器組態,來提供 TFTP、PXE 和 WOL 環境中所需的資料。
除了提供您網路用戶端自動位址配置,DHCP 伺服器需要執行的所有工作就是宣告 TFTP 伺服器的 IP 位址,以及宣告目標機器上安裝常式應使用的檔案。
以 root 身分登入代管 DHCP 伺服器的機器。
將下面幾行附加到 /etc/dhcpd.conf 下的 DHCP 伺服器組態檔案:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifiies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
}將 ip_of_the_tftp_server 取代成 TFTP 伺服器的實際 IP 位置。
如需更多 dhcpd.conf 中可用選項的詳細資訊,請參閱 dhcpd.conf man 頁面。
執行 rcdhcpd restart 重新啟動 DHCP 伺服器。
如果您計畫使用 SSH 來遠端控制 PXE 和網路喚醒功能安裝,請明確指定 DHCP 應提供給安裝目標的 IP 位址。若要完成這項工作,請根據以下範例修改上述 DHCP 組態:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifiies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
host test { hardware ethernet mac_address;
fixed-address some_ip_address; }
}
這項主機陳述式將引入安裝目標的主機名稱。若要結合特定主機的主機名稱和 IP 位址,您必須了解並指定系統的硬體 (MAC) 位址。將此範例中的所有變數取代成符合您環境的實際值。
重新啟動 DHCP 伺服器後,DHCP 伺服器會提供指定的主機一個靜態 IP,讓您可以透過 SSH 連線到系統。
您可以在任何支援 xinetd 和 tftp 的 Linux 作業系統上,使用 YaST 設定或是手動設定 TFTP 伺服器。每當目標系統開機時,TFTP 伺服器即會傳送開機影像至目標系統,並傳送對目標系統的要求。
以 root 身分登入,並安裝 tftp 和 xinetd 套件。
若無法安裝,請建立 /srv/tftpboot 和 /srv/tftpboot/pxelinux.cfg 目錄。
接著,請加入開機影像需要的正確檔案,詳細步驟說明請參閱節 1.3.3, "PXE 開機"。
修改位於 /etc/xinetd.d/ 下 xinetd 組態,確保開機時會啟動 TFTP 伺服器:
如需取得一些技術背景資訊和 PXE 的完整規格,請參閱「開機前執行環境 (Preboot Execution Environment, PXE) 規格」 (ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf)。
輸入以下指令,以變更安裝儲存區的目錄,並將 linux、initrd、message 和 memtest 檔案複製到 /srv/tftpboot 目錄:
cp -a boot/loader/linux boot/loader/initrd
boot/loader/message boot/loader/memtest /srv/tftpboot請使用 YaST 直接從您的安裝 CD 或 DVD 安裝 syslinux 套件。
輸入以下指令,將 /usr/share/syslinux/pxelinux.0 檔案複製到 /srv/tftpboot 目錄:
cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
輸入以下指令,切換至安裝儲存區的目錄,並將 isolinux.cfg 檔案複製到 /srv/tftpboot/pxelinux.cfg/default:
cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
編輯 /srv/tftpboot/pxelinux.cfg/default 檔案,並移除開頭為 gfxboot、readinfo 和 framebuffer 等行文字。
接著,在預設的 failsafe 和 apic 標籤附加行中,插入下面項目:
insmod=e100
插入這個項目之後,便可將 Intel 100MBit/s 網路卡使用的核心模組載入到 PXE 用戶端上。這個項目會因用戶端的硬體而異,所以必須視情況修改輸入內容。如果您是使用 Broadcom GigaBit 網路卡,這個項目就要改成 insmod=bcm5700。
netdevice=eth0
這個項目可定義網路安裝時必須使用的用戶端網路介面。只有當用戶端配有數張網路卡時才必須插入這個項目,而且必須視情況修改項目內容。如果只有使用一張網路卡,就可以省略這個項目。
install=nfs://ip_instserver/path_instsource/CD1
這個項目可定義用戶端安裝時所適用的 NFS 伺服器和安裝來源。將 ip_instserver 取代成安裝伺服器的實際 IP 位址;而 path_instsource 應該要取代成安裝來源的實際路徑。HTTP、FTP 或 SMB 來源皆以類似方法指定位址,除了其通訊協定字首 http、ftp 或 smb 等差異。
![]() | 重要 |
|---|---|
如果您需要傳送其他開機選項給安裝來源,例如 SSH 或 VNC 開機參數,那麼請將這些參數附加到 | |
以下將介紹 /srv/tftpboot/pxelinux.cfg/default 範例檔案。調整安裝來源的通訊協定字首以府合您的網路設定,接著將 vnc 和 vncpassword 或 ssh 和 sshpassword 選項新增到 install 輸入內容,以指定連接到安裝程式的方式。這幾行內容會以 \ 分隔,而且應該是連續一行,中間不可間斷,也不能使用 \。
default linux
# default
label linux
kernel linux
append initrd=initrd ramdisk_size=65536 insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# failsafe
label failsafe
kernel linux
append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \
insmod=e100 install=nfs://ip_instserver/path_instsource/product
# apic
label apic
kernel linux
append initrd=initrd ramdisk_size=65536 apic insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# manual
label manual
kernel linux
append initrd=initrd ramdisk_size=65536 manual=1
# rescue
label rescue
kernel linux
append initrd=initrd ramdisk_size=65536 rescue=1
# memory test
label memtest
kernel memtest
# hard disk
label harddisk
kernel
linux append SLX=0x202
implicit 0
display message
prompt 1
timeout 100
將 ip_instserver 和 path_instsource 取代成在您設定中所使用的值。
下節內容可作為本次安裝中所使用 PXELINUX 選項的簡要參考。如需更多可用選項的資訊,請參閱 /usr/share/doc/packages/syslinux/ 中的 syslinux 套件說明文件。
此處列出的選項為 PXELINUX 組態檔案中所有可用選項的子集合。
DEFAULT kernel options...
設定預設的核心指令行。當 PXELINUX 是自動開機時,它的執行方式就像是在 DEFAULT 之後於開機提示輸入項目,除了這時自動選項是自動加入,表示這是自動開機。
如果目前沒有任何組態檔案,或是組態檔案中沒有任何 DEFAULT 項目,那麼預設值會是不包含任何選項的核心名稱 "linux"。
APPEND options...
新增一個或多個選項至核心指令行。這些新增選項是用於自動和手動開機。新增選項會加在每個核心指令行的開頭位置,通常您只要明確輸入核心選項,便可覆寫這些選項。
LABEL label KERNEL image APPEND options...
指示是否要將輸入的 label 當作開機核心,或是 PXELINUX 應該要開機 image;以及是否要使用指定 APPEND 選項,而不是使用該檔案全域區段中的指定選項 (在第一個 LABEL 指令前)。image 的預設值與 label 相同,而且如果沒有指定 APPEND,就會預設使用全域項目 (如果有的話)。您最多可輸入 128 個 LABEL 項目。
請注意,GRUB 將使用以下語法:
title mytitle kernelmy_kernelmy_kernel_optionsinitrdmyinitrd
而 PXELINUX 是使用以下語法:
labelmylabelkernelmykernelappendmyoptions
標籤會像檔名一樣進行拆分 (Mangle),因此它們在拆分之後一定會是唯一專屬名稱。舉例來說,"v2.1.30" 和 "v2.1.31" 這兩個標籤在 PXELINUX 中將無法辨識,因為它們都會拆分成相同的 DOS 檔案名稱。
這時的核心不一定要是 Linux 核心,它可以是開機磁區或 COMBOOT 檔案。
不附加任何項目。在 LABEL 區段中作為引數的包含單一連字號的 APPEND,可以用來覆寫全域的 APPEND。
LOCALBOOT type
在 PXELINUX 上,指定 LOCALBOOT 0 而不指定 KERNEL 選項,表示要呼叫此特定標籤;而且最後要使用本機磁碟開機,而不使用核心開機。
|
引數 |
說明 |
|---|---|
|
|
執行正常開機 |
|
|
使用仍常駐在記憶體中的「通用網路驅動程式介面」(Universal Network Driver Interface, UNDI) 驅動程式執行本機開機。 |
|
|
使用仍常駐在記憶體中完整的 PXE 堆疊 (包括 UNDI 驅動程式) 執行本機開機。 |
其他所有值都未定義。如果您對 UNDI 或 PXE 堆疊不甚了解,請指定 0。
TIMEOUT time-out
指示在開機提示等待自動開機的時間長度,單位為 1/10 秒。使用者只要在鍵盤上按下任何一個鍵,就會取消逾時,且會如預期開始執行使用者設定的指令。如果逾時時間設為 0,則會完全停用逾時功能 (此設定值亦為預設值)。
可能的最大逾時值為 35996 (剛好少於一個小時)。
PROMPT flag_val
如果 flag_val 為 0,只有在按下 Shift 或 Alt,或者已設定 Caps Lock 或 Scroll lock 時才會顯示開機提示 (此設定值為預設值)。如果 flag_val 為 1,則永遠會顯示開機提示。
F2filenameF1filename..etc... F9filenameF10filename
可在開機提示下按下功能鍵時,於螢幕畫面上顯示指定的檔案。這可用來執行開機前線上說明 (應是用於核心指令行選項的說明)。如果是使用較早版本的反向相容,F10 也可以當作 F0 輸入。請注意,目前還無法將檔案名稱繫結至 F11 和 F12。
請在 BIOS 開機順序中包含 PXE 選項,以便準備 PXE 開機的系統 BIOS。
![]() | 警告 |
|---|---|
請勿將 PXE 選項置於 BIOS 硬碟開機選項之前。否則,此系統會在您每次重新開機時嘗試重新安裝系統。 | |
「網路喚醒功能」可讓機器透過經由網路傳送、而且包含機器 MAC 位址的特定網路套件,來進行開機。因為世界上的每台機器都有一個獨一無二的 MAC 識別碼,所以您不需要擔心會不小心啟動到錯誤的機器。
![]() | 重要 |
|---|---|
如果控制機器與喚醒安裝目標的位置不在同一個網路區段,請將要傳送的 WOL 要求設定為多重廣播,或者遠端控制網路區段上傳送這些要求的機器。 | |