+#!/bin/sh
+
+create_initramfs () {
+ if ! test -f /lib/modules/${1}/modules.dep; then
+ return 0
+ elif ! test -f /boot/vmlinuz-${1}; then
+ return 0
+ fi
+ echo -n "Generating initramfs image for kernel ${1} ... "
+ /sbin/dracut --force /boot/initramfs-${1}.img ${1} 1>/dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ echo "\e[1;31mFailed\e[0m"
+ return 1
+ fi
+ echo "\e[1;32mOK\e[0m"
+ return 0
+}
+
+local status
+status=0
+
+if [ "x${1}" = "x" ]; then
+ echo "Usage: update-initramfs <all | kernel version>"
+ echo "Examples:"
+ echo " update-initramfs all"
+ echo " update-initramfs 3.14.51-3.14-vanilla-1"
+ exit 0
+elif [ "x${1}" = "xall" ]; then
+ for kernel in $(/bin/ls -1 /lib/modules/ 2>/dev/null); do
+ create_initramfs ${kernel}
+ if [ $? -ne 0 ]; then
+ status=1
+ fi
+ done
+else
+ create_initramfs ${1}
+ if [ $? -ne 0 ]; then
+ status=1
+ fi
+fi
+
+exit ${status}