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: # ! 5: # $Id: rc.initial,v 1.1.2.6 2013/01/28 01:18:19 misho Exp $ ! 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 ! 116: read -p " +Select drive [like: ada1]: " dev ! 117: if [ -n "$dev" -a -x /usr/sbin/diskinfo ]; then ! 118: diskinfo $dev ! 119: if [ $? -eq 0 ]; then ! 120: read -p " +This is right choice? [no|yes]: " ask ! 121: if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then ! 122: sysctl -w kern.geom.debugflags=16 ! 123: dd if=/dev/ufs/elwix of=/dev/$dev ! 124: sysctl -w kern.geom.debugflags=0 ! 125: fi ! 126: fi ! 127: fi ! 128: ;; ! 129: esac ! 130: } ! 131: ! 132: ### main() ! 133: ! 134: while : ; do ! 135: if [ -r /etc/disablemenu ]; then ! 136: echo ! 137: echo ! 138: echo "*** Console menu disabled. ***" ! 139: echo ! 140: ! 141: stty -echo ! 142: read tmp ! 143: stty echo ! 144: if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then ! 145: echo ! 146: echo "> OK, temporary unhide menu ..." ! 147: echo ! 148: ! 149: menu ! 150: fi ! 151: else ! 152: menu ! 153: fi ! 154: done