1.客户端启动系统,选择网卡启动
2.从DHCP服务器获取IP地址等信息
3.还获取到了tftp server(192.168.18.115 服务端IP)
4.通过网卡读取到tftp server(/var/lib/tftpboot)上的pxelinux.0,读取到内存当中
5.在内存中执行引导程序
6.读取引导程序的配置文件(/var/lib/tftpvoot/pxelinux.cfg/default)
7.读取default的内容
initrd.img 驱动程序(我的是7.6的驱动程序和内核) 这个一定要和你装的版本一样,
vmlinuz 内核
#配置yum源
cat > /etc/yum.repos/local.repo << END
[development] #必须这个名字
name=centos7.6
gpgcheck=0
enabled=1
baseurl=file:///media
END
[root@localhost ~]# yum repolist all
#关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
[root@localhost ~]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#" /etc/selinux/config
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
#安装dhcp,tftp-server,httpd,syslinux包
yum install -y httpd syslinux dhcp tftp-server
#配置dhcp,tftp,并启动服务
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
#添加第9,10行,添加46 ~ 55行
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf
9 next-server 192.168.18.115; //tftp-server地址
10 filename "pxelinux.0"; //网络引导程序
46 # A slightly different configuration for an internal subnet.
47 subnet 192.168.18.0 netmask 255.255.255.0 { //网段
48 range 192.168.18.1 192.168.18.100; //ip地址范围
49 # option domain-name-servers ns1.internal.example.org; //dns
50 # option domain-name "internal.example.org"; //域
51 option routers 192.168.18.1; //网关
52 option broadcast-address 192.168.18.255; //广播地址
53 default-lease-time 600; //默认租约期
54 max-lease-time 7200; //最大租约期
55 }
[root@localhost dhcp]# systemctl restart dhcpd //启动服务
[root@localhost dhcp]# netstat -lntup | grep :69 //查看端口
接下来
[root@localhost ~]# vim /etc/xinetd.d/tftp
disable 改为no //设置开机不关闭
systemctl restart tftp //启动tftp
netstat -lntup | grep :69 //查看端口
用于启动安装过程的 bootloader 文件
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost tftpboot]# ls
pxelinux.0
进入光盘挂载目录移动以下文件
[root@localhost media]# cd isolinux/
[root@localhost isolinux]# pwd
/media/isolinux
[root@localhost isolinux]# ls
boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz
boot.msg initrd.img isolinux.cfg splash.png vesamenu.c32
[root@localhost isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinx.cfg/default
[root@localhost isolinux]# cp * /var/lib/tftpboot/
---------------------------------------
#进入到挂载镜像目录的images下把驱动程序和内核移动到
[root@localhost pxeboot]# pwd
/media/images/pxeboot
[root@localhost pxeboot]#
#在/var/lib/tftpboot下创建一个存放驱动程序和内核的文件夹,名字写系统名称就行
[root@localhost tftpboot]# mkdir centos7.6
#把images下的驱动程序和内核复制过去,如果想自定义版本就把其他版本的驱动程序和内核文件复制过去版本,linux的这些文件一般都在images下
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/centos7.6/
#编辑这个文件添加这些文件
[root@localhost tftpboot]# vim pxelinux.cfg/default
65 label centos7.6
66 menu label ^Install CentOS 7.6
67 kernel /centos7.6/vmlinuz
68 menu default
69 append initrd=/centos7.6/initrd.img
-----------------------------------------------
配置http源
systemctl restart httpd //启动httpd
mkdir /var/www/html/test //创建一个存放光盘文件的目录,名字随便
#添加最后一行 让下次开机也会挂载光盘
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 12 02:21:33 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f112aa69-c854-467b-870c-ed8a08b2897a / xfs defaults 0 0
UUID=b38178b3-7b9f-4f2e-ac4f-8e9bff0362d0 /boot xfs defaults 0 0
UUID=ad97379e-efc8-48ac-91fc-3dbcd077893a swap swap defaults 0 0
/dev/sr0 /var/www/html/test iso9660 defaults 0 0
#修改yum源改为http源
[root@localhost yum.repos.d]# cat /etc/yum.repos.d/local.repo
[development]
name=centos7.6
gpgcheck=0
enabled=1
baseurl=http://192.168.18.115/test
[root@localhost yum.repos.d]#
#安装system-config-kickstart包,并生成ks无人值守脚本
yum install -y system-config-kickstart
执行这个命令 system-config-kickstart
接下来会出现以下界面,就可以配置了
#配置引导项
第一步
第二步
第三步
第四步
第五步
第六步
第七步 //这一步必须勾标红的
第八步
#!/bin/bash
cat > /etc/yum.repos.d/httpd.repo << END
[development]
name=centos7.6
gpgcheck=0
enabled=1
baseurl=http://192.168.18.115/ks
END
useradd admin
echo 000000 | passwd --stdin admin
注意:这边保存保存错了,应该把test.cfg改为ks.cfg
最后创建 一个ks目录
mkdir /var/www/html/ks
把上面的ks.cfg文件保存在ks目录下面
mkdir /var/www/html/ks
mv test.cfg /var/www/html/ks/
#最后访问下面这个文件添加 ks=http://192.168.18.115/ks/ks.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
65 label centos7.6
66 menu label ^Install CentOS 7.6
67 kernel /centos7.6/vmlinuz
68 menu default
69 append initrd=/centos7.6/initrd.img test=http://192.168.18.115/ks/ks.cfg
后续更新个cobbler自动装系统哈哈哈
不怎么会写,当做自己的笔记吧!