Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Red Hat Enterprise Linux 9 Essentials Book now available.

Purchase a copy of Red Hat Enterprise Linux 9 (RHEL 9) Essentials

Red Hat Enterprise Linux 9 Essentials Print and eBook (PDF) editions contain 34 chapters and 298 pages

Preview Book

32.6. Pre-installation Script

You can add commands to run on the system immediately after the ks.cfg has been parsed. This section must be at the end of the kickstart file (after the commands) and must start with the %pre command. You can access the network in the %pre section; however, name service has not been configured at this point, so only IP addresses work.

Note

Note that the pre-install script is not run in the change root environment.
--interpreter /usr/bin/python
Allows you to specify a different scripting language, such as Python. Replace /usr/bin/python with the scripting language of your choice.

32.6.1. Example

Here is an example %pre section:
%pre  
#!/bin/sh  
hds="" 
mymedia=""  
for file in /proc/ide/h* do   
        mymedia=`cat $file/media`   
        if [ $mymedia == "disk" ] ; then       
                hds="$hds `basename $file`"   
        fi 
done  
set $hds 
numhd=`echo $#`  
drive1=`echo $hds | cut -d' ' -f1` 
drive2=`echo $hds | cut -d' ' -f2`  
#Write out partition scheme based on whether there are 1 or 2 hard drives  
if [ $numhd == "2" ] ; then   
        #2 drives   
        echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include   
        echo "clearpart --all" >> /tmp/part-include   
        echo "part /boot --fstype ext3 --size 75 --ondisk hda" >> /tmp/part-include   
        echo "part / --fstype ext3 --size 1 --grow --ondisk hda" >> /tmp/part-include   
        echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include   
        echo "part /home --fstype ext3 --size 1 --grow --ondisk hdb" >> /tmp/part-include 
else   
        #1 drive   
        echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include   
        echo "clearpart --all" >> /tmp/part-include   
        echo "part /boot --fstype ext3 --size 75" >> /tmp/part-includ   
        echo "part swap --recommended" >> /tmp/part-include   
        echo "part / --fstype ext3 --size 2048" >> /tmp/part-include   
        echo "part /home --fstype ext3 --size 2048 --grow" >> /tmp/part-include 
fi
This script determines the number of hard drives in the system and writes a text file with a different partitioning scheme depending on whether it has one or two drives. Instead of having a set of partitioning commands in the kickstart file, include the line:
%include /tmp/part-include
The partitioning commands selected in the script are used.

Note

The pre-installation script section of kickstart cannot manage multiple install trees or source media. This information must be included for each created ks.cfg file, as the pre-installation script occurs during the second stage of the installation process.

 
 
  Published under the terms of the Creative Commons License Design by Interspire