#!/bin/sh
#data 2011-7-23
#This   is   by  Liuyang
#NETWORK
echo "--------------------- network --------------------------"

ifconfig eth0 | grep 'inet'

for eth0 in /etc/sysconfig/network-scripts/ifcfg-eth0
do
sed -i 's/IPADDR=.*/IPADDR=172.16.12.12/' $eth0
sed -i 's/NETMASK=.*/NETMASK=255.255.255.0/' $eth0
sed -i 's/GATEWAY=.*/GATEWAY=172.16.12.1/' $eth0
cat -n  $eth0 | awk -F '=' '{ print $2 }' | tail -n 3
done

/etc/init.d/network restart
/etc/init.d/iptables stop
setenforce 0
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     +                                                               +
     +                                                               +
     +                          Version 1.0                          +
     +                            LiuYang                            +
     +                                                               +
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
#YUM INSTALLING
mount /dev/cdrom /media
for myyum in /etc/yum.repos.d/mylocal.repo
do
cat -n $myyum
sed -i '3c baseurl=file:///media/Server/' $myyum
sed -i 's/enable=.*/enable=1/g' $myyum
done
yum clean all
yum search dhcp tftp-server nfs-ntils portmap
yum list
#dhcp installing
echo "Now let us work together to install DHCP"
#
rpm -qa | grep dhcp
if [ $? = 1 ]
then
     yum list install dhcpd
     yum -y install dhcp
     if [ -f /etc/dhcpd.conf ]
     then
          :
     else
          cp -f /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
     fi
else
     echo "DHCP is exist!!!"
     cp -f /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
fi
#
#
#
for dhcpd in /etc/dhcpd.conf
do
egrep -v '^#|^$' $dhcpd >> /etc/dhcpd.conf.default
rm -rf /etc/dhcpd.conf
mv /etc/dhcpd.conf.default /etc/dhcpd.conf
sed -i '2a allow bootp;' $dhcpd
sed -i '3a allow booting;' $dhcpd
sed -i '5c subnet 172.16.12.0 netmask 255.255.255.0 {' $dhcpd
sed -i 's/option routers.*/option routers     172.16.12.1;/' $dhcpd
sed -i 's/option subnet-mask.*/option subnet-mask     255.255.255.0;/' $dhcpd
sed -i 's/option domain-name.*/option domain-name     "kickstart.com";/' $dhcpd
sed -i '12c range dynamic-bootp  172.16.12.100  172.16.12.180;' $dhcpd
sed -i '14a next-server     172.16.12.12;' $dhcpd
sed -i '15a filename     "pxelinux.0";' $dhcpd
sed -i 's/host ns/host linuxclient/' $dhcpd
sed -i 's/hardware ethernet .*/hardware ethernet  00:0c:29:99:39:5f;/' $dhcpd
sed -i 's/fixed-address .*/fixed-address   172.16.12.50;/' $dhcpd
sed -i 's/^[\t]*//' $dhcpd
done
/etc/init.d/dhcpd restart
chkconfig --level 35 dhcpd on
#TFTPSERVER INSTALLING
rpm -qa | grep tftp-server

if [ $? = 1 ]
then
    yum -y install tftp-server
    sed -i 's/disable.*/disabled \= no/g' /etc/xinetd.d/tftp
    sed -i 's/server_args.*/server_args \= -s \/tftpboot/g' /etc/xinetd.d/tftp
    /etc/init.d/xinetd restart
    chkconfig --level 35 xinetd on
else
    /etc/init.d/xinetd restart
    exit 1
fi
#
#pxelinux.0
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
strings /tftpboot/pxelinux.o >/dev/null
mkdir -p /tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
for default in /tftpboot/pxelinux.cfg/default
do
sed -i 's/timeout.*/timeout 5/g' $default
sed -i 's/default linux/default text/g' $default
sed -i '15c append ks=nfs:172.16.12.12:/var/install/ks.cfg initrd=initrd.img text' $default
done
cp  -rf /media/isolinux/vmlinuz /tftpboot
cp  -rf /media/isolinux/initrd.img /tftpboot
cp  -rf /media/isolinux/*.msg /tftpboot
chmod -R a+rx /tftpboot
mkdir -p /var/install
cp -v -r  /media/* /var/install
chmod -R a+rx /var/install
#nfs-server
yum -y install nfs-utils portmap
if [ -s /etc/exports ]
then
     echo "/var/install    *(rw,sync)" >>/etc/exports
     echo "/tftpboot       *(rw,sync)" >>/etc/exports
else
     :
fi
#
/etc/init.d/nfs restart
/etc/init.d/portmap restart
showmount -e 127.0.0.1
cat  <<EOF > /var/install/ks.cfg
#platform=x86, AMD64, ?.Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=172.16.12.12 --dir=/var/install
#Root password
rootpw --iscrypted $1$0nRAvzM2$drZcBj2NkUVAoG/Wy5/Ys1

# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  America/New_York
# Install OS instead of upgrade
install
key --skip
# Disk partitioning information
part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --ondisk=sda --size=10240
part swap --asprimary --bytes-per-inode=4096 --fstype="swap" --ondisk=sda --size=2048
part /usr --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --ondisk=sda --size=1
%pre
mkfs.ext3 -F /dev/sda
%packages
@admin-tools
@base
@chinese-support
@core
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@java
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@base-x
kexec-tools
fipscheck
device-mapper-multipath
sgpio
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest
EOF
chmod +x /var/install/ks.cfg
ps -eaf | grep dhcpd
ps -eaf | grep tftp-server
ps -eaf | grep nfs
ps -eaf | grep portmap
ps -eaf | grep xinetd