various fixes for etiona and pxe
[automated-distro-installer] / wrt-setup
1 #!/bin/bash
2 # Copyright (C) 2016 Ian Kelling
3
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
18
19 set -eE -o pipefail
20 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
21
22 x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*}
23
24 usage() {
25 cat <<EOF
26 usage: ${0##*/} [-h|--help] [HOST/IP] [wrt-setup-local_ARGS]
27 setup my router in general: dhcp, dns, etc.
28
29 Default HOST is root@10.0.0.1
30
31 Note, use -m "''" to send an empty mac arg. When we get a new enough
32 bash, we can use ${@@Q} to properly pass an empty var.
33
34
35 Note, if we dont have internet yet, then just download the bash package,
36 scp it over manually and install it, eg:
37
38 cat /etc/opkg/distfeeds.conf
39 wget https://librecmc.org/librecmc/downloads/snapshots/v1.5.1-core/packages/mips_24kc/packages/bash_5.0-3_mips_24kc.ipk
40 scp bash_5.0-3_mips_24kc.ipk wrt:
41 ssh wrt
42 opkg install /root/bash_5.0-3_mips_24kc.ipk
43 EOF
44 wrt-setup-local -h
45 exit $1
46 }
47
48 h=root@10.0.0.1
49
50 case $1 in
51 -h|--help) usage ;;
52 -*) : ;;
53 ?*) h="$1"; shift ;;
54 esac
55
56 echo "$0: host=$h"
57
58 cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null
59 scp /a/work/libremanage/libremanage /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin
60 # relay is built for openwrt 18.06.2, r7676-cddd7b4c77
61 sudo scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \
62 /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk $h:
63 scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys
64
65 ssh $h <<EOFOUTER
66 set -x
67 # librecmc 1.5.1 is missing nfs-kernel-server and screen
68 cat >/etc/opkg/customfeeds.conf <<'EOF'
69 src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07.2/packages/mips_24kc/packages
70 EOF
71
72 if ! opkg list-installed|grep bash; then
73 opkg update
74 opkg install bash
75 fi
76 export HOME_DOMAIN=$HOME_DOMAIN
77 export WIRELESSMAC=$WIRELESSMAC
78 wrt-setup-local $@
79 EOFOUTER