From cbdfb4aeffe56f5a1f00a006e94d328653957770 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Sun, 8 May 2016 15:26:55 -0700 Subject: [PATCH] various improvements --- arch-init | 2 ++ arch-init-chroot | 10 +++--- fai/config/class/50-host-classes | 2 +- faiserver-setup | 6 +++- pxe-server | 62 +++++++++++++++++++++++++------- wrt-setup | 20 +++++------ 6 files changed, 72 insertions(+), 30 deletions(-) diff --git a/arch-init b/arch-init index a9e5d68..af649b2 100755 --- a/arch-init +++ b/arch-init @@ -97,6 +97,8 @@ cp /root/encrypt /mnt/usr/lib/initcpio/hooks cp -r .ssh /mnt/root cp -r /root/distro-install-common /mnt/root +mkdir -p /mnt/etc/ssh +cp /etc/ssh/host_* /mnt/etc/ssh cp /root/arch-init-chroot /mnt/root # for manual commands, arch-chroot /mnt bash diff --git a/arch-init-chroot b/arch-init-chroot index d2e0f97..634991c 100755 --- a/arch-init-chroot +++ b/arch-init-chroot @@ -2,12 +2,10 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR -for x in /etc/*.pacorig; do - # This started breaking immediately when I stoped doing genfstab. - # It's probably not needed anymore - [[ -e $x ]] || break - mv $x ${x%.pacorig} -done +# note, when I did genfstab, i +# neeeded to to do for x in mv /etc/*.pacorig; do mv $x ${x%.pacorig}; done + +pacman -Syu echo $hostname > /etc/hostname [[ -L /etc/localtime ]] || ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime diff --git a/fai/config/class/50-host-classes b/fai/config/class/50-host-classes index 03bac3e..4309ab4 100755 --- a/fai/config/class/50-host-classes +++ b/fai/config/class/50-host-classes @@ -16,7 +16,7 @@ case $HOSTNAME in frodo) echo "FAIBASE DEBIAN DESKTOP STABLE PARTITION_PROMPT" ;; treetowl) - echo "FAIBASE DEBIAN DESKTOP STABLE REPARTITION" ;; + echo "FAIBASE DEBIAN DESKTOP STABLE PARTITION_PROMPT" ;; # faiserver) # echo "FAIBASE DEBIAN DEMO FAISERVER" ;; # xfcehost) diff --git a/faiserver-setup b/faiserver-setup index 1bfbacb..3b9ab80 100755 --- a/faiserver-setup +++ b/faiserver-setup @@ -1,6 +1,9 @@ #!/bin/bash -# initial setup of a fai server on debian +# Initial setup of a fai server on debian. works on localhost. +# Set's the current ip as the tftp server. I vaguely remember +# that using a hostname does not work +# Requires changing dns to point faiserver and running fai-redep set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR @@ -63,6 +66,7 @@ std_arg="-u nfs://faiserver/srv/fai/config" fai-chboot -Iv $std_arg default # reset so we are idempotent kernel=$(fai-chboot -L '^default$' | awk '{print $3}') type -t host &>/dev/null || apt-get -y install dnsutils +# resolve host using gateway address my_ip=$(host faiserver $(route -n | sed -rn 's/^(0\.){3}0\s+(\S+).*/\2/p') | \ sed -rn 's/^\S+ has address //p') k_args=$(fai-chboot -L '^default$' | \ diff --git a/pxe-server b/pxe-server index ec299e4..4fcf40c 100755 --- a/pxe-server +++ b/pxe-server @@ -10,36 +10,74 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR -if [[ ! $1 ]]; then + +usage() { + cat < # default dhcp range is 100-150 -dhcp-host=00:15:17:d2:1a:1c,192.168.1.2,treetowl -dhcp-host=00:26:18:97:bb:16,192.168.1.3,frodo -dhcp-host=10:78:d2:da:29:22,192.168.1.4,htpc -dhcp-host=00:1f:16:16:39:24,192.168.1.5,x2 +dhcp-host=f4:6d:04:02:ed:66,set:treetowl,192.168.1.2,treetowl +dhcp-host=00:26:18:97:bb:16,set:frodo,192.168.1.3,frodo +dhcp-host=10:78:d2:da:29:22,set:htpc,192.168.1.4,htpc +dhcp-host=00:1f:16:16:39:24,set:x2,192.168.1.5,x2 # this is so fai can have an explicit name to use for testing, # or else any random machine which did a pxe boot would get # reformatted. The mac is from doing a virt-install, cancelling it, # and copying the generated mac, so it should be randomish. -dhcp-host=52:54:00:9c:ef:ad,192.168.1.6,demohost -dhcp-host=52:54:00:56:09:f9,192.168.1.7,faiserver -dhcp-host=80:fa:5b:1c:6e:cf,192.168.1.8,tp +dhcp-host=52:54:00:9c:ef:ad,set:demohost,192.168.1.6,demohost +dhcp-host=52:54:00:56:09:f9,set:faiserver,192.168.1.7,faiserver +dhcp-host=80:fa:5b:1c:6e:cf,set:tp,192.168.1.8,tp # this is the ip it picks by default if dhcp fails, # so might as well use it. # hostname is the name it uses according to telnet -dhcp-host=b4:75:0e:94:29:ca,192.168.1.251,switch9429ca +dhcp-host=b4:75:0e:94:29:ca,set:switch9429ca,192.168.1.251,switch9429ca # template -- 2.30.2