summaryrefslogtreecommitdiff
path: root/common/customise.lib
blob: 55307e96747de93991c1d9b2d3be12b8a7bab1d3 (plain)
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
}