We routinely rebuild systems from a kickstart driven facility we have
built. This uses a Fedora image - in this case fedora 7 Everything with
the updates merged in. We have run into 2 problems with this as opposed
to the original release image.

First the version of yum available in updates currently is incompatible
with the version of anaconda. The problem is that this version of yum
does not create the headers directory and anaconda assumes it will
exist.

anaconda-11.2.0.66-1.i386.rpm
yum-3.2.1-1.fc7

To get round this we have reverted to yum-3.2.0-1.fc7.noarch.rpm for
now but will probably try out the development releases of anaconda and
yum next week.

More worrying is a problem with dependencies in building the kernel
initrd images. The newly built Everything regime has the latest kernel
- kernel-2.6.21-1.3228.fc7 - as available from updates. But when the
kickstart install runs the mkinitrd cannot find /sbin/mdadm as the
mdadm package is not a dependency of the kernel (and should not be for
all builds but ....[1]) This has the effect of allowing the build to
complete but when the system reboots LVM cannot find the logical volume
groups because the raid has not started.

We build our systems with mirrored boot partitions on
/dev/md0 and mirrored /dev/md1 on the remainder of the disc with
logical volumes on this portion of the disc including the root
partition. Hence the problem above.[1]

To get round this we are rebuilding the kernel to require the mdadm
package - but this is really not what we should be doing. Somewhere in
the RPM, YUM, Anaconda, regime we need to be able to specify that mdadm
(and lvm2) needs to be installed prior to the kernel installation, only
for our particular configurations not in general. Any ideas anybody?