|
version 1.1, 2011/07/05 23:43:00
|
version 1.2.2.5, 2013/01/24 12:59:22
|
|
Line 1
|
Line 1
|
| #!/bin/sh |
#!/bin/sh |
| # |
# |
| # ELWIX Initial RC script | # ELWIX Initial RC Menu script |
| # |
# |
| # $Id$ |
# $Id$ |
| # |
# |
|
Line 9 trap : 2
|
Line 9 trap : 2
|
| trap : 3 |
trap : 3 |
| trap : 18 |
trap : 18 |
| #exec </dev/console >/dev/console 2>/dev/console |
#exec </dev/console >/dev/console 2>/dev/console |
| MAGIC_MENU="unhide menu, now!" | MAGIC_MENU="menu" |
| |
|
| menu() |
menu() |
| { |
{ |
| echo |
echo |
| echo |
echo |
| echo "elwix - console setup" | echo "ELWIX - console setup" |
| echo "*********************" |
echo "*********************" |
| echo "0) Logout" |
echo "0) Logout" |
| echo "1) Interfaces: assign network ports" |
echo "1) Interfaces: assign network ports" |
| echo "2) Set up LAN IP address" | echo "2) Reset root password" |
| echo "3) Reset webGUI password" |
echo "3) Reset webGUI password" |
| echo "4) Reset to factory defaults" |
echo "4) Reset to factory defaults" |
| echo "5) Reboot system" |
echo "5) Reboot system" |
|
Line 28 menu()
|
Line 28 menu()
|
| echo "8) Go to shell" |
echo "8) Go to shell" |
| [ -r /etc/platform ] && PLATFORM=$(cat /etc/platform) |
[ -r /etc/platform ] && PLATFORM=$(cat /etc/platform) |
| if [ "${PLATFORM}" != "embedded" ]; then |
if [ "${PLATFORM}" != "embedded" ]; then |
| echo "9) Install on Hard Drive $PLATFORM"; | echo "9) Clone system on other drive"; |
| fi |
fi |
| echo |
echo |
| |
|
|
Line 39 menu()
|
Line 39 menu()
|
| exit |
exit |
| ;; |
;; |
| 1) |
1) |
| |
IFACES=$(ifconfig -l) |
| |
echo |
| |
echo "Available interfaces: $IFACES" |
| |
read -p " +Which from them: " iface |
| |
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" = "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) |
2) |
| |
passwd root |
| ;; |
;; |
| 3) |
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) |
4) |
| |
echo |
| |
echo "Restore factory defaults ..." |
| |
cfexec rm -rf /elwix/etc/rc.S /elwix/etc/rc.s /elwix/etc/rc.t |
| |
cfexec tar -xzpf /elwix/backup/.var.tgz -C /elwix/altroot |
| |
cfexec tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix |
| ;; |
;; |
| 5) |
5) |
| reboot |
reboot |
|
Line 64 menu()
|
Line 107 menu()
|
| $SHELL |
$SHELL |
| ;; |
;; |
| 9) |
9) |
| |
echo |
| |
camcontrol devlist |
| |
echo |
| |
read -p " +Select drive [like: ada1]: " dev |
| |
if [ -n "$dev" ]; then |
| |
if `disklabel $dev`; then |
| |
read -p " +This is right choice? [no|yes]: " ask |
| |
if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then |
| |
sysctl -w kern.geom.debugflags=16 |
| |
dd if=/dev/ufs/elwix of=/dev/$dev |
| |
sysctl -w kern.geom.debugflags=0 |
| |
fi |
| |
fi |
| |
fi |
| ;; |
;; |
| esac |
esac |
| } |
} |