PXE的工作过程
1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3.客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装
有人值守
安装需要的服务器(tftp-server/dhcp/ftp)
yum -y install tftp-server
修改配置文件
vi /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot
disable = no
tftp服务器由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后再启动xinetd服务即可。
安装dhcp服务yum -y install dhcp
vi /etc/dhcp/dhcpd.conf 修改配置文件
ddns-update-style none;
next-server 192.168.80.33;//指定TFTP服务器的地址
filename "/pxelinux.0";//指定PXE引导程序的文件名
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.150 192.168.80.200;
option routers 192.168.80.33;
}
yum install vsftpd 安装ftp服务
mount /dev/cdrom /var/ftp/pub 挂载到ftp目录下
二、复制网络启动所需要文件到tftp服务器的根目录下
用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下
――――――――――――――――――――――――――――――
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
――――――――――――――――――――――――――――――
启动菜单用来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考以下操作手动建立。
―――――――――――――――――――――――――――――――――――
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安装菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot //图形化安装菜单
三、启动所有服务器
启动所有服务器:
service dhcpd restart
service vsftpd restart
service xinetd start
开启自启动
chkconfig --level 345 xinetd on
chkconfig --level 345 tftp on
绑一块网卡上
现在测试 有人值守安装系统
发现有错误 一定要把
[root@hao ~]# setenforce 0 linux安全关掉
直接安装
URL ftp://192.168.80.33/pub //安装的时候指定的路径是将光盘挂在/var/ftp/pub是目录下,不是写的绝对路径的
完成
自动安装配置 无人值守自动安装
yum -y install system-config-kickstart 安装应答文件
vi /var/lib/tftpboot/pxelinux.cfg/default 修改配置文件
default vesamenu.c32
prompt 0//0表示不等待用户控制
timeout 1
…………
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=ftp://192.168.80.33/ks/ks.cfg initrd=initrd.img
mkdir /var/ftp/ks
cp anaconda-ks.cfg /var/ftp/ks/
cd /var/ftp/ks/
mv anaconda-ks.cfg ks.cfg
chmod 644 ks.cfg
[root@ling ks]# ls -l ks.cfg
-rw-r--r--. 1 root root 935 4月 29 18:00 ks.cfg
cp -rf /var/ftp/pub/* /var/ftp/ks/ &
将光盘挂到ftp的"/var/ftp/pub/"目录下,再将它下面的所有的包拷备到“/var/ftp/ks”我建的这个目录下,“&”表示将这个任务放到后台工作
这个原来的文件要修改一下的
vi ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://192.168.5.2/ks"
# Root password
rootpw --iscrypted $1$QSWSwNZn$rrau1E0fRKby1fEKksJsi1
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang zh_CN.UTF-8
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# System timezone
timezone --utc Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part / --fstype="ext4" --size=16000
part /opt --fstype="ext4" --size=4000
part swap --fstype="swap" --grow --size=1
%packages
@chinese-support
@basic-desktop
@kde-desktop
@x11
%end
也可以直接自定义个性系统!