]> TLD Linux GIT Repositories - packages/dracut.git/blobdiff - update-initramfs
- added update-initramfs script for mass updating initramfs images
[packages/dracut.git] / update-initramfs
diff --git a/update-initramfs b/update-initramfs
new file mode 100755 (executable)
index 0000000..509060f
--- /dev/null
@@ -0,0 +1,42 @@
+#!/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}