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
+ live-set-selections /preseed.cfg
fi
-if [ -f "/root/${LOCATION}" ]
+if [ -n "${LOCATIONS}" ]
then
- chroot /root debconf-set-selections < "/root/${LOCATION}"
+ for item in ${LOCATIONS}
+ do
+ live-set-selections "/root$item"
+ done
fi
if [ -n "${PRESEEDS}" ]
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"
+if db_get preseed/early_command && [ "$RET" ]
+then
+ echo 'APT::Keep-Fds { "3"; "4"; };' > /root/etc/apt/apt.conf.d/00-early-debconf
+ DEBIAN_FRONTEND=passthrough \
+ DEBCONF_READFD=3 \
+ DEBCONF_WRITEFD=4 \
+ DEBCONF_DB_REPLACE=configdb \
+ DEBCONF_DB_OVERRIDE='Pipe{infd:none outfd:none}' \
+ sh -c "$RET"
+ rm -f /root/etc/apt/apt.conf.d/00-early-debconf
fi
# Clear out debconf database backup files to save memory.