37e77b78a365e3b1bc400cf42f29a69bfa101471
[distro-setup] / bitfolk-chroot-install
1 #!/bin/bash
2
3 if ! test "$BASH_VERSION"; then echo "error: shell is not bash" >&2; exit 1; fi
4 shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4
5 set -eE -o pipefail
6 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR
7
8
9 host=$1
10
11 case $host in
12 je)
13 ip6=2001:ba8:1f1:f09d
14 ip4=85.119.82.128
15 ;;
16 bk)
17 ip6=2001:ba8:1f1:f0c9
18 ip4=85.119.83.50
19 ;;
20 esac
21
22 debconf-set-selections <<'EOF'
23 locales locales/default_environment_locale select en_US.UTF-8
24 locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8
25 EOF
26
27 # /a/bin/fai/fai/config/hooks/updatebase.UBUNTU
28 debconf --owner=locales sh -c '
29 . /usr/share/debconf/confmodule
30 db_version 2.0
31 db_get locales/locales_to_be_generated &&
32 mkdir -p /var/lib/locales/supported.d &&
33 echo "$RET" > /var/lib/locales/supported.d/local'
34 dpkg-reconfigure -fnoninteractive locales
35
36 apt -y remove --purge --auto-remove netplan.io libnetplan0
37 apt update
38 apt -y install linux-virtual-hwe-20.04 grub-pc-bin openssh-server ifupdown rsync
39 mkdir -p /root/.ssh
40 chmod 700 /root/.ssh
41 cat >/root/.ssh/authorized_keys <<'EOF'
42 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDX42yru/h6r6UDRy/VwVZjcYEmNLG5/SUjv7xwu43OaW0wL+uHYg2rkfn4Ygh5o1I5pgBh2SWg8TeWuVGhgL1SCuBzzeai/+58Sny065Qak+D2WjVOuRonRelh+CBA5EpNZPuiWQkoWdf9NACTBCbS2Zu7r8OOgRqu/ruaDNePlG5+U0Wlpy3oBnpbzQiuSA3AKMW30fsCJtOBjz5qQaiPbYEKJy3AOvtbq10wliKx9TpsTzrq8dKWs7PLhZnzqVCsaq6D95IzjqXcSpx4Cga5bn+YEuAnJQ53PGA5eO+hpz6HDmawTbJlaV/Dufb9bJ/ZZy1DXzs07yWRtTEY54/X ian@iankelling.org
43 EOF
44
45
46 # todo update this and hostname depending on host
47 cat >/etc/network/interfaces <<EOF
48 auto lo
49 iface lo inet loopback
50
51 # The primary network interface
52 auto eth0
53 iface eth0 inet static
54 address $ip4/21
55 gateway 85.119.80.1
56
57 iface eth0 inet6 static
58 address $ip6::2
59 netmask 64
60 gateway $ip6::1
61 post-up echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra
62 post-up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
63 post-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
64 post-up echo 0 > /proc/sys/net/ipv6/conf/default/autoconf
65 post-up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
66 post-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
67 EOF
68
69 cat >/etc/fstab <<'EOF'
70 /dev/xvda1 / ext4 noatime,nodiratime 0 1
71 /dev/xvdb1 none swap nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,sw 0 0
72 EOF
73
74 cat >> /etc/default/grub <<'EOF'
75 GRUB_CMDLINE_LINUX_DEFAULT=""
76 GRUB_CMDLINE_LINUX="console=hvc0"
77 EOF
78
79 update-grub
80
81 cat >/etc/systemd/resolved.conf.d/servers.conf <<'EOF'
82 [Resolve]
83 DNS=85.119.80.232 85.119.80.233
84 Domains=~.
85 EOF
86
87 cat >/etc/hostname <<EOF
88 $host
89 EOF