. /scripts/live-functions
-log_begin_msg "Disabling update-initramfs (useless on a live CD)..."
+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
+# Running off a USB disk or other writable media.
+if [ -w /root/cdrom ] && \
+ # rw is guaranteed to be first.
+ grep -q ' /root/cdrom rw[, ]' /proc/self/mountinfo
+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 a live CD"
+echo "update-initramfs is disabled since running on read-only media"
exit 0
EOF
+fi
+
chmod 0755 /root/usr/sbin/update-initramfs
log_end_msg