move to new init.d structure
authorMike Baker <mbm@openwrt.org>
Fri, 7 May 2004 22:41:36 +0000 (22:41 +0000)
committerMike Baker <mbm@openwrt.org>
Fri, 7 May 2004 22:41:36 +0000 (22:41 +0000)
SVN-Revision: 18

root/etc/firewall.sh [deleted file]
root/etc/init.d/S10boot [new file with mode: 0755]
root/etc/init.d/S40network [new file with mode: 0755]
root/etc/init.d/S45firewall [new file with mode: 0755]
root/etc/init.d/S50services [new file with mode: 0755]
root/etc/init.d/S99done [new file with mode: 0755]
root/etc/init.d/rcS [new file with mode: 0755]
root/etc/inittab
root/etc/networking.sh [deleted file]
root/etc/preinit
root/etc/rcS [deleted file]

diff --git a/root/etc/firewall.sh b/root/etc/firewall.sh
deleted file mode 100755 (executable)
index 805aa3f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-IPT=/usr/sbin/iptables
-
-for T in filter nat mangle ; do
-  $IPT -t $T -F
-  $IPT -t $T -X
-done
-
-$IPT -t filter -A INPUT -m state --state INVALID -j DROP
-$IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-$IPT -t filter -A INPUT -p icmp -j ACCEPT 
-$IPT -t filter -A INPUT -i vlan1 -p tcp -j REJECT --reject-with tcp-reset 
-$IPT -t filter -A INPUT -i vlan1 -j REJECT --reject-with icmp-port-unreachable 
-$IPT -t filter -A FORWARD -m state --state INVALID -j DROP 
-$IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-$IPT -t filter -A FORWARD -i vlan1 -m state --state NEW,INVALID -j DROP
-
-$IPT -t nat -A POSTROUTING -o vlan1 -j MASQUERADE
-
-echo "1"   >/proc/sys/net/ipv4/ip_forward
-echo "1"   >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
-echo "1"   >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
-echo "30"  >/proc/sys/net/ipv4/tcp_fin_timeout
-echo "120" >/proc/sys/net/ipv4/tcp_keepalive_time
-echo "0"   >/proc/sys/net/ipv4/tcp_timestamps
diff --git a/root/etc/init.d/S10boot b/root/etc/init.d/S10boot
new file mode 100755 (executable)
index 0000000..6a8cc6c
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+sysctl -p
+
+insmod diag
+echo "0x01" > /proc/sys/diag
+
+# networking stub
+insmod et
+insmod wl
+
+ifconfig lo 127.0.0.1 up
+ifconfig eth0 promisc
+
+HOSTNAME=$(nvram get wan_hostname)
+DOMAINNAME=${HOSTNAME##*.}
+HOSTNAME=${HOSTNAME%%.*}
+
+echo ${HOSTNAME:=OpenWrt} > /proc/sys/kernel/hostname
+echo ${DOMAINNAME:=lan}   > /proc/sys/kernel/domainname
+
+vconfig set_name_type VLAN_PLUS_VID_NO_PAD
diff --git a/root/etc/init.d/S40network b/root/etc/init.d/S40network
new file mode 100755 (executable)
index 0000000..4264705
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+. /etc/functions.sh
+case "$1" in
+  start|restart)
+    ifup lan
+    ifup wan
+    ifup wifi
+    wifi up
+    ;;
+esac
diff --git a/root/etc/init.d/S45firewall b/root/etc/init.d/S45firewall
new file mode 100755 (executable)
index 0000000..40ac81a
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+. /etc/functions.sh
+
+WAN=$(nvram_get wan_ifname)
+
+IPT=/usr/sbin/iptables
+
+for T in filter nat mangle ; do
+  $IPT -t $T -F
+  $IPT -t $T -X
+done
+
+$IPT -t filter -A INPUT -m state --state INVALID -j DROP
+$IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
+$IPT -t filter -A INPUT -p icmp -j ACCEPT 
+$IPT -t filter -A INPUT -i $WAN -p tcp -j REJECT --reject-with tcp-reset 
+$IPT -t filter -A INPUT -i $WAN -j REJECT --reject-with icmp-port-unreachable 
+$IPT -t filter -A FORWARD -m state --state INVALID -j DROP 
+$IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
+$IPT -t filter -A FORWARD -i $WAN -m state --state NEW,INVALID -j DROP
+
+$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE
diff --git a/root/etc/init.d/S50services b/root/etc/init.d/S50services
new file mode 100755 (executable)
index 0000000..949bee6
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+/usr/sbin/telnetd -l /bin/login
+/usr/sbin/httpd -p 80 -h /www -r WRT54G Router
+/usr/sbin/udhcpd /etc/udhcpd.conf
+#udhcpd started from /etc/inittab
diff --git a/root/etc/init.d/S99done b/root/etc/init.d/S99done
new file mode 100755 (executable)
index 0000000..c521181
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+# turn off DMZ led
+echo "0x00" > /proc/sys/diag
diff --git a/root/etc/init.d/rcS b/root/etc/init.d/rcS
new file mode 100755 (executable)
index 0000000..9510e94
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# Start all init scripts in /etc/init.d
+# executing them in numerical order.
+#
+for i in /etc/init.d/S??* ;do
+
+     # Ignore dangling symlinks (if any).
+     [ ! -f "$i" ] && continue
+
+     case "$i" in
+        *.sh)
+            # Source shell script for speed.
+            (
+                trap - INT QUIT TSTP
+                set start
+                . $i
+            )
+            ;;
+        *)
+            # No sh extension, so fork subprocess.
+            $i start
+            ;;
+    esac
+done
index 73618d34618792683ce845dcbb8f1b0a4e44ce52..6d8c87efcbfd62df081971379892472c93a230bc 100644 (file)
@@ -1,7 +1,3 @@
-::sysinit:/etc/rcS
-::restart:/sbin/init
-::ctrlaltdel:/sbin/reboot
+::sysinit:/etc/init.d/rcS
 ::shutdown:/bin/alldone
 ::respawn:/usr/sbin/dnsmasq -d -l /tmp/udhcpd.leases -s lan
