File:
[ELWIX - Embedded LightWeight unIX -] /
elwix /
config /
etc /
uboot /
rc.initial
Revision
1.2:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Sep 15 19:06:47 2014 UTC (10 years, 1 month ago) by
misho
Branches:
MAIN
CVS tags:
elwix2_8,
elwix2_7,
elwix2_6,
elwix2_3,
HEAD,
ELWIX2_7,
ELWIX2_6,
ELWIX2_5,
ELWIX2_2p0
elwix 2.2
#!/bin/sh
#
# ELWIX Initial RC Menu script
#
# $Id: rc.initial,v 1.2 2014/09/15 19:06:47 misho Exp $
#
trap : 2
trap : 3
trap : 18
#exec </dev/console >/dev/console 2>/dev/console
MAGIC_MENU="menu"
menu()
{
echo
echo
echo "ELWIX - console setup"
echo "*********************"
echo "0) Logout"
echo "1) Interfaces: assign network ports"
echo "2) Reset root password"
echo "3) Reset webGUI password"
echo "4) Reset to factory defaults"
echo "5) Reboot system"
echo "6) Ping host"
echo "7) SSH to host"
echo "8) Go to shell"
echo "9) Save configz to NAND"
echo
read -p "Enter number: " opcode
case ${opcode} in
0)
exit
;;
1)
IFACES=$(ifconfig -l)
echo
echo "Available interfaces: $IFACES"
read -p " +Which from them: " iface
if [ -z "$iface" ]; then
return 1
fi
read -p " +Name of interface $iface []: " name
read -p " +Setup management vlan 4093 on $iface? [no|yes]: " mgmt
read -p " +IPv4 address/mask of interface $iface [dhcp|x.x.x.x/x]: " ip4
read -p " +IPv6 address/mask of interface $iface [auto|x:x:x::x/x]: " ip6
if [ X"$mgmt" = X"yes" -o X"$mgmt" = X"y" ]; then
cfexec sh -c "echo $iface >/etc/mylan"
fi
ifconfig $iface description "$name" up
if [ -n "$ip4" ]; then
if [ X"$ip4" != X"dhcp" ]; then
ifconfig $iface inet alias $ip4
else
dhclient $iface
fi
fi
if [ -n "$ip6" ]; then
ifconfig $iface inet6 auto_linklocal -ifdisabled
if [ X"$ip6" != X"auto" ]; then
ifconfig $iface inet6 -accept_rtadv
ifconfig $iface inet6 alias $ip6
else
ifconfig $iface inet6 accept_rtadv
fi
fi
;;
2)
passwd root
;;
3)
echo
read -p "New system webGUI password: " pass
read -p "Confirm system webGUI password: " confirm
if [ X"$pass" = X"$confirm" ]; then
cfexec xmler -s /elwix/system/password /elwix/etc/config.xml \
$(md5 -qs "$pass")
else
echo "Error:: passwords are different ..."
fi
;;
4)
echo
echo "Restore factory defaults ..."
read -p " +Are you sure for restore and clear all changes? [no|yes]: " ans
if [ X"$ans" = X"yes" -o X"$ans" = X"y" ]; then
cfexec rm -rf /elwix/etc/rc.S /elwix/etc/rc.s /elwix/etc/rc.t
cfexec tar -xzpf /elwix/altroot/backup/.var.tgz -C /elwix/altroot
cfexec tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix
fi
;;
5)
reboot
;;
6)
read -p " +Address: " host
read -p " +Number packets [4]: " cx
ping -n -c ${cx:-4} ${host:-localhost}
;;
7)
read -p " +Address: " host
read -p " +Port [22]: " port
read -p " +User [$USER]: " user
ssh -p ${port:-22} -l ${user:-$USER} ${host:-localhost}
;;
8)
exec $SHELL
;;
9)
echo "Saving configz to NAND ... "
/etc/rc.cfg save /etc
;;
esac
}
### main()
while : ; do
if [ -r /etc/disablemenu ]; then
echo
echo
echo "*** Console menu disabled. ***"
echo
stty -echo
read tmp
stty echo
if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then
echo
echo "> OK, temporary unhide menu ..."
echo
menu
fi
else
menu
fi
done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>