I'm not getting the "All kickstart %%pre script(s) have been run" message in the logs. It is like it is not finding the "%pre" directive in the file. I even have a simple piece that should never error if it gets run. echo "pre kickstart script is running" >/tmp/pre-kickstart.out On Tue, Jan 13, 2009 at 3:30 PM, Shabazian, Chip <Chip.Shabazian@xxxxxxxxxxxxxxxxx> wrote: > Damn outlook thinking for me... That's supposed to be a lower case S - > sleep 999999999999 > > -----Original Message----- > From: kickstart-list-bounces@xxxxxxxxxx > [mailto:kickstart-list-bounces@xxxxxxxxxx] On Behalf Of Shabazian, Chip > Sent: Tuesday, January 13, 2009 3:28 PM > To: Discussion list about Kickstart > Subject: RE: kickstart fails to process %pre event > > The best way I've found for troubleshooting pre or post scripting errors > is to simply put a sleep statement in the pre or post, then manually > walk through the script and see where it fails. > > %pre > Sleep 9999999999999 > > Chip > > -----Original Message----- > From: kickstart-list-bounces@xxxxxxxxxx > [mailto:kickstart-list-bounces@xxxxxxxxxx] On Behalf Of Larry Brigman > Sent: Tuesday, January 13, 2009 3:11 PM > To: kickstart-list@xxxxxxxxxx > Subject: kickstart fails to process %pre event > > I have a kickstart file for doing RHEL5 installs. It works just fine > but now as > we have moved to having more than one disk in the systems; this > automated install > breaks as it cannot determine which disk to install the system on. I > could write multiple > kickstart files to handle 1,6,12,18,24,36 and 48 disk installs but I > shouldn't need to. > > I have added a %pre script, instead, to the file to handle this case > but it doesn't seem to even be > run. We are doing the installs from pxeboot. I look at the > /tmp/ks.cfg file and it has the > %pre script embedded but the file that it creates when executed > doesn't. The logging page > (ctrl+alt+F3) does not show that the script was processed. > > Additional info > 2.6.18-53 RHEL5 kernel > anaconda-11.1.2.87-1 > > > How do I troubleshoot this problem? > > Below is my kickstart file > ----------------------------- > #platform=x86, AMD64, or Intel EM64T > # System authorization information > auth --useshadow --enablemd5 > # Clear the Master Boot Record > zerombr > #dynamic drive install > # cmdline causes no-interaction installs > cmdline > # Use text install > text > # use graphical install > # graphical > # disable asking for key on install > key --skip > # 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 > # Install OS instead of upgrade > install > # Use network installation > # area51 > # CD Image loop mounted or copied (must match booted image) > url --url=http://10.109.0.46/repo/RHEL5/VOD > repo --name=packages --baseurl=http://10.109.0.46/packages > repo --name=EL5-latest --baseurl=http://10.109.0.46/repo/RHEL5/x86_64/ > # Network information > > # SELinux configuration > selinux --disabled > # System timezone > timezone --isUtc America/Los_Angeles > # X Window System configuration information > #xconfig --defaultdesktop=GNOME --depth=8 --resolution=800x600 > --startxonboot > #reboot > %packages --nobase > kernel > bash > passwd > mkinitrd > grub > coreutils > httpd > openssh-server > openssh-clients > ftp > kexec-tools > rootfiles > sudo > sysklogd > smartmontools > yum > ntp > mdadm > traceroute > strace > man > bind-utils > tcpdump > logrotate > audit > > > # extra tools > sysstat > gdb > vim-minimal > which > > #remove un-used packages > -libhugetlbfs.i386 > -libtermcap.i386 > -system-config-securitylevel-tui > -policycoreutils > -librpm.i386 > -zlib.i386 > -sqlite.i386 > -beecrypt.i386 > -elfutils-libelf.i386 > -sysreport > -rp-pppoe > -NetworkManager > -aspell* > -words > -bluez* > -ypbind > -yptools > -nc > > > %pre --interpreter /bin/sh > #!/bin/sh > # assumes all disks for install are on the scsi bus > echo "pre kickstart script is running" >/tmp/pre-kickstart.out > #path for file > outfile=/tmp/part-include > > get_disk_paths() { > for d in `echo /sys/bus/scsi/devices/*`; > do > [ -d $d/block* ] && echo $d/block* > done > } > > convert_path_to_dev_name() { > echo $1 | sed -e 's/^.*block\://' > } > > get_queue_type() { > file=$(dirname $1)/queue_type > if [ -f $file ]; then > cat $file > else > echo "no queue type" > fi > } > > get_disk_size() { > file=$1/size > if [ -f $file ]; then > cat $file > else > echo 0 > fi > } > > is_removable() { > cat $1/removable > } > > > all_disks=$(get_disk_paths) > all_dev_names=$(for d in $all_disks; do convert_path_to_dev_name $d; > done) > > #echo $all_disks > #echo $all_dev_names > > install_disk="" > install_dev="" > for dev in $all_disks; > do > #here is our test for USB flash device > #No queuing and is_removable > if [ $(get_queue_type $dev) == "none" ] && [ $(is_removable > $dev) -eq 1 ] ;then > install_disk=$dev > install_dev=$(convert_path_to_dev_name $dev) > fi > done > > #no USB flash device use all of first disk > if [ -z "$install_disk" ]; then > $install_disk=$(echo $all_disk | cut -d' ' -f1) > $install_dev=$(convert_path_to_dev_name $install_disk) > fi > install_dev_size=$(get_disk_size $install_disk) > > #echo $install_disk > #echo $install_dev > #echo $install_dev_size > size_kblks=$[ $install_dev_size / 2 ] > size_Mblks=$[ size_kblks / 1000 ] > boot_size=100 > swap_size=500 > root_size=$[ $size_Mblks - $boot_size - $swap_size ] > > cat <<EOF >$outfile > #partitioning info starts here > clearpart --drives=$(echo $all_dev_names | tr ' ' ,) --all --initlabel > ignoredisk --drives=$(echo ${all_dev_names/$install_dev/} | tr ' ' , ) > > part / --fstype=ext3 --ondisk=$install_dev --size=$root_size > --asprimary > part /boot --fstype=ext2 --ondisk=$install_dev --size=$boot_size > --asprimary > part swap --fstype=swap --ondisk=$install_dev --size=$swap_size > --asprimary > #autopart > # System bootloader configuration > bootloader --append="rhgb quiet crashkernel=128M@16M console=tty1 > console=ttyS0,38400n8" --location=mbr --driveorder=$install_dev > > EOF > > %post > #update dns and nameservers > cat >/etc/resolv.conf<<EOF > search mydns.com > nameserver 5.5.3.240 > nameserver 5.5.64.127 > EOF > > cat >/etc/yum.repos.d/packages.repo<<EOF > [packages] > name=local packages > baseurl=http://area51/packages > enabled=1 > gpgcheck=0 > EOF > > cat >/etc/yum.repos.d/rhel5_local.repo<<EOF > [rhel5] > name=Red Hat Enterprise Linux 5 local - \$basearch > baseurl=http://area51/repo/RHEL5/\$basearch > enabled=1 > gpgcheck=0 > EOF > chkconfig httpd on > # modify grub for serial console > sed -i -e 's/^timeout=5/serial --unit=0 --speed=38400 --word=8 > --parity=no --stop=1 \ > terminal --timeout=5 serial console \ > timeout=5/' /boot/grub/grub.conf > > # modify inittab to add serial console login > cat >>/etc/inittab <<EOF > > #serial console login enabled > co:2345:respawn:/sbin/agetty ttyS0 38400 vt100-nav > EOF > > # add tmpfs mounts > cat >>/etc/fstab<<EOF > tmpfs /tmp tmpfs size=20M 0 0 > tmpfs /var/tmp tmpfs size=2M 0 0 > tmpfs /var/run tmpfs size=2M 0 0 > EOF > # update for noatime > sed -i -e '1,2s/defaults/defaults,noatime,nodiratime/' /etc/fstab > > # get host info > GATEWAY=$(route -n | grep ^0.0.0.0 | awk '{print $2}') > #HOSTNAME=$(hostname) > HOSTIP=$(ifconfig eth0 | grep "inet addr" | cut -d: -f2|awk '{print > $1}') > NETMASK=$(ifconfig eth0 | grep Mask | cut -d: -f4) > HOSTNAME=$(host $HOSTIP 5.5.64.127 | grep pointer | cut -d' ' -f 5 | > cut -d. -f1 ) > #FQDN=$(host $HOSTNAME 5.5.64.127 | grep address | cut -d' ' -f1) > if [ -z "$HOSTIP" ] ; then > echo "Did not find a IP address for host $HOSTNAME from > Server:$DNS!" > echo "This will need to be set manually" > fi > #echo write hosts file > #echo "$HOSTIP $FQDN $HOSTNAME" >> /etc/hosts > # update network file for gateway > echo "GATEWAY=$GATEWAY" >>/etc/sysconfig/network > echo update ifcfg-eth0 for static > ( cd /etc/sysconfig/network-scripts > sed -i -e "s/dhcp/static/" ifcfg-eth0 > cat >>ifcfg-eth0 <<EOF > IPADDR=$HOSTIP > NETMASK=$NETMASK > EOF > ) > # make netreport to quiet network startup > echo "mkdir -p /var/run/netreport" >> /etc/rc.d/rc.sysinit > > # update other ethernet interfaces > HOSTNUM=$[ $(echo $HOSTNAME | perl -ln -e '/([1-9]+)$/; print "$1";') % > 255] > for e in 2 3 4 5 6 7 8 9 > do > file=/etc/sysconfig/network-scripts/ifcfg-eth${e} > if [ -e $file ] ; then > netnum=$[ ${e} + 100 ] > sed -i -e "s/ONBOOT=no/ONBOOT=yes\n\ > IPADDR=172.25.${HOSTNUM}.${netnum} \n\ > NETMASK=255.255.0.0 \n\ > BOOTPROTO=static \ > /" $file > if [ ${e} -eq 2 ]; then > cat >/etc/ethers.eth${e}<<EOF_ETHERS > #nsg ethers > 00:00:00:00:00:05 172.25.100.3 > 00:00:00:00:00:05 172.25.100.2 > EOF_ETHERS > else > ( cd /etc > ln -s ethers.eth2 ethers.eth${e} > ) > fi > fi > done > sync > > %include /tmp/part-include > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/kickstart-list > > _______________________________________________ > Kickstart-list mailing list > Kickstart-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/kickstart-list > _______________________________________________ Kickstart-list mailing list Kickstart-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/kickstart-list