准备(以centos7为例)
①关闭防火墙
②关闭selinux
③dhcp服务设置为静态IP
④安装软件包
http:充当yum源安装包仓库
tftp-server :在它的工作目录存在引导主机的工作文件
dhcp :地址分配
syslinx:辅助文件其中pxelinux.0引导系统,可以理解为grup的作用
system-config-kickstart:生成kickstart文件ks.cfg
制作流程
1)配置共享服务(http)
① 进入http工作目录
cd /var/www/html/ #
② 创建必须目录
mkdir -pv centos/7/os/x86_64/ #
③ 为这个目录挂载光盘
mount /dev/sr0 . #
④ 启动http服务并开机自启动
systemctl start httpd # systemctl enable httpd #
2)将前面我们制作的kickstart文件ks.cfg复制到http工作目录
cp /root/ks.cfg /var/www/html/ #
备注:测试下我们搭建的HTTP共享服务有效,在浏览器中输入你机器的ip地址如下
x.x.x.x/centos/7/os/x86_64
x.x.x.x/ks.cfg 查看ks.cfg文件是否能访问,要是不能访问看下权限
3)搭建dhcp服务
备注:虚拟机的话,使用仅主机模式,把vm软件虚拟网络编辑器--仅主机模式的dhcp去掉
① 编辑dhcp配置文件
vim /etc/dhcp/dhcpd.conf #
② 开启dhcp服务并开机自启动
systemctl enabled dhcpd #
systemctl start dhcpd #
备注:如果出现如下图提示的错误,则是不在一个网段,重启网络服务也有这种提示
4)开启tftp-server服务,并把拷贝文件到它的工作目录
systemctl start tftp-server #开启 cd /cd /var/lib/tftpboot/ #进入工作目录 cp /usr/share/syslinux/{pxelinux.0,menu.c32} . #拷贝启动文件与背景插件 cp /misc/cd/isolinux/vmlinuz . cp /misc/cd/isolinux/initrd.img . #拷贝内核文件 mkdir pxelinux.cfg #创建pxelinux.cfg目录 cp /misc/cd/isolinux/isolinux.cfg pxelinux.cfg/default #将启动菜单复制到pxelinux.cfg目录下并改名为default
5)修改default文件
default menu.c32 timeout 600 menu title CentOS 7 label auto menu label ^Auto Install CentOS 7 kernel vmlinuz append initrd=initrd.img ks=http://192.168.1.116/ks.cfg label manual menu label Test this ^Manual install CentOS 7 menu default kernel vmlinuz append initrd=initrd.img inst.repo=http://192.168.1.116/centos/7/os/x86_64/ label local menu label Boot from ^local drive localboot 0xffff
备注:tftpboot目录最终结果如图
6)完成,找台主机进行测试,网卡启动-网络安装
centos6和centos7操作不一样的地方
1)在6上tftp-server服务器要依赖与xinetd服务
vim /etc/xinetd.d/tftp #
启动xinetd服务
service xinetd start #
2)带有pxelinux.0文件的包是如下这个
3)在修改菜单文件中
4)最终目录结构如图
其他的都一样的步骤