-
-
diff --git a/root/etc/networking.sh b/root/etc/networking.sh
deleted file mode 100755 (executable)
index e59ec60..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/sh
-# OpenWrt Networking script
-# $Id$
-# Copyright (c) 2004 Mike Baker <mbm at alt.org>
-
-# to debug:
-# export DEBUG=echo
-
-export PATH=/usr/bin:/bin:/usr/sbin:/sbin
-
-# lookup an interface by mac address
-mac2if () {
-  if=$(ifconfig -a | awk '{IGNORECASE=1} /^eth.*'$1'/ {print $1; exit}')
-  echo $if
-}
-
-# allow env to override nvram 
-nvram_get () {
- eval "echo \${$1:-\$(nvram get $1)}"
-}
-
-# valid interface?
-if_valid () {
-  [ "${1%%[0-9]}" = "vlan" ] && {
-    i=${1#vlan} 
-    hwname=$(nvram_get vlan${i}hwname)
-    hwaddr=$(nvram_get ${hwname}macaddr)
-    [ -z "$hwaddr" ] && return 1
-
-    vif=$(mac2if $hwaddr)
-    echo "# vlan$i: $hwname $hwaddr => $vif"
-
-    $DEBUG ifconfig $vif up
-    $DEBUG vconfig add $vif $i 2>/dev/null
-  }
-  ifconfig "$1" >/dev/null 2>&1 || [ "${1%%[0-9]}" = "br" ] 
-  return $?
-}
-
-wifi_init () {
-  echo "# --- wifi init ---"
-  if=$(awk 'gsub(":","") {print $1}' /proc/net/wireless)
-  $DEBUG wlconf $if up
-}
-
-configure () {
-  type=$1
-  echo "# --- $type ---"
-  
-  if=$(nvram_get ${type}_ifname)
-  if [ "${if%%[0-9]}" = "ppp" ]; then
-    if=$(nvram_get pppoe_ifname) 
-  fi
-  if_valid $if || return
-  
-  $DEBUG ifconfig $if down
-  if [ "${if%%[0-9]}" = "br" ]; then
-    stp=$(nvram_get ${type}_stp)
-    $DEBUG brctl delbr $if
-    $DEBUG brctl addbr $if
-    $DEBUG brctl setfd $if 0
-    $DEBUG brctl stp $if $stp
-    if_list=$(nvram_get ${type}_ifnames)
-    for sif in $if_list; do {
-      if_valid $sif || continue
-      $DEBUG ifconfig $sif 0.0.0.0 up
-      $DEBUG brctl addif $if $sif 
-    } done
-  fi
-
-  if_mac=$(nvram_get ${type}_hwaddr)
-  [ -z "$if_mac" ] || $DEBUG ifconfig $if hw ether $if_mac
-  if_proto=$(nvram_get ${type}_proto)
-  case "$if_proto" in
-    static)
-      if_ip=$(nvram_get ${type}_ipaddr)
-      if_netmask=$(nvram_get ${type}_netmask)
-      if_gateway=$(nvram_get ${type}_gateway)
-      
-      ipcalc -s "$if_ip"      || return 
-      ipcalc -s "$if_netmask" || return 
-      $DEBUG ifconfig $if $if_ip netmask $if_netmask up
-
-      ipcalc -s "$if_gateway" || return 
-      $DEBUG route add default gw $if_gateway
-
-      [ -f /etc/resolv.conf ] && return
-
-      echo "# --- creating /etc/resolv.conf ---"
-      for dns in $(nvram_get ${type}_dns); do {
-       echo "nameserver $dns" >> /etc/resolv.conf
-      } done
-    ;;
-    dhcp)
-      pidfile=/tmp/dhcp-${type}.pid
-      if [ -f $pidfile ]; then
-        $DEBUG kill $(cat $pidfile)
-      fi
-      $DEBUG udhcpc -i $if -b -p /tmp/dhcp-${type}.pid
-    ;;
-    pppoe)
-      if_username=$(nvram_get ppp_username)
-      if_password=$(nvram_get ppp_passwd)
-      if_redial=$(nvram_get ppp_redialperiod)
-      if_idletime=$(nvram_get ppp_idletime)
-      
-      $DEBUG ifconfig $if 0.0.0.0 up
-      
-      $DEBUG /sbin/pppoecd $if -u $if_username -p $if_password -i 0 -I $if_redial -T $if_idletime -k
-    ;;
-    *)
-      echo "$if: $if_proto is not supported"
-    ;;
-  esac
-}
-
-### START NETWORKING ###
-$DEBUG vconfig set_name_type VLAN_PLUS_VID_NO_PAD
-
-# hacks for 1.x hardware
-[ "$(nvram get boardnum)"  = "42" ] && \
-[ "$(nvram get boardtype)" = "bcm94710dev" ] && {
-  echo "# 1.x HACK"
-  vlan1hwname="et0"
-  vlan2hwname="et0"
-
-  # we remap old device names to new
-  # it's recommended that you continue to
-  # use the old names to preserve backwards
-  # compatibility
-  remap () {
-    eval $1=\"$(nvram_get $1 | awk 'gsub("eth0","vlan2") gsub("eth1","vlan1")')\"
-  }
-
-  remap lan_ifname
-  remap lan_ifnames
-  remap wifi_ifname
-  remap wifi_ifnames
-  remap wan_ifname
-  remap wan_ifnames
-  remap pppoe_ifname
-}
-
-# failsafe if reset is held 
-[ "$FAILSAFE" = "true" ] && {
-  lan_ifname="br0"
-  lan_ifnames="vlan0 vlan2 eth1 eth2 eth3"
-  lan_ipaddr="192.168.1.1"
-  lan_netmask="255.255.255.0"
-  lan_hwaddr="00:0B:AD:0A:DD:00"
-  wan_ifname="none"
-  wifi_ifname="none"
-}
-
-# linksys bug has lan doing dhcp; force static
-lan_proto="static"
-
-configure lan
-configure wifi
-configure wan
-
-wifi_init
-
-for route in $(nvram_get static_route); do {
-      ip=${route%%:*} route=${route#*:}
- netmask=${route%%:*} route=${route#*:}
- gateway=${route%%:*} route=${route#*:}
-  metric=${route%%:*} route=${route#*:}
-      if=${route%%:*}
-  $DEBUG route add -net $ip netmask $netmask gw $gateway metric $metric dev $if
-} done
index 26025f454e4096e3b09276c5751c9c9676216937..ccd3ab5bee6d94c6b28a5c0d82da49f36eb7ea91 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 mount none /proc -t proc
+mtd unlock mtd4
 if /sbin/resetmon ; then
-  mtd unlock mtd4
   mount -t jffs2 /dev/mtdblock/4 /jffs
   pivot_root /jffs /jffs/rom
   mount none /dev -t devfs
diff --git a/root/etc/rcS b/root/etc/rcS
deleted file mode 100755 (executable)
index e2ab185..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-export TZ=$(nvram get tz)
-
-insmod diag
-echo "0x01" > /proc/sys/diag
-echo "3" >/proc/sys/kernel/panic
-
-# networking
-insmod et
-insmod wl
-
-ifconfig lo 127.0.0.1 up
-
-# eth0 and eth1 are shared, must set eth0 as promisc
-ifconfig eth0 promisc
-ifconfig eth1 promisc
-/etc/networking.sh
-
-# now lets set up a basic set of rules to do ip masquerade
-/etc/firewall.sh
-
-# now lets start some basic services
-/usr/sbin/telnetd
-/usr/sbin/httpd -p 80 -h /www -r WRT54G Router
-/usr/sbin/udhcpd /etc/udhcpd.conf
-