#!/bin/bash -x # This file is part of Ian Kelling's automated-distro-installer # Copyright (C) 2024 Ian Kelling # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR if [[ $EUID != 0 ]]; then echo "$0: error: expected to be root." exit 1 fi m() { printf "%s\n" "$*"; "$@"; } source $FAI/distro-install-common/bash-misc-functions fcopy -riB /root # in bullseye, installing systemd-resolved says: Converting # /etc/resolv.conf to a symlink to # /run/systemd/resolve/stub-resolv.conf... which breaks # resolution. This happens to be the first script we install a package # after that. This should do nothing in a fai-wrapper situation. if [[ ! -s $target/etc/resolv.conf ]]; then m ls -la $target/etc/resolv.conf ||: # Keep the symlink in place, systemd-resolved should change the file # when it runs. mkdir -p $target/run/systemd/resolve if [[ ! -s /etc/resolv.conf ]] && ! host google.com; then echo "ERROR: empty resolv.conf & failed dns resolution. exiting 1" >&2 exit 1 fi cat /etc/resolv.conf >$target/etc/resolv.conf fi #### misc configurations chroot $FAI_ROOT bash <<'EOFOUTER' set -xe if getent group systemd-journal >/dev/null; then # makes the journal be saved to disk. mkdir -p /var/log/journal chmod 755 /var/log/journal fi debconf-set-selections <