#!/bin/sh
-# Fix for LP#150188
-PREREQ=""
-DESCRIPTION="Disabling update-initramfs (useless on a live CD)..."
+#set -e
+
+# initramfs-tools header
-. /scripts/casper-functions
+PREREQ=""
prereqs()
{
- echo "$PREREQ"
+ echo "${PREREQ}"
}
-case $1 in
-# get pre-requisites
-prereqs)
- prereqs
- exit 0
- ;;
+case "${1}" in
+ prereqs)
+ prereqs
+ exit 0
+ ;;
esac
-log_begin_msg "$DESCRIPTION"
+# live-initramfs header
+
+. /scripts/live-functions
+
+log_begin_msg "Possibly disabling update-initramfs (useless on a live CD)..."
+
+# live-initramfs script
chroot /root dpkg-divert --add --rename --quiet \
- /usr/sbin/update-initramfs
-cat > /root/usr/sbin/update-initramfs <<EOF
-#! /bin/sh
+ /usr/sbin/update-initramfs
-echo "update-initramfs is disabled since running on a live CD"
+# Running off a USB disk or other writable media.
+if [ -w /root/cdrom ] && \
+ ! grep -q '^[^ ]* /root/cdrom [^ ]* [^ ]*\<ro\>' /proc/mounts
+then
+
+cat > /root/usr/sbin/update-initramfs << 'EOF'
+#!/bin/sh
+
+update-initramfs.distrib "$@"
+cp /initrd.img /cdrom/live/initrd.gz
+cp /vmlinuz /cdrom/live/vmlinuz
exit 0
+EOF
+else
+
+cat > /root/usr/sbin/update-initramfs << EOF
+#!/bin/sh
+
+echo "update-initramfs is disabled since running on read-only media"
+exit 0
EOF
-chmod 755 /root/usr/sbin/update-initramfs
+fi
+
+chmod 0755 /root/usr/sbin/update-initramfs
log_end_msg