# 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
+ EARLY="$RET"
+ if db_get preseed/allow-network && [ "$RET" = true ]; then
+ start_network
+ fi
+
+ DEBIAN_HAS_FRONTEND= DEBCONF_REDIR= \
+ DEBIAN_FRONTEND=noninteractive \
+ sh -c "$EARLY"
fi
+stop_network
+
+# Clear out debconf database backup files to save memory.
+rm -f /root/var/cache/debconf/*.dat-old
+
log_end_msg
exit 0