X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FCENTOS%2F30-mkinitrd;h=f7564d4187b744d3a9d7609635fe055c7e2a3abc;hb=7ade5e2c6113530c5f99cfc95880897fcb479f39;hp=89357b91f37806be79744df75cc159aae6e13546;hpb=3bd65f0ca635f1349626c2393a4dd8a50df64f54;p=automated-distro-installer diff --git a/fai/config/scripts/CENTOS/30-mkinitrd b/fai/config/scripts/CENTOS/30-mkinitrd index 89357b9..f7564d4 100755 --- a/fai/config/scripts/CENTOS/30-mkinitrd +++ b/fai/config/scripts/CENTOS/30-mkinitrd @@ -8,47 +8,18 @@ error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code ainsl -v /etc/fstab "proc /proc proc defaults 0 0" ainsl -v /etc/fstab "sysfs /sys sysfs auto 0 0" -version=`$ROOTCMD rpm -qv kernel | cut -d- -f2-` - -use_mkinitrd() { - - # CentOS 5 uses mkinitrd - $ROOTCMD kudzu -q -k $version - # Unfortunately mkinitrd is horrible at guessing which modules to include, - # especially when the running kernel is different than the kernel for which - # we are creating an initrd... - - drivers="" - for bus in pci virtio; do - for dr in `$ROOTCMD kudzu -p -k $version -b $bus|grep driver:|cut -d' ' -f2|sort -u`; do - found=`find $target/lib/modules/$version/ -name $dr.ko 2>/dev/null` - if [ -n "$found" ]; then - # add driver only if it's available as .ko module in the destination kernel - drivers+=" --with=$dr" - fi - done - done - - $ROOTCMD mkinitrd -f -v $drivers /boot/initrd-$version.img $version - - if [ $? -eq 1 ]; then - echo "WARNING: generating initrd with list of drivers failed. Trying without." - $ROOTCMD mkinitrd -f -v /boot/initrd-$version.img $version - fi -} - -# CentOS 5 uses mkinitrd -if [ -f $target/sbin/mkinitrd ]; then - use_mkinitrd -fi +version=$($ROOTCMD rpm -qv kernel | cut -d- -f2-) + -# call dracut for CentOS 7 -if [ -f $target/usr/sbin/dracut ]; then - # add filesystem driver into initrd - ainsl -av /etc/dracut.conf.d/fai.conf 'filesystems+="ext4"' - $ROOTCMD dracut -v --kver $version --force +if [ -f $target/etc/lvm/lvm.conf ]; then + sed -i -e 's/use_lvmetad = 1/use_lvmetad = 0/' $target/etc/lvm/lvm.conf + ainsl -av /etc/dracut.conf.d/fai.conf 'add_dracutmodules+=" lvm "' fi -# for CentOS 6 we do not need to call dracut + +# add filesystem driver into initrd +ainsl -av /etc/dracut.conf.d/fai.conf 'filesystems+="ext4"' +$ROOTCMD dracut -v --kver $version --force + exit $error