[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: This ks script isn't working on CentOS 4.8... Should it?



Madison Kelly wrote:
Hi all,

I've got an installer that I've been trying to get to work on various servers depending on their under-lying disk type. I adapted a KS from the web and came up with the kickstart below. In short though; I'm trying to use it on CentOS 4.8 i386.

It creates the '/tmp/part-include' file but only with the 'clear-part' line. It doesn't seem to run the bash script after it. Do I need some magic to make it run?

Thanks!

-----------

text
install
cdrom
lang en_US
langsupport en_US
keyboard us
xconfig --resolution 1024x768 --depth 24 --startxonboot --defaultdesktop gnome network --device eth0 --bootproto dhcp --hostname usrvr.lab.opticalonline.com
rootpw --iscrypted $1$xxxxxxxxxxxxxxxxxxxxxxxx
firewall --disabled
selinux --disabled
authconfig --enableshadow --enablemd5
timezone --utc America/Toronto
ignoredisk --drives=sda,sdb,sdc,sdd
bootloader --location=partition

# This will run whatever was created by the script below.
%include /tmp/part-include

%packages --resolvedeps
@ development-tools
@ editors
@ legacy-network-server
@ legacy-software-development
@ server-cfg
@ system-tools
@ sound-and-video
@ network-server
@ admin-tools
@ smb-server
@ base-x
@ gnome-desktop
@ text-internet
@ printing
@ graphical-internet
k3b
dhcp
expect
ncompress
vnc
tftp
uucp
perl-Crypt-SSLeay
perl-TimeDate
system-config-printer
#
# Exclude the following packages:
#
-lksctp-tools
-HelixPlayer
-cdparanoia
-rhythmbox
-sound-juicer


### Script to setup partitions.
%pre --log=/tmp/ks-preinstall.log

#!/bin/sh
# This should detect what disk parition layout to used depending on the
# partitions found.

# Prepare the disks.
echo "zerombr yes" > /tmp/part-include
echo "clearpart --all --initlabel" > /tmp/part-include

### Some detection.
if [grep -q cciss/c0d0]; then
### No RAID is needed at the software level, it's managed by the controller.
    # '/boot' partition
echo "part /boot --size=200 --asprimary --ondisk=cciss/c0d0p1" > /tmp/part-include
    # '/' partition
echo "part / --size=200 --asprimary --ondisk=cciss/c0d0p2" > /tmp/part-include
    # <swap> partitions (RAID 0)
echo "part swap --size=1000 --asprimary --ondisk=cciss/c0d0p3" > /tmp/part-include
    # '/backup' partition
echo "part /backup --size=5000 --ondisk=cciss/c0d0p4" > /tmp/part-include
    # '/u' partition (grows to fill disk).
echo "part /u --size=1 --grow --ondisk=cciss/c0d0p5" > /tmp/part-include
elif [grep -q cciss/c1d0]; then
### No RAID is needed at the software level, it's managed by the controller.
    # '/boot' partition
echo "part /boot --size=200 --asprimary --ondisk=cciss/c1d0p1" > /tmp/part-include
    # '/' partition
echo "part / --size=200 --asprimary --ondisk=cciss/c1d0p2" > /tmp/part-include
    # <swap> partitions (RAID 0)
echo "part swap --size=1000 --asprimary --ondisk=cciss/c1d0p3" > /tmp/part-include
    # '/backup' partition
echo "part /backup --size=5000 --ondisk=cciss/c1d0p4" > /tmp/part-include
    # '/u' partition (grows to fill disk).
echo "part /u --size=1 --grow --ondisk=cciss/c1d0p5" > /tmp/part-include
elif [grep -q hdb /proc/partitions]; then
    ### /dev/hdX RAID
    # '/boot' partition
echo "part raid.10 --size=200 --asprimary --ondisk=hda" > /tmp/part-include echo "part raid.20 --size=200 --asprimary --ondisk=hdb" > /tmp/part-include

    # '/' partition
echo "part raid.11 --size=20000 --asprimary --ondisk=hda" > /tmp/part-include echo "part raid.21 --size=20000 --asprimary --ondisk=hdb" > /tmp/part-include

    # <swap> partitions (RAID 0)
echo "part raid.12 --size=1000 --asprimary --ondisk=hda" > /tmp/part-include echo "part raid.22 --size=1000 --asprimary --ondisk=hdb" > /tmp/part-include

    # '/backup' partition
echo "part raid.13 --size=5000 --ondisk=hda" > /tmp/part-include echo "part raid.23 --size=5000 --ondisk=hdb" > /tmp/part-include

    # '/u' partition (grows to fill disk).
echo "part raid.14 --size=1 --grow --ondisk=hda" > /tmp/part-include echo "part raid.24 --size=1 --grow --ondisk=hdb" > /tmp/part-include

    # Build the RAID arrays
echo "raid /boot --fstype ext3 --level=RAID1 --device=md0 raid.10 raid.20" > /tmp/part-include echo "raid / --fstype ext3 --level=RAID1 --device=md1 raid.11 raid.21" > /tmp/part-include echo "raid swap --fstype swap --level=RAID0 --device=md4 raid.12 raid.22" > /tmp/part-include echo "raid /backup --fstype ext3 --level=RAID1 --device=md2 raid.13 raid.23" > /tmp/part-include echo "raid /u --fstype ext3 --level=RAID1 --device=md3 raid.14 raid.24" > /tmp/part-include
elif [grep -q hda /proc/partitions]; then
    ### /dev/hda single
    # '/boot' partition
echo "part /boot --size=200 --asprimary --ondisk=hda" > /tmp/part-include
    # '/' partition
echo "part / --size=20000 --asprimary --ondisk=hda" > /tmp/part-include
    # <swap> partitions
echo "part swap --size=1000 --asprimary --ondisk=hda" > /tmp/part-include
    # '/backup' partition
echo "part /backup --size=5000 --ondisk=hda" > /tmp/part-include
    # '/u' partition (grows to fill disk).
echo "part /u --size=1 --grow --ondisk=hda" > /tmp/part-include
elif [grep -q hdb /proc/partitions]; then
    ### /dev/sdX RAID - This should be the majority.
    # '/boot' partition
echo "part raid.10 --size=200 --asprimary --ondisk=sda" > /tmp/part-include echo "part raid.20 --size=200 --asprimary --ondisk=sdb" > /tmp/part-include

    # '/' partition
echo "part raid.11 --size=20000 --asprimary --ondisk=sda" > /tmp/part-include echo "part raid.21 --size=20000 --asprimary --ondisk=sdb" > /tmp/part-include

    # <swap> partitions (RAID 0)
echo "part raid.12 --size=1000 --asprimary --ondisk=sda" > /tmp/part-include echo "part raid.22 --size=1000 --asprimary --ondisk=sdb" > /tmp/part-include

    # '/backup' partition
echo "part raid.13 --size=5000 --ondisk=sda" > /tmp/part-include echo "part raid.23 --size=5000 --ondisk=sdb" > /tmp/part-include

    # '/u' partition (grows to fill disk).
echo "part raid.14 --size=1 --grow --ondisk=sda" > /tmp/part-include echo "part raid.24 --size=1 --grow --ondisk=sdb" > /tmp/part-include

    # Build the RAID arrays
echo "raid /boot --fstype ext3 --level=RAID1 --device=md0 raid.10 raid.20" > /tmp/part-include echo "raid / --fstype ext3 --level=RAID1 --device=md1 raid.11 raid.21" > /tmp/part-include echo "raid swap --fstype swap --level=RAID0 --device=md4 raid.12 raid.22" > /tmp/part-include echo "raid /backup --fstype ext3 --level=RAID1 --device=md2 raid.13 raid.23" > /tmp/part-include echo "raid /u --fstype ext3 --level=RAID1 --device=md3 raid.14 raid.24" > /tmp/part-include
elif [grep -q hda /proc/partitions]; then
    ### /dev/sda single
    # '/boot' partition
echo "part /boot --size=200 --asprimary --ondisk=sda" > /tmp/part-include
    # '/' partition
echo "part / --size=20000 --asprimary --ondisk=sda" > /tmp/part-include
    # <swap> partitions
echo "part swap --size=1000 --asprimary --ondisk=sda" > /tmp/part-include
    # '/backup' partition
echo "part /backup --size=5000 --ondisk=sda" > /tmp/part-include
    # '/u' partition (grows to fill disk).
echo "part /u --size=1 --grow --ondisk=sda" > /tmp/part-include
fi

_______________________________________________
Kickstart-list mailing list
Kickstart-list redhat com
https://www.redhat.com/mailman/listinfo/kickstart-list


If you try and run the script on a regular box, it fails. While you are working on fine tuning the script, run it on a regular box and verify that the file it creates that to test with initially before you move to the load testing situation.

You need spaces between [ and the contents of the test.  For example,

if [grep -q cciss/c0d0]; then

should be

if [ grep -q cciss/c0d0 ]; then

You also need to append to the file after your first echo command so that you don't overwrite it each time

e.g. echo "foo" >/tmp/part-include

will overwrite.

echo "foo" >>/tmp/part-include

will append.

Those were the things that stuck out to me right away.

Hugh


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]