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