频道栏目
首页 > 网络 > 其他 > 正文

PXE批量部署Linux之使用iPXE代替PXELINUX

2019-01-08 09:20:33           
收藏   我要投稿

PXELINUX基本已经没有人在维护了,iPXE在支持HTTP等高级传输协议的同时还支持动态语言php之类的解析,同时还可以烧录在网卡上替代网卡出厂设置。唯一比PXELINUX复杂的是这玩意需要自己编译,官方释出的版本会一直重复一个死循环。官方网站给的依赖包有问题,同时iPXE有自己的语法,pxeliux.cfg下的文件不能直接拿来用。这次重复搞这些东西基本上把以前踩过的坑重新都踩了一次,记录一下免得下次又浪费时间

 http://ipxe.org/cmd

 Download and boot a Linux kernel with an initrd

kernel http://192.168.0.1/vmlinuzinitrd http://192.168.0.1/initrd.imgboot

 [root@kickstart ks]# uname -a

Linux kickstart.share.demo 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linuxyum -y install gcc binutils make perl liblzma xz-devel mtools mkisofs

[root@kickstart ~]# cd ipxe/src/[root@kickstart src]# cat demo.ipxe#!ipxedhcpchain http://kickstart.share.demo/ks/boot.ipxe

[root@kickstart src]# make bin/undionly.kpxe EMBED=demo.ipxe

[root@kickstart src]# cat /var/www/html/ks/boot.ipxe#!ipxe

echo product...........: ${product}echo manufacturer......: ${manufacturer}echo platform..........: ${platform}echo chip .............: ${chip}echo serial............: ${serial}echo asset.............: ${asset}echo mac...............: ${mac}echo ip................: ${ip}echo netmask...........: ${netmask}echo gateway...........: ${gateway}echo dns...............: ${dns}echo domain............: ${domain}echo dhcp-server.......: ${dhcp-server}echo filename..........: ${filename}echo next-server.......: ${next-server}echo boot menu will show in 5 secondssleep 5

#login#iseq ${username} fire && goto start || goto error

:startmenuitem --gap -- Vetting CentOSitem --key 7 CentOS7 7---- CentOS 7item --key 6 CentOS6 6---- CentOS 6

choose --default CentOS7 --timeout 6000 target && goto ${target}

:CentOS7kernel http://kickstart.share.demo/centos7/images/pxeboot/vmlinuz ks=http://kickstart.share.demo/ks/cenos7_text.ksinitrd http://kickstart.share.demo/centos7/images/pxeboot/initrd.imgboot:CentOS6kernel http://kickstart.share.demo/centos6/images/pxeboot/vmlinuz ks=http://kickstart.share.demo/ks/centos6_text.ksinitrd http://kickstart.share.demo/centos6/images/pxeboot/initrd.imgboot

:localsanboot --no-describe --drive 0x80 || goto start:shellshell || goto start:rebootreboot || goto start:errorecho You are not intened to be hereecho This is for TEST use onlyecho Which will destory ALL YOU HARDDISK DATAecho If you still believe you need credentialsecho blame jere@echo Warning will be disappeared in 30 secondsecho And your computer will start from local hard disk automaticallysleep 30local || reboot

上一篇:k8s pod和容器概念的区分
下一篇:ubuntu离线安装docker及问题解决
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站