attcat 2015-07-22
最近遇到一个问题,公司内部的Linux服务器由于比较老,光驱坏了,也不支持U盘启动,所以没办法,只能用pxe来安装操作系统。网上教程很多,但是不够清晰,下来我来写一下我的安装过程。
A.安装dhcp服务器
yum install dhcp 
vim /etc/dhcp/dhcpd.conf 
#可以直接拷贝我的下列配置,修改子网即可 
ddns-update-style interim; 
ignore client-updates; 
allow booting; 
allow bootp; 
subnet 192.168.2.0 netmask 255.255.255.0 { 
    range 192.168.2.250 192.168.2.253; 
    option routers 192.168.2.1; 
    option subnet-mask 255.255.255.0; 
    default-lease-time 21600; 
    max-lease-time 43200; 
    next-server 192.168.2.136; 
    filename "pxelinux.0"; 
}
备注:
next-server:指定的地址是你启动文件存放的那个服务器,一般是tftp服务器地址。
启动dhcp服务器,如果报错,查看/var/log/message
chkconfig --add dhcpd 
service dhcpd start
B.安装tftp服务器
yum install tftp-server 
/etc/xinetd.d/tftp
#直接拷贝即可 
service tftp 
{ 
        socket_type             = dgram 
        protocol                = udp 
        wait                    = yes
        user                    = root 
        server                  = /usr/sbin/in.tftpd 
        server_args             = -s /var/lib/tftpboot
        disable                 = no 
        per_source              = 11 
        cps                     = 100 2 
        flags                   = IPv4 
}
启动
/etc/init.d/xinetd restart
C.安装一个http/nfs/ftp 中的任意一个即可,用来存放ks.cfg和iso镜像文件。
我选用http
yum install httpd  
/etc/init.d/httpd start 
chkconfig httpd on
D.配置tftp里面的所需文件
#引导文件 
yum install syslinux  
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
  
#内核文件,把光盘挂在在/mnt即可。 
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg 
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  
vim /var/lib/tftpboot/pxelinux.cfg/default
#修改为如下,修改自己的服务器地址即可。 
  
default linux 
prompt 1 
timeout 600 
  
display boot.msg 
  
menu background splash.jpg 
menu title Welcome to CentOS 6.6! 
menu color border 0 #ffffffff #00000000 
menu color sel 7 #ffffffff #ff000000 
menu color title 0 #ffffffff #00000000 
menu color tabmsg 0 #ffffffff #00000000 
menu color unsel 0 #ffffffff #00000000 
menu color hotsel 0 #ff000000 #ffffffff 
menu color hotkey 7 #ffffffff #ff000000 
menu color scrollbar 0 #ffffffff #00000000 
  
label linux 
  menu label ^Install or upgrade an existing system 
  menu default 
  kernel vmlinuz 
  append   ks=http://192.168.2.136/ks.cfg initrd=initrd.img 
label vesa 
  menu label Install system with ^basic video driver 
  kernel vmlinuz 
  append initrd=initrd.img xdriver=vesa nomodeset 
label rescue 
  menu label ^Rescue installed system 
  kernel vmlinuz 
  append initrd=initrd.img rescue 
label local
  menu label Boot from ^local drive 
  localboot 0xffff 
label memtest86 
  menu label ^Memory test
  kernel memtest 
  append -
E.配置kickstart
#安装镜像位置 
mkdir /var/www/html/dvd
cp -r /mnt/*  /var/www/html/dvd
#配置kickstart文件 
yum install system-config-kickstart 
cp /root/anaconda-ks.cfg /var/www/html/ks.cfg  
vi ks.cfg 
#可以直接拷贝下列文件,注意http服务器修改为自己的即可。 
# Install OS instead of upgrade 
install
# Use network installation 
url --url="http://192.168.2.136/dvd"
# Root password 
rootpw --iscrypted $1$t8TZKP5c$0OdX9sWkdoYuZlIXBkU8R. 
# System authorization information 
auth  --useshadow  --passalgo=sha512 
# Use graphical install 
graphical 
firstboot --disable 
# System keyboard 
keyboard us 
# System language 
lang en_US 
# SELinux configuration 
selinux --disabled 
# Installation logging level 
logging --level=info 
# Reboot after installation 
reboot 
# System timezone 
timezone --isUtc Asia/Shanghai
# System bootloader configuration 
bootloader --location=mbr 
# Partition clearing information 
clearpart --all 
  
%packages 
@base 
  
%end
F.配置结束,可以找一台主板具有pxe的功能机子测试即可。
据我所知,目前大部分PC机就支持的。