bunch of minor updates
[automated-distro-installer] / wrt-setup
index 9ac518afca061bf9f20a3928eb4c557f26f2e25e..c86a0d5e1b8d4da92af5b783f17e6602378ef109 100755 (executable)
--- a/wrt-setup
+++ b/wrt-setup
@@ -26,17 +26,26 @@ usage() {
 usage: ${0##*/} [-h|--help] [HOST/IP] [wrt-setup-local_ARGS]
 setup my router in general: dhcp, dns, etc.
 
-Default HOST is root@10.0.0.1
+Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise
+it must be specified.
 
 Note, use -m "''" to send an empty mac arg. When we get a new enough
 bash, we can use ${@@Q} to properly pass an empty var.
 
+
+Note, if we dont have internet yet, then just download the bash package,
+scp it over manually and install it, eg:
+
+cat /etc/opkg/distfeeds.conf
+wget https://librecmc.org/librecmc/downloads/snapshots/v1.5.1-core/packages/mips_24kc/packages/bash_5.0-3_mips_24kc.ipk
+scp bash_5.0-3_mips_24kc.ipk wrt:
+ssh wrt
+opkg install /root/bash_5.0-3_mips_24kc.ipk
 EOF
   wrt-setup-local -h
   exit $1
 }
 
-h=root@10.0.0.1
 
 case $1 in
   -h|--help) usage ;;
@@ -44,20 +53,43 @@ case $1 in
   ?*) h="$1"; shift ;;
 esac
 
+if [[ ! $h ]]; then
+  read -r _ _  gateway _ < <(ip -4 route get 8.8.8.8)
+  case $gateway in
+    10.0.0.1|10.2.0.1)
+      h=root@$gateway
+      ;;
+    *)
+      echo "$0: error: gateway = $gateway and no HOST/IP specified"
+      exit 1
+      ;;
+  esac
+fi
+
 echo "$0: host=$h"
 
 cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null
 scp /a/work/libremanage/libremanage /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin
 # relay is built for openwrt 18.06.2, r7676-cddd7b4c77
 sudo scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \
-     /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk $h:
-ssh $h <<EOF
+     /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \
+     /p/router-secrets /p/c/machine_specific/wrt/etc/wg.{key,psk} $h:
+scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys
+
+ssh $h <<EOFOUTER
 set -x
+# librecmc 1.5.1 is missing nfs-kernel-server and screen
+source /etc/os-release
+if [[ $ID == librecmc && $VERSION == v1.5.1-core]]; then
+ cat >/etc/opkg/customfeeds.conf <<'EOF'
+src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07.3/packages/mips_24kc/packages
+fi
+EOF
+
 if ! opkg list-installed|grep bash; then
     opkg update
     opkg install bash
 fi
 export HOME_DOMAIN=$HOME_DOMAIN
-export WIRELESSMAC=$WIRELESSMAC
 wrt-setup-local $@
-EOF
+EOFOUTER