ipxe无盘服务器,SYSLINUX PXE gPXE iPXE PXELINUX DHCP 无盘
帖子
以下是抄來的....其實都不知道裝的是syslinux的還是啥了。僅DHCP是不能的,是pxe做了proxyDHCP, 才完成了引導,加載的怕就是syslinux
筆記: SYSLINUX PXE gPXE iPXE PXELINUX DHCP 無盤 遠程 啟動(2012-11-08 13:19:34)轉載▼標簽: pxesyslinux遠程啟動 分類: 技術筆記
本文是筆記,不保證100%正確,提醒自己用而已,如有錯誤歡迎指正。謝謝。
QQ: 89175244
PXE/gPXE/iPXE/DHCP/PXELINUX/SYSLINUX等的概念和其作用一定要清晰,不然思路很容易亂。
1.
PXE是Intel提出的,用以網卡啟動。通過DHCP獲取IP以及TFTP獲取啟動文件。
gPXE/iPXE是PXE的擴展版,支持HTTP等多種獲取手段。iPXE由gPXE分支而來(fork),功能更豐富。
一般網卡ROM支持PXE,但不支持gPXE/iPXE,除非刷ROM。
SYSLINUX 是一個bootloader,和GRUB等無異。
PXELINUX 是一個支持PXE的bootloader,SYSLINUX不支持PXE。PXELINUX/SYSLINUX語法基本一致。
2.
如要用PXE啟動,DHCP需要支持PXE協議,普通DHCP回復是被PXE忽略的。主流DHCP服務器如ISC DHCP Server都支持PXE協議 (通過指定name實現)。
3.
gPXE/iPXE支持多種方式(如網卡ROM<.rom>,U盤<.usb>,CDROM ISO<.liso>,KERNEL<.lkrn>,供PXE調用的ROM<.pxe>等),所以會有不同的封裝形式,要區分清楚。如把網卡ROM當KERNEL使用就是一個錯誤,又比如SYSLINUX中讀取了ROM版,而不是kernel版的gPXE。
提醒:“PXELINUX(另外一個支持PXE啟動的工具)”和“PXE版的gPXE”都是PXE的客戶端;“內核版的gPXE”是供SYSLINUX這類bootloader使用的內核,和vmlinuz這類無差別。
3.1. 傳統方式鏈式CHAINLOAD(如SYSLINUX/GRUB/LOADIN等)調用gPXE/iPXE
SYSLINUX: KERNEL gpxe.lkrn
GRUB: KERNEL gpxe.lkrn
供SYSLINUX使用的內核版本的iPXE,可從編譯出的ISO文件中提取,名字是ipxe.krn。
3.2. PXE調用gPXE/iPXE
DHCP設置bootfile為gpxe.pxe/ipxe.pxe文件就可以了(如替代pxelinux.0文件),以減少改動幅度。當然,DHCP也需要調整,需要區分開PXE和gPXE/iPXE的DHCP請求,可參考gPXE: http://etherboot.org/wiki/pxechaining#using_isc_dhcpd
iPXE: http://ipxe.org/howto/dhcpd#pxe_chainloading
3.3. gPXE/iPXE啟動ISO(如WinPE)
以下兩行可以搞定,可以放在script中運行,記得先運行dhcp。對,是initrd先,再chain,這里沒有寫錯。
initrd http://1.2.3.4/boot/win7pe.iso
linux http://1.2.3.4/boot/memdisk iso raw (gPXE里邊只能linux,不能用chain)
或者
initrd http://1.2.3.4/boot/win7pe.iso
chain http://1.2.3.4/boot/memdisk iso raw
memdisk是syslinux的,和SYSLINUX一個用法,這個自己搞定啦。:)
3.4. iPXE指定啟動文件的方法
http://ipxe.org/embed
如果是U盤用syslinux啟動ipxe,還是很方便可以指定多種啟動方式的。
附上不錯的解析文章:
http://www.0xf8.org/2012/04/clarifying- ... -gpxeipxe/
http://blogs.technet.com/b/dominikheinz ... asics.aspx
配置文件(片段)如下。
D:\tftpd\boot\pxelinux.cfg\default文件:
LABEL l_REMOTEwinpeiso1
MENU LABEL Win7 PE Remote
INITRD http://192.168.39.63:88/1.iso
LINUX http://192.168.39.63:88/memdisk
APPEND iso raw
D:\tftpd\tftpd32.ini文件:
[DHCP]
Lease_NumLeases=2
IP_Pool=170371264
PoolSize=5
BootFile=/boot/pxelinux.0
DNS=0
Mask=16777215
Gateway=0
DomainName=
[TFTPD32]
BaseDirectory=D:\tftpd
TftpPort=69
總結
以上是生活随笔為你收集整理的ipxe无盘服务器,SYSLINUX PXE gPXE iPXE PXELINUX DHCP 无盘的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: web css 苹方字体设置
- 下一篇: eureka-server and cl
