From dcd2fc35eb15515eb1f97af9a8c8f04f17e53d83 Mon Sep 17 00:00:00 2001 From: sean Date: Tue, 9 Jul 2019 14:26:33 -0700 Subject: [PATCH] tweaks --- setup.sh | 74 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/setup.sh b/setup.sh index 3791325..f1e0457 100644 --- a/setup.sh +++ b/setup.sh @@ -93,40 +93,49 @@ if ! [ "$?" = "0" ]; then fi echo "Done." -zfs create -o canmount=off -o mountpoint=none rpool/ROOT -zfs create -o canmount=off -o mountpoint=none bpool/BOOT -zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/ubuntu -zfs mount rpool/ROOT/ubuntu -zfs create -o canmount=noauto -o mountpoint=/boot bpool/BOOT/ubuntu -zfs mount bpool/BOOT/ubuntu -zfs create rpool/home -zfs create -o mountpoint=/root rpool/home/root -zfs create -o canmount=off rpool/var -zfs create -o canmount=off rpool/var/lib -zfs create rpool/var/log -zfs create rpool/var/spool -zfs create -o com.sun:auto-snapshot=false rpool/var/cache -zfs create -o com.sun:auto-snapshot=false rpool/var/tmp -chmod 1777 /mnt/var/tmp -zfs create rpool/opt -zfs create rpool/srv -zfs create -o canmount=off rpool/usr -zfs create rpool/usr/local -zfs create rpool/var/mail -zfs create -o com.sun:auto-snapshot=false rpool/var/lib/docker -zfs create -o com.sun:auto-snapshot=false rpool/var/lib/nfs -zfs create -o com.sun:auto-snapshot=false rpool/tmp -chmod 1777 /mnt/tmp -exit 0 -# debootstrap bionic /mnt -# zfs set devices=off rpool -# echo HOSTNAME > /mnt/etc/hostname -# echo "127.0.1.1 $hostname" >> /mnt/etc/hosts -# vi /mnt/etc/hosts -# echo "deb http://archive.ubuntu.com/ubuntu bionic main universe\ndeb-src http://archive.ubuntu.com/ubuntu bionic main universe\ndeb http://security.ubuntu.com/ubuntu bionic-security main universe\ndeb-src http://security.ubuntu.com/ubuntu bionic-security main universe\ndeb http://archive.ubuntu.com/ubuntu bionic-updates main universe\ndeb-src http://archive.ubuntu.com/ubuntu bionic-updates main universe" > /mnt/etc/apt/sources.list +echo "" +echo "Setting up main zpool dataset configuration..." +errors=`zfs create -o canmount=off -o mountpoint=none rpool/ROOT 2>&1 1>/dev/null && zfs create -o canmount=off -o mountpoint=none bpool/BOOT 2>&1 1>/dev/null && zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/ubuntu 2>&1 1>/dev/null && zfs mount rpool/ROOT/ubuntu 2>&1 1>/dev/null && zfs create -o canmount=noauto -o mountpoint=/boot bpool/BOOT/ubuntu 2>&1 1>/dev/null && zfs mount bpool/BOOT/ubuntu 2>&1 1>/dev/null && zfs create rpool/home 2>&1 1>/dev/null && zfs create -o mountpoint=/root rpool/home/root 2>&1 1>/dev/null && zfs create -o canmount=off rpool/var 2>&1 1>/dev/null && zfs create -o canmount=off rpool/var/lib 2>&1 1>/dev/null && zfs create rpool/var/log 2>&1 1>/dev/null && zfs create rpool/var/spool 2>&1 1>/dev/null && zfs create -o com.sun:auto-snapshot=false rpool/var/cache 2>&1 1>/dev/null && zfs create -o com.sun:auto-snapshot=false rpool/var/tmp 2>&1 1>/dev/null && chmod 1777 /mnt/var/tmp 2>&1 1>/dev/null && zfs create rpool/opt 2>&1 1>/dev/null && zfs create rpool/srv 2>&1 1>/dev/null && zfs create -o canmount=off rpool/usr 2>&1 1>/dev/null && zfs create rpool/usr/local 2>&1 1>/dev/null && zfs create rpool/var/mail 2>&1 1>/dev/null && zfs create -o com.sun:auto-snapshot=false rpool/var/lib/docker 2>&1 1>/dev/null && zfs create -o com.sun:auto-snapshot=false rpool/var/lib/nfs 2>&1 1>/dev/null && zfs create -o com.sun:auto-snapshot=false rpool/tmp 2>&1 1>/dev/null && chmod 1777 /mnt/tmp 2>&1 1>/dev/null` + +if ! [ "$?" = "0" ]; then + echo "Error setting up ZFS settings - $errors" + exit 5 +fi +echo "Done." + +echo "" +echo "Starting debian bootstrap..." +errors=`debootstrap bionic /mnt 2>&1 1>/dev/null` +if ! [ "$?" = "0" ]; then + echo "Failed to bootstrap root - $errors" + exit 6 +fi +echo "Done." + +echo "" +echo "Disabling ZFS devices..." +errors=`zfs set devices=off rpool 2>&1 1>/dev/null` +if ! [ "$?" = "0" ]; then + echo "Failed to set devices=off for root pool- $errors" + exit 7 +fi +echo "Done." + +echo "" +echo "Setting hostname..." +echo HOSTNAME > /mnt/etc/hostname +echo "127.0.1.1 $hostname" >> /mnt/etc/hosts +echo "Done." + +echo "" +echo "Setting default apt repositories" +echo "deb http://archive.ubuntu.com/ubuntu bionic main universe\ndeb-src http://archive.ubuntu.com/ubuntu bionic main universe\ndeb http://security.ubuntu.com/ubuntu bionic-security main universe\ndeb-src http://security.ubuntu.com/ubuntu bionic-security main universe\ndeb http://archive.ubuntu.com/ubuntu bionic-updates main universe\ndeb-src http://archive.ubuntu.com/ubuntu bionic-updates main universe" > /mnt/etc/apt/sources.list +echo "Done." # you really need static config here too! +echo "" +echo "Writing netplan file" macaddr=$(echo $hostname|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') network="network:\n version: 2\n renderer: networkd\n ethernets:" for nic in "$nicdevices"; do @@ -136,7 +145,8 @@ network="$network\n bridges:\n br0:\n macaddress: ${macaddr}\n dhc for nic in `echo "$nicdevices"`; do network="$network\n - ${nic}" done -# echo "$network" > /mnt/etc/netplan/bridge.yaml +echo "$network" > /mnt/etc/netplan/bridge.yaml +echo "Done." # mount --rbind /dev /mnt/dev # mount --rbind /proc /mnt/proc