minor bug fixes
[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] [-d|--dev2] [HOST/IP]
27 setup my router in general: dhcp, dns, etc.
28
29 dev2 is for setting up a second device for testing etc.
30 EOF
31 exit $1
32 }
33
34 h=root@10.0.0.1
35
36 temp=$(getopt -l help,dev2 h2 "$@") || usage 1
37 eval set -- "$temp"
38 while true; do
39 case $1 in
40 -2|--dev2) local_arg=-2; shift ;;
41 -h|--help) usage ;;
42 --) shift; break ;;
43 *) echo "$0: Internal error! unexpected args: $*" ; exit 1 ;;
44 esac
45 done
46
47 if (( $# > 1 )); then
48 usage 1
49 fi
50
51 if [[ $# == 1 ]]; then
52 read h <<<"$@"
53 fi
54
55 cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null
56 scp /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin
57 # build for openwrt 18.06.2, r7676-cddd7b4c77
58 scp /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk $h:
59 ssh $h <<EOF
60 if ! opkg list-installed|grep bash; then
61 opkg update
62 opkg install bash
63 fi
64 export HOME_DOMAIN=$HOME_DOMAIN
65 wrt-setup-local $local_arg
66 EOF