X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F24preseed;h=85c6494406ffd820838cce08b97e9e32a37aecfe;hb=244fa082e2493d6723dbc425686618126321028c;hp=cd530ea0126dc730e3071f4d60376122281055c0;hpb=d70b77f919f85511936645abb95d710b80c10c74;p=live-boot-grml.git diff --git a/scripts/live-bottom/24preseed b/scripts/live-bottom/24preseed index cd530ea..85c6494 100755 --- a/scripts/live-bottom/24preseed +++ b/scripts/live-bottom/24preseed @@ -1,50 +1,71 @@ -#! /bin/sh +#!/bin/sh -PREREQ="" -DESCRIPTION="Loading preseed file..." +#set -e -. /scripts/live-functions +# initramfs-tools header + +PREREQ="" -prereqs () +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" - -location= -for x in $(cat /proc/cmdline); do - case $x in - preseed/file=*) - location="${x#preseed/file=}" - ;; - file=*) - location="${x#file=}" - ;; - */*=*) - question="${x%%=*}" - value="${x#*=}" - live-preseed /root "$question" "$value" - ;; - locale=*) - value="${x#*=}" - live-preseed /root debian-installer/locale "$value" - ;; - esac -done - -if [ "$location" ]; then - chroot /root debconf-set-selections < "/root$location" +# live-boot header + +if [ -n "${NOPRESEED}" ] +then + exit 0 +fi + +. /scripts/live-functions + +log_begin_msg "Loading preseed file" + +# live-boot script + +if [ -e /preseed.cfg ] +then + chroot /root debconf-set-selections < /preseed.cfg +fi + +if [ -n "${LOCATIONS}" ] +then + for item in ${LOCATIONS} + do + chroot /root debconf-set-selections < "/root${item}" + done fi +if [ -n "${PRESEEDS}" ] +then + for preseed in ${PRESEEDS} + do + question="${preseed%%=*}" + value="${preseed#*=}" + + live-preseed /root "${question}" "${value}" + done +fi + +reply="$(echo "GET preseed/early_command" | chroot /root debconf-communicate -fnoninteractive live-boot)" + +if [ "${reply#0 }" != "${reply}" ] +then + reply="${reply#0 }" + sh -c "${reply}" +fi + +# Clear out debconf database backup files to save memory. +rm -f /root/var/cache/debconf/*.dat-old + log_end_msg exit 0