customise.lib 2.41 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
# Copyright 2015 Neil Williams <codehelp@debian.org>
#
# 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 3 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, see <http://www.gnu.org/licenses/>.

BASE_OPTS="
 --owner ${WHO} --verbose \
 --sudo \
 --lock-root-password \
 --enable-dhcp \
 --configure-apt \
 --log debian-cd-${SUITE}-${ARCH}.log --log-level debug \
"

TASK_PACKAGES="task-laptop task-english"

# packages which are not (yet) part of a task
EXTRA_PACKAGES="dkms locales whois telnet aptitude lsof host \
 bash-completion firmware-linux-free dnsutils time rsync reportbug w3m \
 ethtool ftp host lsof debian-faq debian-installer-launcher doc-debian \
"
cleanup() {
    umount ${rootdir}/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true
    umount ${rootdir}/proc
    umount ${rootdir}/sys
}

export DEBIAN_FRONTEND=noninteractive
export LC_ALL=C
export LANG=C
export LANGUAGE=C

mount_support() {
    mount proc -t proc ${rootdir}/proc
    mount sys -t sysfs ${rootdir}/sys
}

disable_daemons() {
    # prevent packages starting daemons inside the chroot until after boot.
    # https://wiki.debian.org/chroot
    cat > ${rootdir}/usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
    chmod a+x ${rootdir}/usr/sbin/policy-rc.d
}

# ensure you pass the replacement mirror and suite
prepare_apt_source() {
    # handle the apt source
    mv ${rootdir}/etc/apt/sources.list.d/base.list ${rootdir}/etc/apt/
    echo "deb $1 $2 main contrib non-free" > ${rootdir}/etc/apt/sources.list
    echo "deb-src $1 $2 main contrib non-free" >> ${rootdir}/etc/apt/sources.list
    chroot ${rootdir} apt -qq -y update > /dev/null 2>&1
}

remove_daemon_block() {
    rm ${rootdir}/usr/sbin/policy-rc.d
}

replace_apt_source() {
    # Undo apt source change
    rm ${rootdir}/etc/apt/sources.list
    mv ${rootdir}/etc/apt/base.list ${rootdir}/etc/apt/sources.list.d/
}

blacklist_qemu_bochs() {
    echo "blacklist bochs-drm" > ${rootdir}/etc/modprobe.d/qemu-blacklist.conf
}