Merging casper 1.216.
[live-boot-grml.git] / scripts / live-bottom / 24preseed
index 55fbfc3..9a77ef5 100755 (executable)
@@ -20,28 +20,50 @@ esac
 
 # live-initramfs header
 
+if [ -n "${NOPRESEED}" ]
+then
+       exit 0
+fi
+
 . /scripts/live-functions
+load_confmodule
 
-log_begin_msg "Loading preseed file..."
+log_begin_msg "Loading preseed file"
 
 # live-initramfs script
 
-if [ -e /preseed.cfg ]; then
-       chroot /root debconf-set-selections < /preseed.cfg
+if [ -e /preseed.cfg ]
+then
+       live-set-selections /preseed.cfg
+fi
+
+if [ -n "${LOCATIONS}" ]
+then
+       for item in ${LOCATIONS}
+       do
+               live-set-selections "/root$item"
+       done
 fi
 
-if [ -f "/root/${LOCATION}" ]; then
-    chroot /root debconf-set-selections < "/root/${LOCATION}"
+if [ -n "${PRESEEDS}" ]
+then
+       for preseed in ${PRESEEDS}
+       do
+               question="${preseed%%=*}"
+               value="${preseed#*=}"
+
+               live-preseed /root "${question}" "${value}"
+       done
 fi
 
-if [ -n "${PRESEEDS}" ]; then
-    for preseed in ${PRESEEDS}; do
-       question="${preseed%%=*}"
-               value="${preseed#*=}"
-               live-preseed /root "${question}" "${value}"
-       done
+if db_get preseed/early_command && [ "$RET" ]
+then
+       sh -c "$RET"
 fi
 
+# Clear out debconf database backup files to save memory.
+rm -f /root/var/cache/debconf/*.dat-old
+
 log_end_msg
 
 exit 0