IPXE安装ESXI

  • A+
所属分类:VPS教程

准备工作先建立一个web服务.

将esxi的iso下载解压并将boot.cfg配置修改好

#自定义内容
esxiurl=http://$sesrver/VMware-VMvisor-Installer-6.5.0.XXXX.x86_64.iso
isoname=VMware_esxi.iso
tmppath=tmp
isocache=esxipath
#-------------------------------------------------------------------------------------
mkdir $isocache $tmppath
wget -c $esxiurl -O $isoname
mount $isoname $tmppath
rsync -az $tmppath/ $isocache/
umount $tmppath
sed -i 's#/##g' $isocache/boot.cfg
sed -i 's/prefix/#prefix/g' $isocache/boot.cfg
sed -i 's/kernelopt/#kernelopt/g' $isocache/boot.cfg
kickstart文件也可以一起丢到esxi的web目录下面

ipxe默认没有开启支持SYSLINUX COMBOOT,需要自己编译进去

yum install git mkisofs gcc make rsync
git clone git://git.ipxe.org/ipxe.git
cd ipxe/src
cat>>config/local/general.h<<EOF
#define DOWNLOAD_PROTO_HTTPS
#define IMAGE_COMBOOT
EOF
make bin/{ipxe.iso,undionly.kkpxe,ipxe.usb} bin-x86_64-efi/ipxe.efi
mkdir ipxe
cp bin/{ipxe.iso,undionly.kkpxe,ipxe.usb} bin-x86_64-efi/ipxe.efi ipxe
编译好的undionly.kkpxe放到tftp目录下, 然后dhcp引导加载

IPXE脚本部分:

#!ipxe
iseq ${platform} efi && goto is_efi ||
kernel {$mirror}/mboot.c32 -c {$mirror}/boot.cfg ks=http://{$server}/kickstart prefix={$mirror} nameserver={$dns} BOOTIF={$mac} ip={$ip} netmask={$netmask} gateway={$gateway} kernelopt=allowLegacyCPU=true
boot

:is_efi
kernel {$mirror}/efi/boot/bootx64.efi -c {$mirror}/boot.cfg ks=http://{$server}/kickstart prefix={$mirror} nameserver={$dns} BOOTIF={$mac} ip={$ip} netmask={$netmask} gateway={$gateway} kernelopt=allowLegacyCPU=true
boot
{$mirror}是esxi的iso解压出来可以http访问的地址

这里特别感谢https://blog.open4j.com/2019/05/30/ipxe-build-embedded-script/ 点破了COMBOOT的问题.

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: