[CentOS] Created a custom/minimal CentOS 5.x install ISO

Thu May 20 23:38:56 UTC 2010
Kahlil Hodgson <kahlil.hodgson at dealmax.com.au>

On 05/21/2010 12:55 AM, Digimer wrote:
>   So let me see if I've got this straight (sorry, I'm coming from a
> Debian background)...

You are forgiven :-)

> 1. I need to create my own local repo which revisor will draw from.

Only necessary if the packages you want to include can't be found in any
other repositories.

> 2. Create my own kickstart file (already done, actually)

For your task the %packages section is the key.

> 3. Run revisor as you've both discussed.
> 
>   My goal is to create a much smaller DVD, more than anything.

I think the smallest you can get away with for a non-graphical install
is something like

%packages
@base
@core
kernel
anaconda
isomd5sum
%end

I've not tested this though. anaconda might needs some extra stuff to
run correctly (like fonts).

You need to get hold of a comps.xml file for Centos to understand the
package groupings and get a handle on what is mandatory.  From memory
there should be a copy on the DVD somewhere.  It also hangs around in
yum repos, and revisor also has its own alternative version.

The Fedora 'spins-kickstart' package has the kickstart files used to
build their live-cds.  The %packages sections in those files will give
you some insight into what a black art this can be.

> I won't  be adding any custom RPMs,
> but I do want to add some existing ones not on the normal DVD (ie: DRBD). 

Just add it to the packages list.

> Is there a way, after parsing the
> kickstart script, to get a list of RPMs that weren't used? 

How good is your python scripting? ;-)

> Or does revisor only pull from the repo the RPMs required to satisfy the
> kickstart script already?

I believe this is the case (plus dependencies).  The Revisor website has
some discussion about how the dependency resolution unfolds for respins.
 In the passed I've used the following options in my revisor.conf file

dependency_resolve_allow_conflicts=1
mode_respin=1

(man revisor.conf)

>   Lastly, I've got a few kickstarts I've added to a re-rolled vanilla
> CentOS ISO that I choose at boot-time. On that stock~ish DVD, if I type
> "linux" at the command line, I get the normal CentOS install. Do I
> understand properly when I guess that now this will choose the kickstart
> I used with revisor?

There are options two options for your revisor.conf file

kickstart_include=1
kickstart_default=1

which should give this behaviour (man revisor.conf)

Hope this helps.

Kal