Return to rc.initial CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / default |
1.2 misho 1: #!/bin/sh 2: # 3: # ELWIX Initial RC Menu script 4: # 1.7 ! misho 5: # $Id: rc.initial,v 1.6.8.1 2017/10/09 22:40:35 misho Exp $ 1.2 misho 6: # 7: 8: trap : 2 9: trap : 3 10: trap : 18 1.6 misho 11: #exec </dev/console >/dev/console 2>/dev/console 1.2 misho 12: MAGIC_MENU="menu" 13: 14: menu() 15: { 16: echo 17: echo 18: echo "ELWIX - console setup" 19: echo "*********************" 20: echo "0) Logout" 21: echo "1) Interfaces: assign network ports" 22: echo "2) Reset root password" 23: echo "3) Reset webGUI password" 24: echo "4) Reset to factory defaults" 25: echo "5) Reboot system" 26: echo "6) Ping host" 27: echo "7) SSH to host" 28: echo "8) Go to shell" 29: echo "9) Clone system on other drive"; 30: echo 31: 32: read -p "Enter number: " opcode 33: 34: case ${opcode} in 35: 0) 36: exit 37: ;; 38: 1) 39: IFACES=$(ifconfig -l) 40: echo 41: echo "Available interfaces: $IFACES" 42: read -p " +Which from them: " iface 43: if [ -z "$iface" ]; then 44: return 1 45: fi 46: read -p " +Name of interface $iface []: " name 47: read -p " +Setup management vlan 4093 on $iface? [no|yes]: " mgmt 48: read -p " +IPv4 address/mask of interface $iface [dhcp|x.x.x.x/x]: " ip4 49: read -p " +IPv6 address/mask of interface $iface [auto|x:x:x::x/x]: " ip6 50: if [ X"$mgmt" = X"yes" -o X"$mgmt" = X"y" ]; then 51: cfexec sh -c "echo $iface >/etc/mylan" 52: fi 53: ifconfig $iface description "$name" up 54: if [ -n "$ip4" ]; then 55: if [ X"$ip4" != X"dhcp" ]; then 56: ifconfig $iface inet alias $ip4 57: else 58: dhclient $iface 59: fi 60: fi 61: if [ -n "$ip6" ]; then 62: ifconfig $iface inet6 auto_linklocal -ifdisabled 63: if [ X"$ip6" != X"auto" ]; then 64: ifconfig $iface inet6 -accept_rtadv 65: ifconfig $iface inet6 alias $ip6 66: else 67: ifconfig $iface inet6 accept_rtadv 68: fi 69: fi 70: ;; 71: 2) 72: passwd root 73: ;; 74: 3) 75: echo 76: read -p "New system webGUI password: " pass 77: read -p "Confirm system webGUI password: " confirm 78: if [ X"$pass" = X"$confirm" ]; then 79: cfexec xmler -s /elwix/system/password /elwix/etc/config.xml \ 80: $(md5 -qs "$pass") 81: else 82: echo "Error:: passwords are different ..." 83: fi 84: ;; 85: 4) 86: echo 87: echo "Restore factory defaults ..." 88: read -p " +Are you sure for restore and clear all changes? [no|yes]: " ans 89: if [ X"$ans" = X"yes" -o X"$ans" = X"y" ]; then 1.7 ! misho 90: cfexec -L "Locked by rc.initial for restore factory defaults" ! 91: tar -xzpf /elwix/altroot/backup/.var.tgz -C /elwix/altroot ! 92: tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix ! 93: cfexec -U 1.2 misho 94: fi 95: ;; 96: 5) 97: reboot 98: ;; 99: 6) 100: read -p " +Address: " host 101: read -p " +Number packets [4]: " cx 102: ping -n -c ${cx:-4} ${host:-localhost} 103: ;; 104: 7) 105: read -p " +Address: " host 106: read -p " +Port [22]: " port 107: read -p " +User [$USER]: " user 108: ssh -p ${port:-22} -l ${user:-$USER} ${host:-localhost} 109: ;; 110: 8) 1.5 misho 111: exec $SHELL 1.2 misho 112: ;; 113: 9) 114: echo 115: camcontrol devlist 116: echo 1.3 misho 117: read -p " +Select copy from drive [like: ada0]: " src 118: read -p " +Select copy to drive [like: ada1]: " dst 119: if [ -n "$src" -a -n "$dst" ]; then 120: if [ -x /usr/sbin/diskinfo ]; then 121: diskinfo $dst 122: if [ $? -eq 0 ]; then 123: read -p " +This is right choice? [no|yes]: " ask 124: if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then 125: dd if=/dev/$src of=/dev/$dst 126: fi 1.2 misho 127: fi 128: fi 129: fi 130: ;; 131: esac 132: } 133: 134: ### main() 135: 136: while : ; do 137: if [ -r /etc/disablemenu ]; then 138: echo 139: echo 140: echo "*** Console menu disabled. ***" 141: echo 142: 143: stty -echo 144: read tmp 145: stty echo 146: if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then 147: echo 148: echo "> OK, temporary unhide menu ..." 149: echo 150: 151: menu 152: fi 153: else 154: menu 155: fi 156: done