Merging casper 1.106.
authorDaniel Baumann <daniel@debian.org>
Fri, 28 Sep 2007 18:54:10 +0000 (20:54 +0200)
committerDaniel Baumann <daniel@debian.org>
Wed, 9 Mar 2011 16:31:05 +0000 (17:31 +0100)
docs/ChangeLog.casper
scripts/live
scripts/live-bottom/01integrity_check
scripts/live-bottom/24preseed

index f4f8cfd..08daa0e 100644 (file)
@@ -1,3 +1,15 @@
+casper (1.106) gutsy; urgency=low
+
+  * Support preseed/early_command; code supplied here will be run using 'sh
+    -c' from casper-bottom, and can chroot to /root if needed (LP: #144845).
+  * Make sure we don't accidentally continue to boot if casper-md5check
+    fails (LP: #82856).
+  * Clear out debconf database backup files after preseeding to save memory
+    (LP: #43706).
+  * Mount everything as noatime to avoid unnecessary metadata writes.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Fri, 28 Sep 2007 15:27:52 +0100
+
 casper (1.105) gutsy; urgency=low
 
   * scripts/casper-bottom/36disable_trackerd: Disable trackerd in the live
index d4b253b..975c03d 100755 (executable)
@@ -727,7 +727,7 @@ do_snap_copy ()
                if [ -n "${fstype}" ]
                then
                        # Copying stuff...
-                       mount -t "${fstype}" -o ro "${fromdev}" "${tomount}"
+                       mount -t "${fstype}" -o ro,noatime "${fromdev}" "${tomount}"
                        cp -a "${tomount}"/* ${todir}
                        umount "${tomount}"
                else
@@ -903,7 +903,7 @@ setup_unionfs ()
 
                        mkdir -p "${croot}/${imagename}"
                        echo "debug: Can not mount backdev ${backdev} (image = ${image}) on croot/imagename ${croot}/${imagename}"
-                       mount -t "${fstype}" -o ro "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}"
+                       mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}"
                fi
        done
 
@@ -927,9 +927,9 @@ setup_unionfs ()
                fi
        fi
 
-       mount ${cowdevice} -t ${cow_fstype} -o rw /cow || panic "Can not mount ${cowdevice} on /cow"
+       mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || panic "Can not mount ${cowdevice} on /cow"
 
-       mount -t ${UNIONTYPE} -o dirs=/cow=rw:${rofsstring} ${UNIONTYPE} "${rootmnt}" || panic "${UNIONTYPE} mount failed"
+       mount -t ${UNIONTYPE} -o noatime,dirs=/cow=rw:${rofsstring} ${UNIONTYPE} "${rootmnt}" || panic "${UNIONTYPE} mount failed"
 
        # Adding other custom mounts
        if [ -n "${PERSISTENT}" ]
@@ -940,7 +940,7 @@ setup_unionfs ()
 
                if [ -b "${homecow}" ]
                then
-                       mount -t $(get_fstype "${homecow}") -o rw "${homecow}" "${rootmnt}/home"
+                       mount -t $(get_fstype "${homecow}") -o rw,noatime "${homecow}" "${rootmnt}/home"
                        export HOMEMOUNTED=1 # used to proper calculate free space in do_snap_copy()
                else
                        [ "${quiet}" != "y" ] && log_warning_msg "Unable to find the persistent home medium"
@@ -994,7 +994,7 @@ check_dev ()
 
        if is_supported_fs ${fstype}
        then
-               mount -t ${fstype} -o ro "${devname}" ${mountpoint} || continue
+               mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
 
                if is_live_path ${mountpoint}
                then
index 4ac847f..e4710f3 100755 (executable)
@@ -20,7 +20,10 @@ esac
 
 # live-initramfs script
 
-grep -qs integrity-check /proc/cmdline || exit 0
-
-cd /live/image
-md5sum -c md5sum.txt < /dev/tty8
+if grep -qs integrity-check /proc/cmdline
+then
+       cd /live/image
+       md5sum -c md5sum.txt < /dev/tty8 > /dev/tty8
+       reboot
+       while :; do sleep 60; done
+fi
index f4b2db0..3d0bdaf 100755 (executable)
@@ -52,6 +52,15 @@ then
        done
 fi
 
+reply="$(echo "GET preseed/early_command" | chroot /root debconf-communicate -fnoninteractive casper)"
+if [ "${reply#0 }" != "$reply" ]; then
+       reply="${reply#0 }"
+       sh -c "$reply"
+fi
+
+# Clear out debconf database backup files to save memory.
+rm -f /root/var/cache/debconf/*.dat-old
+
 log_end_msg
 
 exit 0