fi
. /scripts/live-functions
+load_confmodule
log_begin_msg "Loading preseed file"
if [ -e /preseed.cfg ]
then
- chroot /root debconf-set-selections < /preseed.cfg
+ live-set-selections /preseed.cfg
fi
if [ -n "${LOCATIONS}" ]
then
for item in ${LOCATIONS}
do
- chroot /root debconf-set-selections < "/root${ITEM}"
+ live-set-selections "/root$item"
done
fi
done
fi
-reply="$(echo "GET preseed/early_command" | chroot /root debconf-communicate -fnoninteractive live-initramfs)"
-
-if [ "${reply#0 }" != "${reply}" ]
+if db_get preseed/early_command && [ "$RET" ]
then
- reply="${reply#0 }"
- sh -c "${reply}"
+ 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.