X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F24preseed;h=1f5c513067aa4d5615ce3164eb8c1e3d819fdb1b;hb=refs%2Ftags%2Fupstream%2F1.236.2;hp=d71b441176c07733f0343879f1474a3fb7ff2259;hpb=0a854a1e9307affdeaf96cb3ec0c864b171d66ca;p=live-boot-grml.git diff --git a/scripts/live-bottom/24preseed b/scripts/live-bottom/24preseed index d71b441..1f5c513 100755 --- a/scripts/live-bottom/24preseed +++ b/scripts/live-bottom/24preseed @@ -1,37 +1,78 @@ -#! /bin/sh +#!/bin/sh -PREREQ="" -DESCRIPTION="Loading preseed file..." +#set -e -. /scripts/live-functions +# initramfs-tools header -prereqs () +PREREQ="" + +prereqs() { - echo "$PREREQ" + echo "${PREREQ}" } -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; +case "${1}" in + prereqs) + prereqs + exit 0 + ;; esac -log_begin_msg "$DESCRIPTION" +# live-initramfs header + +if [ -n "${NOPRESEED}" ] +then + exit 0 +fi + +. /scripts/live-functions +load_confmodule + +log_begin_msg "Loading preseed file" + +# live-initramfs script + +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 [ -n "${PRESEEDS}" ] +then + for preseed in ${PRESEEDS} + do + question="${preseed%%=*}" + value="${preseed#*=}" -if [ -f "/root/${LOCATION}" ]; then - chroot /root debconf-set-selections < "/root/${LOCATION}" + 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