This directory contains a "template" of what is required for site customizations of HEPL. The intent of this documentation is NOT intended to tell you how to customize RedHat releases. It only describes the changes I have made. Defintions used in this document. where is the default directory of the base RPMS. In our case that will be HEPL. /HEPL/RPMS/ where is your sitename which is the directory under sites/ . In this example it will be "example" /sites/example/ where is the directory where / exists In this example it is /mnt/src/hepl30rolling/i386/ Note that it must be a full path name. /base/ comps.xml File that contains what is installed comps.xml.main Your working copy of the comps.xml file cp.comps.xml.main.sh Script to move comps.xml.main over as comps.xml and save old one in oldcomps hdlist Created by the genhdlist command hdlist2 when you use the --site option genhdlist --default --site sites/ --default Defines where /RPMS is located under Required. --site is /sites/ If --site is left off, hdlist and hdlist2 will be created in the /base/ direcory. This is needed when rpms are added or removed from the //RPMS/ directory. --site is required when RPMS are added or removed from the /sites//Updates directory. genhdlist --default HEPL --site sites/example /mnt/src/hepl30rolling/i386/ A script to run genhdlist is included in /sites/example/build/scripts/build.hdlist.example.sh See /sites/example/build/scripts/README first netstg2.img Created by "/usr/lib/anaconda-runtime/buildinstall" stage2.img See /sites/example/build/scripts/build.release.example.sh hdstg2.img See /sites/example/build/scripts/README first pkgorder /Updates/ Location for "customized" rpms. You can either replace/override rpms from //RPMS/ or add your own rpms. It is up to you to make sure that all added or modified rpms can get their dependencies met between //RPMS/ and /sites//Updates . If you add or delete or change RPMS in /sites//Updates/) then you need to remake your /sites//base/hdlist* files. This is done with genhdlist. See above for more info on genhdlist. What you can put in here: custom installer kernel kernel-BOOT- .... Any RPMS that you need that are not in //RPMS/ Note that if you want these RPMS to be installed by default you must include them in your /sites//base/comps.xml file custom installer -- This is a alternative to /sites//RHupdates/ anaconda-* /build/ isolinux/ Customizations to the isolinux files used to make the install floppy and cd images. Get originals from /isolinux/ . For more info on isolinux see /usr/share/doc/syslinux* . boot.msg Your customized boot.msg file. isolinux.cfg Your customized isolinux.cfg file. splash.lss Your customized splash.lss file. This is the "image" that is seen at the top of the boot media. The .lss file format is an ascii based picture format. It is generated by using the pngtopnm program. README Documentation on how/what to change in this directory. scripts/ README Very important Explains what all the other scripts here do. locations.include build.hdlist.example.sh build.release.example.sh make.products.img.sh make.updates.img.sh For explanation as to what these scripts do, read the README documentation/ Contains more detailed documentation on building sites. /RHupdates/ Your customizations to the installer. Other way is to make new anaconda-* rpms and put them in /sites//Updates/ /documentation/ .releasenote Linked from /HEPL.documentation/sites/ Your releasenotes. Contents are up to you. any other documentation you want /images/ bootdisk.img These are created by "/usr/lib/anaconda-runtime/buildinstall drvblock.img drvnet.img See /sites/example/build/scripts/build.release.example.sh pcmciadd.img See /sites/example/build/scripts/README first boot.iso pxeboot README ------------------------------------------------------------------------------ Steps for making your own site customization ------------------------------------------------------------------------------ In this example we will call our new site "newsite" so $SITE is "newsite". The is in /mnt/src/hepl30rolling/i386/ and is defined as $TREE and is HEPL and is defined as $DEFAULT cd $TREE mkdir sites/newsite cd sites/example find . -print | cpio -pvdum ../newsite # copy over example area as a start cd ../newsite cd base sh cp.comps.xml.main.sh cd - cd build/scripts # In our case it is already ok. SITE=newsite, Also change --product string in build.release.example.sh> sh build.updates.example.sh # Need to do whenever you change contents of # $TREE/sites/$SITE/RHupdates/ sh build.hdlist.example.sh # Run this whenever you change contents of # $TREE/sites/$SITE/Updates/ sh build.release.example.sh # Only need to run this when changing installer # kernel , but at least 1 time while I am sure this is not complete, but it is close. -Connie Sieh csieh@fnal.gov