SME9 Kickstart

From SME Server
Jump to navigationJump to search

DRAFT kickstart file for SME9

The below Kickstart file is a starting point. Your suggestions are very much welcomed!

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL - DRAFT
%pre

# eval options
set -- `cat /proc/cmdline`

for I in $*; do case "$I" in *=*) eval $I;; esac; done

# Determine how many drives we have
set $(list-harddrives)
if [ -z "$disks" ]; then
    let numd=$#/2
    d1=$1
    d1_size=$2
    d2=$3
    d2_size=$4
else
    d1=`echo $disks | awk 'BEGIN { FS = "," } ; { print $1 }'`
    d2=`echo $disks | awk 'BEGIN { FS = "," } ; { print $2 }'`
    if [ -z "$d2" ]; then
       numd=2
    else
       numd=4
    fi
fi

if [ $numd -eq 2 ] || [ $raid = "none"  ] ; then
    target=$d1
    if [ $d1 == "sr0" ]; then
	target=$d2
    fi

    cat <<EOF >> /tmp/part-include
    # 1 disk, no raid
    part /boot --fstype ext3 --size 512
    part pv.1 --asprimary --fstype='physical volume (LVM)' --ondisk=$target --size=5000 --grow
EOF
    echo "bootloader --location=mbr --driveorder=\"$d1\" --append=\" rhgb crashkernel=auto quiet\"" > /tmp/bootloader-include
elif [ $numd -ge 3 ]; then

    target1=$d1
    target2=$d2
    if [ $d1 == "sr0" ]; then
	target1=$d2
        target2=$5
    elif [ $d2 == "sr0" ]; then
	target1=$d1
	target2=$5
    elif [ $5 == "sr0" ]; then
	target1=$d1
	target2=$d2
    fi

    cat <<EOF >> /tmp/part-include
    # 2 disks, raid 1
    part raid.00 --asprimary --fstype='raid' --ondisk=$target1 --size=512 # boot
    part raid.01 --asprimary --fstype='raid' --ondisk=$target1 --size=5000 --grow# root

    part raid.10 --asprimary --fstype='raid' --ondisk=$target2 --size=512 # boot
    part raid.11 --asprimary --fstype='raid' --ondisk=$target2 --size=5000 --grow# root

    raid /boot --device=md1 --fstype='ext3' --level=1 raid.00 raid.10
    raid pv.1 --device=md2 --fstype='physical volume (LVM)' --level=1 raid.01 raid.11
EOF
    echo "bootloader --location=mbr --driveorder='$target1,$target2' --append=' rhgb crashkernel=auto quiet '" > /tmp/bootloader-include
fi

# enable dhcp on all network interfaces
for net in `find /sys/class/net/ ! -name lo | cut -d '/' -f5`; do
    echo "network --onboot=yes --bootproto=dhcp --device=$net">>/tmp/network-include
done

# set keyboard
if [ -z $keyboard ]; then
   keyboard=us
fi
echo "keyboard $keyboard" > /tmp/keyboard-include

# set language
if [ -z $lang ]; then
   lang=en_US
fi
echo "lang $lang" > /tmp/lang-include

# set timezone
if [ -z $timezone ]; then
   timezone="--utc Greenwich"
fi
echo "timezone $timezone" > /tmp/timezone-include


%end

# Use text mode install
text
# Install OS instead of upgrade
install
# Firewall configuration
firewall --enabled --ssh
# Use CDROM installation media
cdrom
# Network information
%include /tmp/network-include
# Root password --> needs to be changes for SME9
rootpw --plaintext Nethesis,1234
# System authorization information --> needs to be changes for SME9
auth  --useshadow  --passalgo=sha512
# System keyboard
%include /tmp/keyboard-include
# System language
%include /tmp/lang-include
# SELinux configuration
selinux --permissive
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=debug
# System timezone
%include /tmp/timezone-include
# System bootloader configuration
%include /tmp/bootloader-include
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all  
# Disk partitioning information
%include /tmp/part-include
# LVM
volgroup VolGroup pv.1 
logvol swap --fstype swap --name=lv_swap --vgname=VolGroup --recommended --maxsize=6000
logvol / --fstype ext4 --name=lv_root --vgname=VolGroup --size=5000 --grow  


%post --nochroot --interpreter /bin/bash
exec 1>/mnt/sysimage/root/kickstart-stage1.log 2>&1
echo "Copying extras repo to /root.."
cp -r /mnt/source/extras /mnt/sysimage/root

if [ -f /tmp/raid ]; then
    cat /tmp/raid >> /mnt/sysimage/etc/mdadm.conf
fi
%end

%post --interpreter /bin/bash
exec 1>/root/kickstart-stage2.log 2>&1

TMPEXTRAS_DIR=/tmp/yumextras
EXTRASREPO_DIR=/root/extras

mkdir -p ${TMPEXTRAS_DIR}

echo "Initializing temporary yum repository..."
cat > ${TMPEXTRAS_DIR}/yumextras.conf << EOF
[main]
cachedir=${TMPEXTRAS_DIR}/cache
logfile=${TMPEXTRAS_DIR}/yum.log
debuglevel=2
reposdir=/dev/null
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
metadata_expire=never
mirrorlist_expire=never

[extras]
name=extras
baseurl=file://${EXTRASREPO_DIR}
enabled=1

EOF

echo "Installing nethserver-core package group..." # --> needs to be changed for SME9
yum -c ${TMPEXTRAS_DIR}/yumextras.conf -y groupinstall nethserver-core

echo "Adjusting services..."

/sbin/chkconfig fcoe off
/sbin/chkconfig iscsi off
/sbin/chkconfig iscsid off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off

echo "Enabling first-boot..."
touch /var/spool/first-boot

echo "Removing installation files..."
rm -rfv ${TMPEXTRAS_DIR} ${EXTRASREPO_DIR}

%end