On 05/19/2010 02:37 PM, Digimer wrote: > > I've been googling for ways to do this, figuring it must be somewhat > straight forward, but my google-fu is weak it seems. Can someone point > me to a how-to or doc on rolling your own CentOS derivative ISO? You can look around for documents on revisor. I use the attached configuration files to generate installable trees. revisor.conf belongs in /etc/revisor/. revisor-c5-x86_64.conf belongs in /etc/revisor/conf.d/. In the c5 file, you'll want to disable the "local" repository initially. I use that section to avoid downloading packages that I already have when I want to refresh my tree. I think you'll also need to remove the "reuse" line from revisor.conf initially. I use the "revisor-reuseinstaller" to avoid rebuilding the installation images. IIRC, the squash tools differ between Fedora (where I do these builds) and CentOS 5; it isn't possible to rebuild the anaconda images on Fedora. If you run revisor on CentOS 5, the reuseinstaller package is optional. Once you have revisor installed and the config files in place, you need a kickstart file that specifies what packages you want installed. Provide that to revisor and it will build the image using the packages specified in the kickstart file. # revisor --yes --kickstart=/home/gordon/deploy/kickstart/centos5 --model=c5-x86_64 --install-tree --cli -------------- next part -------------- # Revisor base config file # This file will be updated, so make sure to watch .rpmnew stuff [revisor] # Some revisor options to eliminate the need for CLI parameters, # or save clicks in the GUI # Types of Installation Media to build media_installation_dvd=0 media_installation_cd=0 # Types of Live Media to build media_live_optical=0 media_live_thumb=0 repos_enabledevelopment=0 repos_enabletesting=0 repos_enablesource=0 repos_enabledebuginfo=0 # These are more advanced options dependency_resolve_allow_conflicts=0 mode_respin=0 ## ## Models ## [f13-i386] description = Fedora 13 for i386 main = /etc/revisor/conf.d/revisor-f13-i386.conf product_name = Fedora product_path = Packages iso_basename = Fedora architecture = i386 version = rawhide version_from = DEVEL getsource = 0 reuse=/var/www/html/mirrors/fedora-13-i386/ [f13-x86_64] description = Fedora 13 for x86_64 main = /etc/revisor/conf.d/revisor-f13-x86_64.conf product_name = Fedora product_path = Packages architecture = x86_64 version = rawhide version_from = DEVEL getsource = 0 reuse=/var/www/html/mirrors/fedora-13-x86_64/ [f12-i386] description = Fedora 12 for i386 # Point here to the yum configuration file # Remember to use a yum configuration file with expanded # $basearch and $releasever variables main = /etc/revisor/conf.d/revisor-f12-i386.conf # Installation Media specific settings # Set the product name product_name = Fedora # Set the product path product_path = Packages # The base name for the ISO iso_basename = Fedora # The architecture to use for this model architecture = i386 # The version number version = 12 # The version number to use for kickstart compatibility and required package selection # May differ from the product's version number. version_from = F12 # Whether to include the creation of source media # 0 = No # 1 = Yes getsource = 0 reuse=/var/www/html/mirrors/fedora-12-i386/ [f12-x86_64] description = Fedora 12 for x86_64 main = /etc/revisor/conf.d/revisor-f12-x86_64.conf product_name = Fedora product_path = Packages architecture = x86_64 version = 12 version_from = F12 getsource = 0 reuse=/var/www/html/mirrors/fedora-12-x86_64/ [f12-ppc] description = Fedora 12 for PPC main = /etc/revisor/conf.d/revisor-f12-ppc.conf product_name = Fedora product_path = Packages architecture = ppc version = 12 version_from = F12 getsource = 0 [f12-ppc64] description = Fedora 12 for PPC64 main = /etc/revisor/conf.d/revisor-f12-ppc64.conf product_name = Fedora product_path = Packages architecture = ppc64 version = 12 version_from = F12 getsource = 0 [rawhide-i386] description = Rawhide for i386 main = /etc/revisor/conf.d/revisor-rawhide-i386.conf product_name = Fedora product_path = Packages architecture = i386 version = rawhide version_from = DEVEL getsource = 0 repos_enabledevelopment=1 repos_enabletesting=0 repos_enablesource=0 repos_enabledebuginfo=0 [rawhide-x86_64] description = Rawhide for x86_64 main = /etc/revisor/conf.d/revisor-rawhide-x86_64.conf product_name = Fedora product_path = Packages architecture = x86_64 version = rawhide version_from = DEVEL getsource = 0 repos_enabledevelopment=1 repos_enabletesting=0 repos_enablesource=0 repos_enabledebuginfo=0 [rawhide-ppc] description = Rawhide for PPC main = /etc/revisor/conf.d/revisor-rawhide-ppc.conf product_name = Fedora product_path = Packages architecture = ppc version = rawhide version_from = DEVEL getsource = 0 repos_enabledevelopment=1 repos_enabletesting=0 repos_enablesource=0 repos_enabledebuginfo=0 [c5-i386] description = CentOS 5 for i386 main = /etc/revisor/conf.d/revisor-c5-i386.conf product_name = CentOS product_path = CentOS iso_basename = CentOS iso_label = CentOS architecture = i386 version = 5 version_from = RHEL5 getsource = 0 release_pkgs = ^centos-release.* release_files = eula.txt fedora.css GPL README-BURNING-ISOS-en_US.txt RELEASE-NOTES-en_US.html ^RPM-GPG img images stylesheet-images reuse=/var/www/html/mirrors/centos-5-i386/ [c5-x86_64] description = CentOS 5 for x86_64 main = /etc/revisor/conf.d/revisor-c5-x86_64.conf product_name = CentOS product_path = CentOS iso_basename = CentOS iso_label = CentOS architecture = x86_64 version = 5 version_from = RHEL5 getsource = 0 release_pkgs = ^centos-release.* release_files = eula.txt fedora.css GPL README-BURNING-ISOS-en_US.txt RELEASE-NOTES-en_US.html ^RPM-GPG img images stylesheet-images reuse=/var/www/html/mirrors/centos-5-x86_64/ -------------- next part -------------- [main] cachedir=-yumcache reposdir= keepcache=1 debuglevel=1 logfile=-yum.log pkgpolicy=newest distroverpkg=centos-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 metadata_expire=1800 installroot=/var/tmp/revisor failovermethod=priority [local-centos-5-x86_64] name=Local Mirror of CentOS 5 - Base baseurl=http://config/mirrors/centos-5-x86_64/ enabled=1 gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 cost=500 [centos-5-x86_64] name=CentOS 5 - Base mirrorlist=http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=os enabled=1 gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 [centos-5-x86_64-updates] name=CentOS 5 - Updates mirrorlist=http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=updates enabled=1 gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 [fedora-epel-5-x86_64] name=Extra Packages for Enterprise Linux mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=x86_64 enabled=1 gpgcheck=0 gpgkey=