40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
#Used only by sysclone
 | 
						|
 | 
						|
# This SI post-install script is needed because the initrd that autoyast/kickstart/ubuntu builds when installing
 | 
						|
# sles/rh/ubuntu on the golden node may not have the drivers when that initrd runs on the node that is
 | 
						|
# being deployed with this image (specifically, drivers to be able to mount the disk).
 | 
						|
# So rebuild the initrd on the to-node after putting the image on the disk, but before rebooting.
 | 
						|
 | 
						|
#todo: Make this script work on red hat by checking for dracut and using that if it exists.
 | 
						|
#		And do whatever is necessary on ubuntu.
 | 
						|
 | 
						|
if [[ -f /sbin/dracut ]]; then
 | 
						|
    # redhat6.x/centos6.x/rhels7.x
 | 
						|
    echo "Running dracut to regenerate the initrd with the drivers needed by this node:"
 | 
						|
    arch=`uname -m`
 | 
						|
    #echo "arch=$arch"
 | 
						|
    initrdfile=`find /boot -name "initramfs-*.$arch.img"`
 | 
						|
    #echo "initrdfile=$initrdfile"
 | 
						|
    kernelversion=`echo $initrdfile |sed -e 's:/boot/initramfs-\(.*\)\.img:\1:g'`
 | 
						|
    #echo "kernelversion=$kernelversion"
 | 
						|
    mv $initrdfile $initrdfile.org
 | 
						|
    echo "dracut $initrdfile $kernelversion"
 | 
						|
    dracut $initrdfile $kernelversion
 | 
						|
else
 | 
						|
    # suse/sles and redhat5.x/centos5.x
 | 
						|
    echo "Running mkinitrd to regenerate the initrd with the drivers needed by this node:"
 | 
						|
    osvers=`cat /etc/*release|sed -e 's/.*\([0-9]\{1,\}\.[0-9]\{1,\}\).*/\1/'`
 | 
						|
    if [[ $osvers == 5\.* ]];then
 | 
						|
        initrdfile=`find /boot -name "initrd-*.img"`
 | 
						|
        #echo "initrdfile=$initrdfile"
 | 
						|
        kernelversion=`echo $initrdfile |sed -e 's:/boot/initrd-\(.*\)\.img:\1:g'`
 | 
						|
        #echo "kernelversion=$kernelversion"
 | 
						|
        mv $initrdfile $initrdfile.org
 | 
						|
        echo "mkinitrd $initrdfile $kernelversion"
 | 
						|
        mkinitrd $initrdfile $kernelversion
 | 
						|
    else
 | 
						|
        mkinitrd
 | 
						|
    fi
 | 
						|
fi
 |