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.3 ! misho 5: # $Id: rc.initial,v 1.1.2.7 2013/01/28 08:32:46 misho Exp $ 1.2 misho 6: # 7: 8: trap : 2 9: trap : 3 10: trap : 18 11: exec </dev/console >/dev/console 2>/dev/console 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 90: cfexec rm -rf /elwix/etc/rc.S /elwix/etc/rc.s /elwix/etc/rc.t 91: cfexec tar -xzpf /elwix/altroot/backup/.var.tgz -C /elwix/altroot 92: cfexec tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix 93: fi 94: ;; 95: 5) 96: reboot 97: ;; 98: 6) 99: read -p " +Address: " host 100: read -p " +Number packets [4]: " cx 101: ping -n -c ${cx:-4} ${host:-localhost} 102: ;; 103: 7) 104: read -p " +Address: " host 105: read -p " +Port [22]: " port 106: read -p " +User [$USER]: " user 107: ssh -p ${port:-22} -l ${user:-$USER} ${host:-localhost} 108: ;; 109: 8) 110: $SHELL 111: ;; 112: 9) 113: echo 114: camcontrol devlist 115: echo 1.3 ! misho 116: read -p " +Select copy from drive [like: ada0]: " src ! 117: read -p " +Select copy to drive [like: ada1]: " dst ! 118: if [ -n "$src" -a -n "$dst" ]; then ! 119: if [ -x /usr/sbin/diskinfo ]; then ! 120: diskinfo $dst ! 121: if [ $? -eq 0 ]; then ! 122: read -p " +This is right choice? [no|yes]: " ask ! 123: if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then ! 124: dd if=/dev/$src of=/dev/$dst ! 125: fi 1.2 misho 126: fi 127: fi 128: fi 129: ;; 130: esac 131: } 132: 133: ### main() 134: 135: while : ; do 136: if [ -r /etc/disablemenu ]; then 137: echo 138: echo 139: echo "*** Console menu disabled. ***" 140: echo 141: 142: stty -echo 143: read tmp 144: stty echo 145: if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then 146: echo 147: echo "> OK, temporary unhide menu ..." 148: echo 149: 150: menu 151: fi 152: else 153: menu 154: fi 155: done