upstream 5.1 sample config
[automated-distro-installer] / fai / config / scripts / CENTOS / 30-mkinitrd
1 #! /bin/bash
2
3 # (c) Michael Goetze, 2010-2011, mgoetze@mgoetze.net
4 # (c) Thomas Lange, 2011, Uni Koeln
5
6 error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
7
8 ainsl -v /etc/fstab "proc /proc proc defaults 0 0"
9 ainsl -v /etc/fstab "sysfs /sys sysfs auto 0 0"
10
11 version=`$ROOTCMD rpm -qv kernel | cut -d- -f2-`
12
13 use_mkinitrd() {
14
15 # CentOS 5 uses mkinitrd
16 $ROOTCMD kudzu -q -k $version
17 # Unfortunately mkinitrd is horrible at guessing which modules to include,
18 # especially when the running kernel is different than the kernel for which
19 # we are creating an initrd...
20
21 drivers=""
22 for bus in pci virtio; do
23 for dr in `$ROOTCMD kudzu -p -k $version -b $bus|grep driver:|cut -d' ' -f2|sort -u`; do
24 found=`find $target/lib/modules/$version/ -name $dr.ko 2>/dev/null`
25 if [ -n "$found" ]; then
26 # add driver only if it's available as .ko module in the destination kernel
27 drivers+=" --with=$dr"
28 fi
29 done
30 done
31
32 $ROOTCMD mkinitrd -f -v $drivers /boot/initrd-$version.img $version
33
34 if [ $? -eq 1 ]; then
35 echo "WARNING: generating initrd with list of drivers failed. Trying without."
36 $ROOTCMD mkinitrd -f -v /boot/initrd-$version.img $version
37 fi
38 }
39
40 # CentOS 5 uses mkinitrd
41 if [ -f $target/sbin/mkinitrd ]; then
42 use_mkinitrd
43 fi
44
45 # call dracut for CentOS 7
46 if [ -f $target/usr/sbin/dracut ]; then
47 # add filesystem driver into initrd
48 ainsl -av /etc/dracut.conf.d/fai.conf 'filesystems+="ext4"'
49 $ROOTCMD dracut -v --kver $version --force
50 fi
51
52 # for CentOS 6 we do not need to call dracut
53
54 exit $error