SVN-Revision: 134
This commit is contained in:
Mike Baker 2004-08-12 05:47:00 +00:00
parent 687dd472af
commit ab8c3f11f4
25 changed files with 1623 additions and 0 deletions

View file

@ -0,0 +1,54 @@
#!/bin/sh
# $Id$
[ -f "/tmp/.firstboot" ] && {
echo "firstboot is already running"
return
}
touch /tmp/.firstboot
jdev=$(mount | awk '/jffs2/ {print $3}')
if [ -z "$jdev" ]; then
echo -n "Creating jffs2 partition... "
mtd erase OpenWrt >&-
mount -t jffs2 /dev/mtdblock/4 /jffs
echo "done"
cd /jffs
else
echo "firstboot has already been run"
echo "jffs2 partition is mounted, only resetting files"
cd $jdev
fi
exec 2>/dev/null
mount /dev/mtdblock/2 /rom -o ro
echo -n "creating directories... "
{
cd /rom
find . -type d
cd -
} | xargs mkdir
echo "done"
echo -n "setting up symlinks... "
for file in $(cd /rom; find * -type f; find * -type l;)
do {
ln -sf /rom/$file $file
} done
echo "done"
touch /tmp/resolv.conf
ln -s /tmp/resolv.conf /etc/resolv.conf
umount /rom
mount none /jffs/proc -t proc
pivot_root /jffs /jffs/rom
mount none /dev -t devfs
mount none /tmp -t ramfs
umount /rom/proc
umount /rom/tmp
umount /rom/dev

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec ash --login

View file

@ -0,0 +1,6 @@
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M

View file

@ -0,0 +1,22 @@
# filter what we send upstream
domain-needed
bogus-priv
filterwin2k
# allow /etc/hosts and dhcp lookups via *.lan
local=/lan/
domain=lan
# no dhcp / dns queries from the wan
except-interface=vlan1
# enable dhcp (start,end,netmask,leasetime)
dhcp-range=192.168.1.100,192.168.1.250,255.255.255.0,12h
dhcp-leasefile=/tmp/dhcp.leases
# allow a /etc/ethers for static hosts
read-ethers
# other useful options:
# default route(s): dhcp-option=3,192.168.1.1,192.168.1.2
# dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2

View file

@ -0,0 +1,26 @@
#!/bin/ash
alias debug=${DEBUG:-:}
# allow env to override nvram
nvram_get () {
eval "echo \${$1:-\$(nvram get $1)}"
}
. /etc/nvram.overrides
# 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=$(ifconfig -a | awk '/^eth.*'$hwaddr'/ {print $1; exit}' IGNORECASE=1)
debug "# 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" ]
)

View file

