X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=wrt-setup-local;h=e043e7dfaf5b7f6b1249b409cdd6eac8e5568e6c;hb=2ee7b55c3811815cdec75025cefa94918cf99ba7;hp=f5dbe502f30dfe04adb58f0154aeedc082de872a;hpb=ac4e0089e245c96a388b8fcdd92fc05da3399694;p=automated-distro-installer diff --git a/wrt-setup-local b/wrt-setup-local index f5dbe50..e043e7d 100755 --- a/wrt-setup-local +++ b/wrt-setup-local @@ -18,66 +18,71 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +dev2=false +if [[ $1 == -2 ]]; then + dev2=true +fi pmirror() { - # background: upgrading all packages is not recommended because it - # doesn't go into the firmware. build new firmware if you want - # lots of upgrades. I think /tmp/opkg-lists is a pre openwrt 14 location. - f=(/tmp/opkg-lists/* /var/opkg-lists/*) - if ! (( $(date -r $f +%s) + 60*60*24 > $(date +%s) )); then - opkg update - fi + # background: upgrading all packages is not recommended because it + # doesn't go into the firmware. build new firmware if you want + # lots of upgrades. I think /tmp/opkg-lists is a pre openwrt 14 location. + f=(/var/opkg-lists/*) + if ! (( $(date -r $f +%s) + 60*60*24 > $(date +%s) )); then + opkg update + fi } pi() { - for x in "$@"; do - if [[ ! $(opkg list-installed "$x") ]]; then - pmirror - opkg install "$@" - fi - done + for x in "$@"; do + if [[ ! $(opkg list-installed "$x") ]]; then + pmirror + opkg install "$@" + fi + done } v() { - printf "+ %s\n" "$*" - "$@" + printf "+ %s\n" "$*" + "$@" } ### network config ### -l=10.0.0 +ssid="check out gnu.org" lan=10.0.0.0 +if $dev2; then + ssid="test1" + lan=10.1.0.0 +fi mask=255.255.0.0 +l=${lan%.0} -cat >/usr/bin/arch-pxe-mount <<'EOFOUTER' +passwd -l root ||: #already locked fails + +cat >/usr/bin/archlike-pxe-mount <<'EOFOUTER' #!/bin/bash # symlinks are collapsed for nfs mount points, so use a bind mount. # tried putting this in /etc/config/fstab, -# then doig block mount, it didn't work. This doesn't persist across reboots, +# then doing block mount, it didn't work. This doesn't persist across reboots, # todo: figure that out -d=/run/archiso/bootmnt -cat > /etc/fstab <>/etc/fstab </dev/null || mount $d +done /etc/init.d/nfsd restart EOFOUTER -chmod +x /usr/bin/arch-pxe-mount +chmod +x /usr/bin/archlike-pxe-mount -cat >.profile <<'EOF' -# changing login shell emits spam on ssh single commands & scp - # sed -i 's#/bin/ash$#/bin/bash#' /etc/passwd -# https://github.com/openwrt/packages/issues/6137 -[ "$BASH_VERSION" != "" ] || exec /bin/bash -i -EOF +sed -i '/^root:/s,/bin/ash$,/bin/bash,' /etc/passwd v pi kmod-usb-storage block-mount kmod-fs-ext4 nfs-kernel-server \ - tcpdump openvpn-openssl adblock + tcpdump openvpn-openssl adblock libusb-compat /root/relay_1.0-1_mips_24kc.ipk -sed -ri "s/option[[:space:]]+encryption[[:space:]].*/option encryption psk2/;s/option[[:space:]]+key.*/option key pictionary49/" /etc/config/wireless -sed -i '/^[[:space:]]*option disabled/d' /etc/config/wireless -v wifi v /etc/init.d/fstab enable ||: @@ -87,9 +92,10 @@ v /etc/init.d/fstab enable ||: # 255 == module already loaded for mod in scsi_mod sd_mod; do v modprobe $mod || [[ $? == 255 ]]; done -# for arch pxe. The default settings in the installer expect to find -# the NFS at /run/archiso/bootmnt +# for archlike pxe. The default settings in the installer expect to find +# the NFS at one of these dirs mkdir -p /run/archiso/bootmnt +mkdir -p /run/parabolaiso/bootmnt # todo: at some later time, i found /mnt/usb not mounted, watch to see if # that is the case after running this or rebooting. @@ -97,17 +103,20 @@ mkdir -p /run/archiso/bootmnt ## ian: usb broke on old router. if that happens, can just comment this to disable problems echo | cedit /etc/config/fstab ||: -cedit /etc/config/fstab <<'EOF' || { v block umount; v block mount; } +cedit /etc/config/fstab </dev/null) ]]; then + v uci delete wireless.radio$x.disabled + wireless_restart=true + fi +done + +if $wireless_restart; then + v wifi +fi + ########## openvpn exampl ########## missing firewall settings for routing lan @@ -177,6 +225,7 @@ v /etc/init.d/nfsd enable # EOF + v cedit /etc/config/network </dev/null) ]]; then - # default is '/tmp/resolv.conf.auto', we switch to the dnsmasq default of - # /etc/resolv.conf. not sure why I did this. - v uci delete dhcp.@dnsmasq[0].resolvfile - uci commit dhcp - dnsmasq_restart=true -fi - -if [[ $(uci get dhcp.@dnsmasq[0].domain) != b8.nz ]]; then - v uci set dhcp.@dnsmasq[0].domain=b8.nz - uci commit dhcp - dnsmasq_restart=true -fi -if [[ $(uci get dhcp.@dnsmasq[0].local) != b8.nz ]]; then - v uci set dhcp.@dnsmasq[0].local=/b8.nz/ - uci commit dhcp - dnsmasq_restart=true -fi - -if [[ $(uci get system.@system[0].hostname) != wrt ]]; then - v uci set system.@system[0].hostname=wrt - uci commit system + # default is '/tmp/resolv.conf.auto', we switch to the dnsmasq default of + # /etc/resolv.conf. not sure why I did this. + v uci delete dhcp.@dnsmasq[0].resolvfile + uci commit dhcp + dnsmasq_restart=true fi +uset dhcp.@dnsmasq[0].domain b8.nz +uset dhcp.@dnsmasq[0].local /b8.nz/ +uset system.@system[0].hostname wrt if [[ $(uci get adblock.global.adb_enabled) != 1 ]]; then v uci set adblock.global.adb_enabled=1 @@ -405,9 +448,21 @@ tftp-root=/mnt/usb/tftpboot EOF if $dnsmasq_restart; then - v /etc/init.d/dnsmasq restart + v /etc/init.d/dnsmasq restart fi if $firewall_restart; then - v /etc/init.d/firewall restart + v /etc/init.d/firewall restart +fi + +uset network.lan.ipaddr $l.1 +uset network.lan.netmask $mask + +if $network_restart; then + reboot +fi +if $dropbear_restart; then + v /etc/init.d/dropbear restart fi + +exit 0