@ -0,0 +1,27 @@
#!/bin/sh
sysctl -p
echo "S" > /proc/jffs2_bbc
mkdir -p /var/run
# networking stub
[ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && {
# force unique wireless mac
nvram set il0macaddr=$(nvram get et0macaddr|
awk '{OFS=FS=":";for(x=6,y=2;x;x--){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
}
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

View file

@ -0,0 +1,15 @@
#!/bin/sh
. /etc/functions.sh
case "$1" in
start|restart)
ifup lan
ifup wan
ifup wifi
wifi up
for route in $(nvram_get static_route); do {
eval "set $(echo $route | sed 's/:/ /g')"
route add -net $1 netmask $2 gw $3 metric $4 dev $5
} done
;;
esac

View file

@ -0,0 +1,23 @@
#!/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 filter -A FORWARD -o $WAN -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE

View file

@ -0,0 +1,4 @@
#!/bin/sh
/usr/sbin/telnetd -l /bin/login
/usr/sbin/httpd -p 80 -h /www -r WRT54G Router
/usr/sbin/dnsmasq

View file

@ -0,0 +1,6 @@
#!/bin/sh
[ -z "$FAILSAFE" ] && {
{ mount | grep jffs2 1>&-; } || firstboot
}
# turn off DMZ led
echo "0x00" > /proc/sys/diag

View file

@ -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

View file

@ -0,0 +1,3 @@
::sysinit:/etc/init.d/rcS
::shutdown:/sbin/halt
::respawn:/bin/login

View file

@ -0,0 +1,3 @@
src openwrt http://openwrt.ksilebo.net/ipkg
dest root /
dest ram /tmp

View file

@ -0,0 +1,52 @@
# NVRAM overrides
# This file handles the NVRAM quirks of various hardware
# this is not a replacement for nvram.
# linksys bug has lan doing dhcp; force static
lan_proto="static"
# failsafe if reset is held
[ "$FAILSAFE" = "true" ] && {
echo "### FAILSAFE MODE ####"
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"
}
# hacks for 1.x hardware
[ "$(nvram get boardnum)" = "42" ] && \
[ "$(nvram get boardtype)" = "bcm94710dev" ] && {
debug "### 1.x hardware 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
}
[ -z "$(nvram_get lan_ifname)" ] && {
lan_ifname="br0"
lan_ifnames="vlan0 vlan2 eth1 eth2 eth3"
}
[ -z "$(nvram_get wan_ifname)" ] && {
wan_ifname="vlan1"
wan_proto="dhcp"
}

View file

@ -0,0 +1,17 @@
#!/bin/sh
mount none /proc -t proc
insmod diag
echo 0x01 > /proc/sys/diag
sleep 1
if /sbin/resetmon ; then
mtd unlock mtd4
mount -t jffs2 /dev/mtdblock/4 /jffs
pivot_root /jffs /jffs/rom
mount none /dev -t devfs
mount none /proc -t proc
umount rom/proc rom/dev
else
export FAILSAFE=true
fi
mount none /tmp -t ramfs
exec /sbin/init

View file

@ -0,0 +1,8 @@
#!/bin/sh
[ -f /etc/banner ] && cat /etc/banner
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PS1='\u@\h:\w\$ '
alias less='more'
alias vim='vi'

View file

@ -0,0 +1,7 @@
kernel.panic = 3
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_timestamps = 0

View file

@ -0,0 +1,3 @@
#!/bin/sh
/usr/bin/killall5 -9
umount -ar

View file

@ -0,0 +1,6 @@
#!/bin/ash
# $Id$
[ "${INTERFACE%%[0-9]*}" = "wds" ] && {
ifconfig $INTERFACE 0.0.0.0 up
/usr/sbin/brctl addif br0 $INTERFACE
}

View file

@ -0,0 +1,8 @@
#!/bin/ash
. /etc/functions.sh
type=$1
debug "### ifdown $type ###"
if=$(nvram_get ${type}_ifname)
if_valid $if || return
kill $(cat /var/run/${if}.pid 2>&-) 2>&-
$DEBUG ifconfig $if down

View file

@ -0,0 +1,71 @@
#!/bin/ash
. /etc/functions.sh
type=$1
debug "### ifup $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:-0}
for sif in $(nvram_get ${type}_ifnames); do {
if_valid $sif || continue
$DEBUG ifconfig $sif 0.0.0.0 up
$DEBUG brctl addif $if $sif
} done
fi
mac=$(nvram_get ${type}_hwaddr)
${mac:+$DEBUG ifconfig $if hw ether $mac}
if_proto=$(nvram_get ${type}_proto)
case "$if_proto" in
static)
ip=$(nvram_get ${type}_ipaddr)
netmask=$(nvram_get ${type}_netmask)
gateway=$(nvram_get ${type}_gateway)
$DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up
${gateway:+$DEBUG route add default gw $gateway}
[ -f /etc/resolv.conf ] && return
debug "# --- 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:-eval} "udhcpc -i $if -b -p $pidfile &"
;;
pppoe)
username=$(nvram_get ppp_username)
password=$(nvram_get ppp_passwd)
redial=$(nvram_get ppp_redialperiod)
idletime=$(nvram_get ppp_idletime)
mtu=$(nvram_get wan_mtu)
$DEBUG ifconfig $if 0.0.0.0 up
$DEBUG /sbin/pppoecd $if -u $username -p $password \
-i 0 -I $redial -T $idletime -t $mtu -k
;;
none)
;;
*)
echo "### WARNING $if: $if_proto is not supported"
;;
esac

View file

@ -0,0 +1,5 @@
#!/bin/ash
alias debug=${DEBUG:-:}
debug "### wifi $1 ###"
if=$(awk 'sub(":","") {print $1}' /proc/net/wireless)
$DEBUG wlconf $if $1

View file

@ -0,0 +1,38 @@
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
# (slightly modified)
[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
RESOLV_CONF="/tmp/resolv.conf"
case "$1" in
deconfig)
ifconfig $interface 0.0.0.0
;;
renew|bound)
ifconfig $interface $ip \
${broadcast:+broadcast $broadcast} \
${subnet:+netmask $subnet}
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
echo -n > $RESOLV_CONF
${domain:+echo search $domain >> $RESOLV_CONF}
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
;;
esac
exit 0

View file

@ -0,0 +1,7 @@
<HTML>
<HEAD><TITLE>OpenWrt</TITLE></HEAD>
<BODY>
No webpages currently available
<br>- perhaps you need to install a package?
</BODY>
</HTML>