# See /LICENSE for more information.
#
+define AddProfile
+ $(eval $(call Profile/Default))
+ $(eval $(call Profile/$(1)))
+ ifneq ($(ID),)
+ PROFILE:=$(ID)
+ $(ID)_NAME:=$(NAME)
+ $(ID)_PACKAGES:=$(PACKAGES)
+ ifneq ($(KCONFIG),)
+ PROFILE_LIST += \
+ echo '$(ID):'; [ -z '$(NAME)' ] || echo ' $(NAME)'; echo ' Packages: $(PACKAGES)';
+ endif
+ endif
+endef
+
+
include $(TMP_DIR)/.target.mk
ifeq ($(IB),1)
define Package/base-files$(TARGET)/install
$(CP) ./files/* $(1)/
- if [ -d $(PLATFORM_DIR)/base-files/. ]; then \
- $(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \
+ if [ -d $(PLATFORM_DIR)/base-files/default/. ]; then \
+ $(CP) $(PLATFORM_DIR)/base-files/default/* $(1)/; \
+ fi
+ if [ "$(PROFILE)" != "Default" ]; then \
+ if [ -d $(PLATFORM_DIR)/base-files/profile-$(PROFILE)/. ]; then \
+ $(CP) $(PLATFORM_DIR)/base-files/profile-$(PROFILE)/* $(1)/; \
+ fi; \
fi
$(SED) 's,$$$$R,r$(REV),g' $(1)/etc/banner
$(SED) 's,$$$$S,$(BOARD)-$(KERNEL),g' $(1)/etc/ipkg.conf
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-
-rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
-jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
-
-dupe() { # <new_root> <old_root>
- cd $1
- echo -n "creating directories... "
- {
- cd $2
- find . -xdev -type d
- echo "./dev ./jffs ./mnt ./proc ./tmp ./sys"
- # xdev skips mounted directories
- cd $1
- } | xargs mkdir -p
- echo "done"
-
- echo -n "setting up symlinks... "
- for file in $(cd $2; find . -xdev -type f;); do
- case "$file" in
- ./rom/note) ;; #nothing
- ./etc/config*|\
- ./etc/resolv.conf|\
- ./usr/lib/ipkg/info) cp -af $2/$file $file;;
- *) ln -sf /rom/${file#./*} $file;;
- esac
- done
- for file in $(cd $2; find . -xdev -type l;); do
- cp -af $2/${file#./*} $file
- done
- echo "done"
-}
-
-pivot() { # <new_root> <old_root>
- mount -o move /proc $1/proc && \
- pivot_root $1 $1$2 && {
- mount -o move $2/dev /dev
- mount -o move $2/tmp /tmp
- mount -o move $2/sys /sys
- return 0
- }
-}
-
-mountdp() { # <device> <mount_point> <ignored> <fs>
- dev=$1; mnt=$2; shift 2; opt=$*
- mount $dev $mnt $opt
- dupe $mnt $rom
- pivot $mnt /rom
-}
-
-ramoverlay() {
- mkdir -p /tmp/root
- mountdp /tmp/root /mnt -o bind
-}
-
-[ "${0##*/}" = "firstboot" ] && {
- [ -z "$rom" ] && {
- echo "You do not have a squashfs partition; aborting"
- echo "(firstboot cannot be run on jffs2 based firmwares)"
- exit 1
- }
-
- [ "$1" = "switch2jffs" ] && {
- mtd erase OpenWrt
- mount -o remount,ro none / # try to avoid fs changing while copying
- mount -o bind / /mnt
- mount /dev/mtdblock/4 /rom/jffs -t jffs2
- echo -n "copying files ... "
- cp -a /mnt/* /rom/jffs
- umount /mnt
- echo "done"
- pivot /rom /mnt
- mount -o move /mnt /tmp/root
- pivot /jffs /rom
- exit 0
- }
-
- # script run manually
- [ \! -z "$jffs" ] && {
- echo "firstboot has already been run"
- echo "jffs2 partition is mounted, only resetting files"
- dupe $jffs $rom
- exit 0
- }
-
- mtd erase OpenWrt
- mountdp /dev/mtdblock/4 /jffs -t jffs2
-}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
+jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
+
+dupe() { # <new_root> <old_root>
+ cd $1
+ echo -n "creating directories... "
+ {
+ cd $2
+ find . -xdev -type d
+ echo "./dev ./jffs ./mnt ./proc ./tmp ./sys"
+ # xdev skips mounted directories
+ cd $1
+ } | xargs mkdir -p
+ echo "done"
+
+ echo -n "setting up symlinks... "
+ for file in $(cd $2; find . -xdev -type f;); do
+ case "$file" in
+ ./rom/note) ;; #nothing
+ ./etc/config*|\
+ ./etc/resolv.conf|\
+ ./usr/lib/ipkg/info) cp -af $2/$file $file;;
+ *) ln -sf /rom/${file#./*} $file;;
+ esac
+ done
+ for file in $(cd $2; find . -xdev -type l;); do
+ cp -af $2/${file#./*} $file
+ done
+ echo "done"
+}
+
+pivot() { # <new_root> <old_root>
+ mount -o move /proc $1/proc && \
+ pivot_root $1 $1$2 && {
+ mount -o move $2/dev /dev
+ mount -o move $2/tmp /tmp
+ mount -o move $2/sys /sys
+ return 0
+ }
+}
+
+mountdp() { # <device> <mount_point> <ignored> <fs>
+ dev=$1; mnt=$2; shift 2; opt=$*
+ mount $dev $mnt $opt
+ dupe $mnt $rom
+ pivot $mnt /rom
+}
+
+ramoverlay() {
+ mkdir -p /tmp/root
+ mountdp /tmp/root /mnt -o bind
+}
+
+[ "${0##*/}" = "firstboot" ] && {
+ [ -z "$rom" ] && {
+ echo "You do not have a squashfs partition; aborting"
+ echo "(firstboot cannot be run on jffs2 based firmwares)"
+ exit 1
+ }
+
+ [ "$1" = "switch2jffs" ] && {
+ mtd erase OpenWrt
+ mount -o remount,ro none / # try to avoid fs changing while copying
+ mount -o bind / /mnt
+ mount /dev/mtdblock/4 /rom/jffs -t jffs2
+ echo -n "copying files ... "
+ cp -a /mnt/* /rom/jffs
+ umount /mnt
+ echo "done"
+ pivot /rom /mnt
+ mount -o move /mnt /tmp/root
+ pivot /jffs /rom
+ exit 0
+ }
+
+ # script run manually
+ [ \! -z "$jffs" ] && {
+ echo "firstboot has already been run"
+ echo "jffs2 partition is mounted, only resetting files"
+ dupe $jffs $rom
+ exit 0
+ }
+
+ mtd erase OpenWrt
+ mountdp /dev/mtdblock/4 /jffs -t jffs2
+}
--- /dev/null
+# Network configuration file
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
--- /dev/null
+#!/bin/sh /etc/rc.common
+# ADAM2 patcher for Netgear DG834 and compatible
+# Copyright (C) 2006 OpenWrt.org
+
+START=00
+start() {
+ MD5="$(md5sum /dev/mtdblock/0 | awk '{print $1}')"
+ [ "$MD5" = "0530bfdf00ec155f4182afd70da028c1" ] && {
+ mtd unlock adam2
+ /sbin/adam2patcher /dev/mtdblock/0
+ }
+ rm -f /etc/init.d/S00adam2 /sbin/adam2patcher >&- 2>&-
+}
--- /dev/null
+#!/bin/sh
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+mount none /proc -t proc
+
+[ -f /etc/preinit.arch ] && . /etc/preinit.arch
+[ -z "$FAILSAFE" ] || {
+ echo /bin/true > /proc/sys/kernel/hotplug
+ telnetd -l /bin/login <> /dev/null 2>&1
+}
+mount_root ${FAILSAFE:+failsafe}
+exec /sbin/init
--- /dev/null
+#!/bin/sh
+size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
+mount none /tmp -t tmpfs -o size=$size
+
+if [ "$1" != "failsafe" ]; then
+ mtd unlock linux
+ mount | grep jffs2 >&-
+ if [ $? = 0 ] ; then
+ if [ $(cat /proc/mtd | wc -l) = 6 ]; then
+ mtd erase OpenWrt
+ else
+ mount -o remount,rw /dev/root /
+ fi
+ else
+ . /bin/firstboot
+ echo "switching to jffs2"
+ mount /dev/mtdblock/4 /jffs -t jffs2
+ pivot /jffs /rom || {
+ echo "jffs2 unusable; using ramdisk"
+ ramoverlay
+ }
+ fi
+fi
+
+mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
+mkdir -p /dev/pts
+mount none /dev/pts -t devpts
+mount -t sysfs none /sys 2>&-
+++ /dev/null
-# Network configuration file
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option ifname eth0
- option proto static
- option ipaddr 192.168.1.1
- option netmask 255.255.255.0
-
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# ADAM2 patcher for Netgear DG834 and compatible
-# Copyright (C) 2006 OpenWrt.org
-
-START=00
-start() {
- MD5="$(md5sum /dev/mtdblock/0 | awk '{print $1}')"
- [ "$MD5" = "0530bfdf00ec155f4182afd70da028c1" ] && {
- mtd unlock adam2
- /sbin/adam2patcher /dev/mtdblock/0
- }
- rm -f /etc/init.d/S00adam2 /sbin/adam2patcher >&- 2>&-
-}
+++ /dev/null
-#!/bin/sh
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-mount none /proc -t proc
-
-[ -f /etc/preinit.arch ] && . /etc/preinit.arch
-[ -z "$FAILSAFE" ] || {
- echo /bin/true > /proc/sys/kernel/hotplug
- telnetd -l /bin/login <> /dev/null 2>&1
-}
-mount_root ${FAILSAFE:+failsafe}
-exec /sbin/init
+++ /dev/null
-#!/bin/sh
-size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
-mount none /tmp -t tmpfs -o size=$size
-
-if [ "$1" != "failsafe" ]; then
- mtd unlock linux
- mount | grep jffs2 >&-
- if [ $? = 0 ] ; then
- if [ $(cat /proc/mtd | wc -l) = 6 ]; then
- mtd erase OpenWrt
- else
- mount -o remount,rw /dev/root /
- fi
- else
- . /bin/firstboot
- echo "switching to jffs2"
- mount /dev/mtdblock/4 /jffs -t jffs2
- pivot /jffs /rom || {
- echo "jffs2 unusable; using ramdisk"
- ramoverlay
- }
- fi
-fi
-
-mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
-mkdir -p /dev/pts
-mount none /dev/pts -t devpts
-mount -t sysfs none /sys 2>&-
--- /dev/null
+# Network configuration file
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option proto dhcp
+++ /dev/null
-# Network configuration file
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option ifname eth0
- option proto dhcp
+++ /dev/null
-#!/bin/sh
-# $Id$
-. /etc/functions.sh
-
-partname="OpenWrt"
-mtdpart="$(find_mtd_part $partname)"
-
-rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
-jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
-
-dupe() { # <new_root> <old_root>
- cd $1
- echo -n "creating directories... "
- {
- cd $2
- find . -xdev -type d
- echo "./dev ./jffs ./mnt ./proc ./tmp"
- # xdev skips mounted directories
- cd $1
- } | xargs mkdir -p
- echo "done"
-
- echo -n "setting up symlinks... "
- for file in $(cd $2; find . -xdev -type f;); do
- case "$file" in
- ./rom/note) ;; #nothing
- ./etc/config*|\
- ./usr/lib/ipkg/info/*) cp -af $2/$file $file;;
- *) ln -sf /rom/${file#./*} $file;;
- esac
- done
- for file in $(cd $2; find . -xdev -type l;); do
- cp -af $2/${file#./*} $file
- done
- echo "done"
-}
-
-pivot() { # <new_root> <old_root>
- mount -o move /proc $1/proc && \
- pivot_root $1 $1$2 && {
- mount -o move $2/dev /dev
- mount -o move $2/tmp /tmp
- mount -o move $2/jffs /jffs 2>&-
- return 0
- }
-}
-
-fopivot() { # <rw_root> <ro_root> <dupe?>
- root=$1
- {
- mount -t mini_fo -o base=/,sto=$1 $1 /mnt 2>&- && root=/mnt
- } || {
- [ "$3" = "1" ] && {
- mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
- dupe $1 $rom
- }
- }
- pivot $root $2
-}
-
-ramoverlay() {
- mkdir -p /tmp/root
- fopivot /tmp/root /rom 1
-}
-
-# invoked as an executable
-[ "${0##*/}" = "firstboot" ] && {
-
- [ -z "$mtdpart" ] && {
- echo "MTD partition not found."
- exit 1
- }
-
- [ -z "$rom" ] && {
- echo "You do not have a squashfs partition; aborting"
- echo "(firstboot cannot be run on jffs2 based firmwares)"
- exit 1
- }
-
- [ "$1" = "switch2jffs" ] && {
- mtd erase "$partname"
-
- # try to avoid fs changing while copying
- mount -o remount,ro none / 2>&-
-
- # copy ramoverlay to jffs2
- mount "$mtdpart" /rom/jffs -t jffs2
- echo -n "copying files ... "
- cp -a /tmp/root/* /rom/jffs 2>&-
- echo "done"
-
- # switch back to squashfs (temporarily)
- # and park the ramdisk ontop of /tmp/root
- pivot /rom /mnt
- mount -o move /mnt /tmp/root
-
- # /jffs is the overlay
- # /rom is the readonly
- fopivot /jffs /rom
-
- # try to get rid of /tmp/root
- # this will almost always fail
- umount /tmp/root 2>&-
-
- # fs is clean
- jffs2root --clean
- exit 0
- }
-
- # script run manually
- [ \! -z "$jffs" ] && {
- echo "firstboot has already been run"
- echo "jffs2 partition is mounted, only resetting files"
- grep mini_fo /proc/filesystems >&-
- [ $? != 0 ] && {
- dupe $jffs $rom
- exit 0
- } || {
- rm -rf $jffs/* 2>&-
- mount -o remount $jffs / 2>&-
- exit 0
- }
- }
-
- mtd erase "$partname"
- mount "$mtdpart" /jffs -t jffs2
- fopivot /jffs /rom 1
-}
--- /dev/null
+#!/bin/sh
+# $Id$
+. /etc/functions.sh
+
+partname="OpenWrt"
+mtdpart="$(find_mtd_part $partname)"
+
+rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
+jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
+
+dupe() { # <new_root> <old_root>
+ cd $1
+ echo -n "creating directories... "
+ {
+ cd $2
+ find . -xdev -type d
+ echo "./dev ./jffs ./mnt ./proc ./tmp"
+ # xdev skips mounted directories
+ cd $1
+ } | xargs mkdir -p
+ echo "done"
+
+ echo -n "setting up symlinks... "
+ for file in $(cd $2; find . -xdev -type f;); do
+ case "$file" in
+ ./rom/note) ;; #nothing
+ ./etc/config*|\
+ ./usr/lib/ipkg/info/*) cp -af $2/$file $file;;
+ *) ln -sf /rom/${file#./*} $file;;
+ esac
+ done
+ for file in $(cd $2; find . -xdev -type l;); do
+ cp -af $2/${file#./*} $file
+ done
+ echo "done"
+}
+
+pivot() { # <new_root> <old_root>
+ mount -o move /proc $1/proc && \
+ pivot_root $1 $1$2 && {
+ mount -o move $2/dev /dev
+ mount -o move $2/tmp /tmp
+ mount -o move $2/jffs /jffs 2>&-
+ return 0
+ }
+}
+
+fopivot() { # <rw_root> <ro_root> <dupe?>
+ root=$1
+ {
+ mount -t mini_fo -o base=/,sto=$1 $1 /mnt 2>&- && root=/mnt
+ } || {
+ [ "$3" = "1" ] && {
+ mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
+ dupe $1 $rom
+ }
+ }
+ pivot $root $2
+}
+
+ramoverlay() {
+ mkdir -p /tmp/root
+ fopivot /tmp/root /rom 1
+}
+
+# invoked as an executable
+[ "${0##*/}" = "firstboot" ] && {
+
+ [ -z "$mtdpart" ] && {
+ echo "MTD partition not found."
+ exit 1
+ }
+
+ [ -z "$rom" ] && {
+ echo "You do not have a squashfs partition; aborting"
+ echo "(firstboot cannot be run on jffs2 based firmwares)"
+ exit 1
+ }
+
+ [ "$1" = "switch2jffs" ] && {
+ mtd erase "$partname"
+
+ # try to avoid fs changing while copying
+ mount -o remount,ro none / 2>&-
+
+ # copy ramoverlay to jffs2
+ mount "$mtdpart" /rom/jffs -t jffs2
+ echo -n "copying files ... "
+ cp -a /tmp/root/* /rom/jffs 2>&-
+ echo "done"
+
+ # switch back to squashfs (temporarily)
+ # and park the ramdisk ontop of /tmp/root
+ pivot /rom /mnt
+ mount -o move /mnt /tmp/root
+
+ # /jffs is the overlay
+ # /rom is the readonly
+ fopivot /jffs /rom
+
+ # try to get rid of /tmp/root
+ # this will almost always fail
+ umount /tmp/root 2>&-
+
+ # fs is clean
+ jffs2root --clean
+ exit 0
+ }
+
+ # script run manually
+ [ \! -z "$jffs" ] && {
+ echo "firstboot has already been run"
+ echo "jffs2 partition is mounted, only resetting files"
+ grep mini_fo /proc/filesystems >&-
+ [ $? != 0 ] && {
+ dupe $jffs $rom
+ exit 0
+ } || {
+ rm -rf $jffs/* 2>&-
+ mount -o remount $jffs / 2>&-
+ exit 0
+ }
+ }
+
+ mtd erase "$partname"
+ mount "$mtdpart" /jffs -t jffs2
+ fopivot /jffs /rom 1
+}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+set_led() {
+ local led="$1"
+ local state="$2"
+ [ -f "/proc/diag/led/$1" ] && echo "$state" > "/proc/diag/led/$1"
+}
+
+set_state() {
+ case "$1" in
+ preinit)
+ set_led dmz 1
+ set_led diag 1
+ set_led power 0
+ ;;
+ failsafe)
+ set_led diag f
+ set_led power f
+ set_led dmz f
+ ;;
+ done)
+ set_led dmz 0
+ set_led diag 0
+ set_led power 1
+ ;;
+ esac
+}
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+START=95
+boot() {
+ [ -d /tmp/root ] && {
+ lock /tmp/.switch2jffs
+ firstboot switch2jffs
+ lock -u /tmp/.switch2jffs
+ }
+
+ # set leds to normal state
+ . /etc/diag.sh
+ set_state done
+}
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+START=05
+
+start() {
+ [ -e /etc/config/network ] && exit 0
+
+ mkdir -p /etc/config
+
+ (
+ if grep -E 'mtd0: 000(6|a)0000' /proc/mtd 2>&- >&-; then
+ # WGT634u
+ echo boardtype=wgt634u
+ else
+ strings /dev/mtdblock/3
+ fi
+ ) | awk '
+ function p(cfgname, name) {
+ if (c[name] != "") print " option " cfgname " \"" c[name] "\""
+ }
+
+ function macinc(mac, maca, i, result) {
+ split(mac, maca, ":")
+ for (i = 1; i <= 6; i++) maca[i] = "0x" maca[i]
+ if (++maca[6] > 0xff) {
+ maca[5]++
+ maca[6] = 0
+ }
+ for (i = 1; i <= 6; i++) {
+ if (i != 1) result = result ":"
+ result = result sprintf("%02x", maca[i])
+ }
+ return result
+ }
+
+ BEGIN {
+ FS="="
+ c["lan_ifname"]="eth0.0"
+ c["wan_ifname"]="eth0.1"
+ c["vlan0ports"]="1 2 3 4 5*"
+ c["vlan1ports"]="0 5"
+ getline < "/proc/diag/model"
+ model=$0
+ for (i = 0; i < 6; i++) {
+ if (mac_check != "") mac_check = mac_check ":"
+ mac_check = mac_check "[0-9a-fA-F][0-9a-fA-F]"
+ }
+ }
+
+ ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) {
+ nvram[$1] = $2
+ }
+
+ END {
+ if ((model == "ASUS WL-HDD") || (model == "ASUS WL-300g") || (model == "Linksys WAP54G V1")) {
+ c["wan_ifname"] = ""
+ c["lan_ifname"] = "eth1"
+ }
+ if (model == "ASUS WL-500g") {
+ c["wan_ifname"] = "eth1"
+ c["lan_ifname"] = "eth0"
+ }
+ if (nvram["boardtype"] == "bcm94710r4") {
+ # Toshiba WRC-1000
+ c["lan_ifname"] = "eth0"
+ c["wan_ifname"] = "eth1"
+ }
+ if (nvram["boardtype"] == "wgt634u") {
+ c["vlan0ports"] = "0 1 2 3 5*"
+ c["vlan1ports"] = "4 5"
+ }
+ if (nvram["boardtype"] == "0x0467") {
+ c["vlan0ports"] = "0 1 2 3 5*"
+ c["vlan1ports"] = "4 5"
+ }
+ if ((nvram["boardtype"] == "0x042f") || (nvram["boardtype"] == "0x0472")) {
+ if (nvram["boardnum"] == "45") {
+ # WL-500gP
+ c["vlan0ports"] = "1 2 3 4 5*"
+ c["vlan1ports"] = "0 5"
+ } else {
+ # Generic BCM94704
+ c["vlan0ports"] = "0 1 2 3 4 5u"
+ c["vlan1ports"] = ""
+ c["lan_ifname"] = "eth0"
+ c["wan_ifname"] = "eth1"
+
+ # MAC addresses on 4704 tend to be screwed up. Add a workaround here
+ if (nvram["et0macaddr"] ~ mac_check) {
+ c["lan_macaddr"] = nvram["et0macaddr"]
+ c["wan_macaddr"] = macinc(c["lan_macaddr"])
+ }
+ }
+ }
+
+ # WAP54G
+ if ((nvram["boardnum"] == "2") || \
+ (nvram["boardnum"] == "1024")) {
+ c["lan_ifname"]="eth0"
+ c["wan_ifname"]=""
+ }
+
+ # ASUS WL-700gE
+ # These are actually same as defaults above. For some reason this script applies
+ # Generic BCM94704 settings instead so we revert to proper settings here.
+ # Hopefully someone will fix this properly soon.
+ if (model == "ASUS WL-700gE") {
+ c["lan_ifname"]="eth0.0"
+ c["wan_ifname"]="eth0.1"
+ c["vlan0ports"]="1 2 3 4 5*"
+ c["vlan1ports"]="0 5"
+ }
+
+ print "#### VLAN configuration "
+ print "config switch eth0"
+ p("vlan0", "vlan0ports")
+ p("vlan1", "vlan1ports")
+ print ""
+ print ""
+ print "#### Loopback configuration"
+ print "config interface loopback"
+ print " option ifname \"lo\""
+ print " option proto static"
+ print " option ipaddr 127.0.0.1"
+ print " option netmask 255.0.0.0"
+ print ""
+ print ""
+ print "#### LAN configuration"
+ print "config interface lan"
+ print " option type bridge"
+ p("ifname", "lan_ifname")
+ p("macaddr", "lan_macaddr")
+ print " option proto static"
+ print " option ipaddr 192.168.1.1"
+ print " option netmask 255.255.255.0"
+ print ""
+ print ""
+ print "#### WAN configuration"
+ print "config interface wan"
+ p("ifname", "wan_ifname")
+ p("macaddr", "wan_macaddr")
+ print " option proto dhcp"
+ }' > /etc/config/network
+}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+. /etc/functions.sh
+. /etc/diag.sh
+
+failsafe() {
+ lock /tmp/.failsafe
+
+ echo "0 1 2 3 4 5u*" > /proc/switch/eth0/vlan/0/ports
+
+ set_state failsafe
+ [ -x "/usr/sbin/nvram" ] && {
+ [ "$(nvram get boot_wait)" != "on" ] && {
+ nvram set boot_wait=on
+ nvram commit
+ }
+ }
+
+ netmsg 192.168.1.255 "Entering Failsafe!"
+ telnetd -l /bin/login <> /dev/null 2>&1
+
+ ash --login
+}
+
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+mount none /proc -t proc
+size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
+mount none /tmp -t tmpfs -o size=$size
+
+insmod diag
+set_state preinit
+trap 'FAILSAFE=true' USR1
+echo '/sbin/hotplug.failsafe' > /proc/sys/kernel/hotplug
+
+ifname=eth0
+
+# hardware specific overrides
+case "$(cat /proc/diag/model)" in
+ "Linksys WAP54G V1") ifname=eth1;;
+ "ASUS WL-HDD") ifname=eth1;;
+ "ASUS WL-300g") ifname=eth1;;
+ "ASUS (unknown, BCM4702)") ifname=eth1;;
+esac
+
+insmod switch-core
+insmod switch-robo || insmod switch-adm || rmmod switch-core
+
+ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
+
+[ -d /proc/switch/eth0 ] && {
+ echo 1 > /proc/switch/eth0/reset
+
+ # this would be easier if we blasted the message across all ports
+ # but we don't want packets leaking across interfaces
+ for port in $(seq 0 4); do {
+ echo "$port 5u*" > /proc/switch/eth0/vlan/0/ports
+ netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"
+ }; done
+} || netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"
+
+sleep 2
+
+eval ${FAILSAFE:+failsafe}
+
+lock -w /tmp/.failsafe
+set_state preinit
+echo /sbin/hotplug > /proc/sys/kernel/hotplug
+
+ifconfig $ifname 0.0.0.0 down
+
+mount_root
+exec /sbin/init
--- /dev/null
+#!/bin/sh
+case "$1" in
+ button) kill -USR1 1;;
+esac
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+is_dirty() {
+ grep Broadcom /proc/cpuinfo >&- || return 1
+ OFFSET="$(($(hexdump -v /dev/mtdblock/1 -s 20 -n 2 -e '"%d"')-1))"
+ return $(hexdump -v /dev/mtdblock/1 -s $OFFSET -n 1 -e '"%d"')
+}
+
+if [ "$1" != "failsafe" ]; then
+ mtd unlock linux
+ mount | grep jffs2 >&-
+ if [ $? = 0 ] ; then
+ mount -o remount,rw /dev/root /
+ else
+ . /bin/firstboot
+ is_dirty
+ [ $? != 0 ] && {
+ echo "switching to jffs2"
+ mount /dev/mtdblock/4 /jffs -t jffs2
+ fopivot /jffs /rom
+ } || {
+ echo "jffs2 not ready yet; using ramdisk"
+ ramoverlay
+ }
+ fi
+fi
+
+mkdir -p /dev/pts
+mount none /dev/pts -t devpts 2>&-
+grep sysfs /proc/filesystems >/dev/null && mount -t sysfs none /sys 2>&-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-
-set_led() {
- local led="$1"
- local state="$2"
- [ -f "/proc/diag/led/$1" ] && echo "$state" > "/proc/diag/led/$1"
-}
-
-set_state() {
- case "$1" in
- preinit)
- set_led dmz 1
- set_led diag 1
- set_led power 0
- ;;
- failsafe)
- set_led diag f
- set_led power f
- set_led dmz f
- ;;
- done)
- set_led dmz 0
- set_led diag 0
- set_led power 1
- ;;
- esac
-}
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-
-START=95
-boot() {
- [ -d /tmp/root ] && {
- lock /tmp/.switch2jffs
- firstboot switch2jffs
- lock -u /tmp/.switch2jffs
- }
-
- # set leds to normal state
- . /etc/diag.sh
- set_state done
-}
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-
-START=05
-
-start() {
- [ -e /etc/config/network ] && exit 0
-
- mkdir -p /etc/config
-
- (
- if grep -E 'mtd0: 000(6|a)0000' /proc/mtd 2>&- >&-; then
- # WGT634u
- echo boardtype=wgt634u
- else
- strings /dev/mtdblock/3
- fi
- ) | awk '
- function p(cfgname, name) {
- if (c[name] != "") print " option " cfgname " \"" c[name] "\""
- }
-
- function macinc(mac, maca, i, result) {
- split(mac, maca, ":")
- for (i = 1; i <= 6; i++) maca[i] = "0x" maca[i]
- if (++maca[6] > 0xff) {
- maca[5]++
- maca[6] = 0
- }
- for (i = 1; i <= 6; i++) {
- if (i != 1) result = result ":"
- result = result sprintf("%02x", maca[i])
- }
- return result
- }
-
- BEGIN {
- FS="="
- c["lan_ifname"]="eth0.0"
- c["wan_ifname"]="eth0.1"
- c["vlan0ports"]="1 2 3 4 5*"
- c["vlan1ports"]="0 5"
- getline < "/proc/diag/model"
- model=$0
- for (i = 0; i < 6; i++) {
- if (mac_check != "") mac_check = mac_check ":"
- mac_check = mac_check "[0-9a-fA-F][0-9a-fA-F]"
- }
- }
-
- ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) {
- nvram[$1] = $2
- }
-
- END {
- if ((model == "ASUS WL-HDD") || (model == "ASUS WL-300g") || (model == "Linksys WAP54G V1")) {
- c["wan_ifname"] = ""
- c["lan_ifname"] = "eth1"
- }
- if (model == "ASUS WL-500g") {
- c["wan_ifname"] = "eth1"
- c["lan_ifname"] = "eth0"
- }
- if (nvram["boardtype"] == "bcm94710r4") {
- # Toshiba WRC-1000
- c["lan_ifname"] = "eth0"
- c["wan_ifname"] = "eth1"
- }
- if (nvram["boardtype"] == "wgt634u") {
- c["vlan0ports"] = "0 1 2 3 5*"
- c["vlan1ports"] = "4 5"
- }
- if (nvram["boardtype"] == "0x0467") {
- c["vlan0ports"] = "0 1 2 3 5*"
- c["vlan1ports"] = "4 5"
- }
- if ((nvram["boardtype"] == "0x042f") || (nvram["boardtype"] == "0x0472")) {
- if (nvram["boardnum"] == "45") {
- # WL-500gP
- c["vlan0ports"] = "1 2 3 4 5*"
- c["vlan1ports"] = "0 5"
- } else {
- # Generic BCM94704
- c["vlan0ports"] = "0 1 2 3 4 5u"
- c["vlan1ports"] = ""
- c["lan_ifname"] = "eth0"
- c["wan_ifname"] = "eth1"
-
- # MAC addresses on 4704 tend to be screwed up. Add a workaround here
- if (nvram["et0macaddr"] ~ mac_check) {
- c["lan_macaddr"] = nvram["et0macaddr"]
- c["wan_macaddr"] = macinc(c["lan_macaddr"])
- }
- }
- }
-
- # WAP54G
- if ((nvram["boardnum"] == "2") || \
- (nvram["boardnum"] == "1024")) {
- c["lan_ifname"]="eth0"
- c["wan_ifname"]=""
- }
-
- # ASUS WL-700gE
- # These are actually same as defaults above. For some reason this script applies
- # Generic BCM94704 settings instead so we revert to proper settings here.
- # Hopefully someone will fix this properly soon.
- if (model == "ASUS WL-700gE") {
- c["lan_ifname"]="eth0.0"
- c["wan_ifname"]="eth0.1"
- c["vlan0ports"]="1 2 3 4 5*"
- c["vlan1ports"]="0 5"
- }
-
- print "#### VLAN configuration "
- print "config switch eth0"
- p("vlan0", "vlan0ports")
- p("vlan1", "vlan1ports")
- print ""
- print ""
- print "#### Loopback configuration"
- print "config interface loopback"
- print " option ifname \"lo\""
- print " option proto static"
- print " option ipaddr 127.0.0.1"
- print " option netmask 255.0.0.0"
- print ""
- print ""
- print "#### LAN configuration"
- print "config interface lan"
- print " option type bridge"
- p("ifname", "lan_ifname")
- p("macaddr", "lan_macaddr")
- print " option proto static"
- print " option ipaddr 192.168.1.1"
- print " option netmask 255.255.255.0"
- print ""
- print ""
- print "#### WAN configuration"
- print "config interface wan"
- p("ifname", "wan_ifname")
- p("macaddr", "wan_macaddr")
- print " option proto dhcp"
- }' > /etc/config/network
-}
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-
-. /etc/functions.sh
-. /etc/diag.sh
-
-failsafe() {
- lock /tmp/.failsafe
-
- echo "0 1 2 3 4 5u*" > /proc/switch/eth0/vlan/0/ports
-
- set_state failsafe
- [ -x "/usr/sbin/nvram" ] && {
- [ "$(nvram get boot_wait)" != "on" ] && {
- nvram set boot_wait=on
- nvram commit
- }
- }
-
- netmsg 192.168.1.255 "Entering Failsafe!"
- telnetd -l /bin/login <> /dev/null 2>&1
-
- ash --login
-}
-
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-mount none /proc -t proc
-size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)
-mount none /tmp -t tmpfs -o size=$size
-
-insmod diag
-set_state preinit
-trap 'FAILSAFE=true' USR1
-echo '/sbin/hotplug.failsafe' > /proc/sys/kernel/hotplug
-
-ifname=eth0
-
-# hardware specific overrides
-case "$(cat /proc/diag/model)" in
- "Linksys WAP54G V1") ifname=eth1;;
- "ASUS WL-HDD") ifname=eth1;;
- "ASUS WL-300g") ifname=eth1;;
- "ASUS (unknown, BCM4702)") ifname=eth1;;
-esac
-
-insmod switch-core
-insmod switch-robo || insmod switch-adm || rmmod switch-core
-
-ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
-
-[ -d /proc/switch/eth0 ] && {
- echo 1 > /proc/switch/eth0/reset
-
- # this would be easier if we blasted the message across all ports
- # but we don't want packets leaking across interfaces
- for port in $(seq 0 4); do {
- echo "$port 5u*" > /proc/switch/eth0/vlan/0/ports
- netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"
- }; done
-} || netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"
-
-sleep 2
-
-eval ${FAILSAFE:+failsafe}
-
-lock -w /tmp/.failsafe
-set_state preinit
-echo /sbin/hotplug > /proc/sys/kernel/hotplug
-
-ifconfig $ifname 0.0.0.0 down
-
-mount_root
-exec /sbin/init
+++ /dev/null
-#!/bin/sh
-case "$1" in
- button) kill -USR1 1;;
-esac
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-
-is_dirty() {
- grep Broadcom /proc/cpuinfo >&- || return 1
- OFFSET="$(($(hexdump -v /dev/mtdblock/1 -s 20 -n 2 -e '"%d"')-1))"
- return $(hexdump -v /dev/mtdblock/1 -s $OFFSET -n 1 -e '"%d"')
-}
-
-if [ "$1" != "failsafe" ]; then
- mtd unlock linux
- mount | grep jffs2 >&-
- if [ $? = 0 ] ; then
- mount -o remount,rw /dev/root /
- else
- . /bin/firstboot
- is_dirty
- [ $? != 0 ] && {
- echo "switching to jffs2"
- mount /dev/mtdblock/4 /jffs -t jffs2
- fopivot /jffs /rom
- } || {
- echo "jffs2 not ready yet; using ramdisk"
- ramoverlay
- }
- fi
-fi
-
-mkdir -p /dev/pts
-mount none /dev/pts -t devpts 2>&-
-grep sysfs /proc/filesystems >/dev/null && mount -t sysfs none /sys 2>&-
--- /dev/null
+# Network configuration file
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option proto dhcp
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+START=15
+
+# hardware
+# the 'Hardware' string from cpuinfo
+hardware(){
+ sed -n 's!^Hardware *: !!p' /proc/cpuinfo
+}
+#
+# machine
+# outputs an identifier of the current machine - i.e. the board
+# slugos is running on.
+machine(){
+ case "$(hardware)" in
+ *Avila*) echo avila;;
+ *Loft*) echo loft;;
+ *NAS?100d*) echo nas100d;;
+ *DSM?G600*) echo dsmg600;;
+ *NSLU2*) echo nslu2;;
+ *FSG?3*) echo fsg3;;
+ *Gateway?7001*) echo gateway7001;;
+ *) echo unknown;;
+ esac
+}
+
+start() {
+ [ -e /etc/config/network ] && exit 0
+
+ mkdir -p /etc/config
+
+ (
+ case "$(machine)" in
+ nslu2)
+ sysconf=$(find_mtd_part "SysConf")
+ echo model=nslu2
+ strings $sysconf ;;
+ nas100d)
+ sysconf=$(find_mtd_part "sysconfig")
+ echo model=nas100d
+ strings $sysconf ;;
+ *)
+ echo model=$(machine) ;;
+ esac
+ ) | awk '
+ function p(cfgname, name) {
+ if (c[name] != "") print " option " cfgname " \"" c[name] "\""
+ }
+
+ BEGIN {
+ FS="="
+ }
+
+ { c[$1] = $2 }
+
+ END {
+ print "#### Loopback configuration"
+ print "config interface loopback"
+ print " option ifname \"lo\""
+ print " option proto static"
+ print " option ipaddr 127.0.0.1"
+ print " option netmask 255.0.0.0"
+ print ""
+ print ""
+ print "#### LAN configuration"
+ print "config interface lan"
+ print " option ifname \"eth0\""
+ if ((c["model"] == "nslu2") || (c["model"] == "nas100d")) {
+ p("proto", "bootproto")
+ p("ipaddr", "ip_addr")
+ p("netmask", "netmask")
+ p("gateway", "gateway")
+ p("dns", "dns_server1")
+ p("hostname", "disk_server_name")
+ }
+ else {
+ print " option proto dhcp"
+ }
+ }' > /etc/config/network
+
+ ifup loopback
+ ifup lan
+}
+++ /dev/null
-# Network configuration file
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option ifname eth0
- option proto dhcp
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-
-START=15
-
-# hardware
-# the 'Hardware' string from cpuinfo
-hardware(){
- sed -n 's!^Hardware *: !!p' /proc/cpuinfo
-}
-#
-# machine
-# outputs an identifier of the current machine - i.e. the board
-# slugos is running on.
-machine(){
- case "$(hardware)" in
- *Avila*) echo avila;;
- *Loft*) echo loft;;
- *NAS?100d*) echo nas100d;;
- *DSM?G600*) echo dsmg600;;
- *NSLU2*) echo nslu2;;
- *FSG?3*) echo fsg3;;
- *Gateway?7001*) echo gateway7001;;
- *) echo unknown;;
- esac
-}
-
-start() {
- [ -e /etc/config/network ] && exit 0
-
- mkdir -p /etc/config
-
- (
- case "$(machine)" in
- nslu2)
- sysconf=$(find_mtd_part "SysConf")
- echo model=nslu2
- strings $sysconf ;;
- nas100d)
- sysconf=$(find_mtd_part "sysconfig")
- echo model=nas100d
- strings $sysconf ;;
- *)
- echo model=$(machine) ;;
- esac
- ) | awk '
- function p(cfgname, name) {
- if (c[name] != "") print " option " cfgname " \"" c[name] "\""
- }
-
- BEGIN {
- FS="="
- }
-
- { c[$1] = $2 }
-
- END {
- print "#### Loopback configuration"
- print "config interface loopback"
- print " option ifname \"lo\""
- print " option proto static"
- print " option ipaddr 127.0.0.1"
- print " option netmask 255.0.0.0"
- print ""
- print ""
- print "#### LAN configuration"
- print "config interface lan"
- print " option ifname \"eth0\""
- if ((c["model"] == "nslu2") || (c["model"] == "nas100d")) {
- p("proto", "bootproto")
- p("ipaddr", "ip_addr")
- p("netmask", "netmask")
- p("gateway", "gateway")
- p("dns", "dns_server1")
- p("hostname", "disk_server_name")
- }
- else {
- print " option proto dhcp"
- }
- }' > /etc/config/network
-
- ifup loopback
- ifup lan
-}
--- /dev/null
+# Copyright (C) 2006 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option proto dhcp
+
--- /dev/null
+#!/bin/sh
+. /etc/functions.sh
+
+copy_kernel() {
+ local input="$1"
+ local output="$2"
+ local cmdline="$3"
+ size="$(echo -n "$cmdline" | wc -c)"
+ dd if="$input" bs=3M count=1 > "$output"
+ /sbin/patch-cmdline "$output" "$cmdline"
+}
+
+fstype="$(mount | grep ' / ' | awk '$5 != "rootfs" {print $5}')"
+case "$fstype" in
+ ext2|jffs2) echo "Copying from $fstype to yaffs2";;
+ *) echo "Invalid filesystem."; exit 1;;
+esac
+
+[ -d /tmp/cf2nand ] && {
+ echo "/tmp/cf2nand already exists"
+ exit 1
+}
+
+mkdir /tmp/cf2nand
+mkdir /tmp/cf2nand/rootfs
+mount -t "$fstype" /dev/root /tmp/cf2nand/rootfs || {
+ echo "Mounting rootfs failed."
+ exit 1
+}
+
+boot="$(find_mtd_part 'RouterBoard NAND Boot')"
+main="$(find_mtd_part 'RouterBoard NAND Main')"
+[ -z "$boot" -o -z "$main" ] && {
+ echo "Cannot find NAND Flash partitions"
+ exit 1
+}
+
+echo "Erasing filesystem..."
+mtd erase Boot 2>/dev/null >/dev/null
+mtd erase Main 2>/dev/null >/dev/null
+
+mkdir /tmp/cf2nand/p1
+mkdir /tmp/cf2nand/p2
+mount -t yaffs2 "$boot" /tmp/cf2nand/p1
+mount -t yaffs2 "$main" /tmp/cf2nand/p2
+
+echo "Copying kernel..."
+copy_kernel /dev/cf/card0/part1 /tmp/cf2nand/p1/kernel "root=/dev/mtdblock1 rootfstype=yaffs2 " 2>/dev/null >/dev/null
+umount /tmp/cf2nand/p1
+rmdir /tmp/cf2nand/p1
+
+echo "Copying filesystem..."
+( cd /tmp/cf2nand/rootfs; tar c . ) | ( cd /tmp/cf2nand/p2; tar x )
+sync
+umount /tmp/cf2nand/p2
+rmdir /tmp/cf2nand/p2
+
+umount /tmp/cf2nand/rootfs
+rmdir /tmp/cf2nand/rootfs
+rmdir /tmp/cf2nand
+
+++ /dev/null
-# Copyright (C) 2006 OpenWrt.org
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option ifname eth0
- option proto dhcp
-
+++ /dev/null
-#!/bin/sh
-. /etc/functions.sh
-
-copy_kernel() {
- local input="$1"
- local output="$2"
- local cmdline="$3"
- size="$(echo -n "$cmdline" | wc -c)"
- dd if="$input" bs=3M count=1 > "$output"
- /sbin/patch-cmdline "$output" "$cmdline"
-}
-
-fstype="$(mount | grep ' / ' | awk '$5 != "rootfs" {print $5}')"
-case "$fstype" in
- ext2|jffs2) echo "Copying from $fstype to yaffs2";;
- *) echo "Invalid filesystem."; exit 1;;
-esac
-
-[ -d /tmp/cf2nand ] && {
- echo "/tmp/cf2nand already exists"
- exit 1
-}
-
-mkdir /tmp/cf2nand
-mkdir /tmp/cf2nand/rootfs
-mount -t "$fstype" /dev/root /tmp/cf2nand/rootfs || {
- echo "Mounting rootfs failed."
- exit 1
-}
-
-boot="$(find_mtd_part 'RouterBoard NAND Boot')"
-main="$(find_mtd_part 'RouterBoard NAND Main')"
-[ -z "$boot" -o -z "$main" ] && {
- echo "Cannot find NAND Flash partitions"
- exit 1
-}
-
-echo "Erasing filesystem..."
-mtd erase Boot 2>/dev/null >/dev/null
-mtd erase Main 2>/dev/null >/dev/null
-
-mkdir /tmp/cf2nand/p1
-mkdir /tmp/cf2nand/p2
-mount -t yaffs2 "$boot" /tmp/cf2nand/p1
-mount -t yaffs2 "$main" /tmp/cf2nand/p2
-
-echo "Copying kernel..."
-copy_kernel /dev/cf/card0/part1 /tmp/cf2nand/p1/kernel "root=/dev/mtdblock1 rootfstype=yaffs2 " 2>/dev/null >/dev/null
-umount /tmp/cf2nand/p1
-rmdir /tmp/cf2nand/p1
-
-echo "Copying filesystem..."
-( cd /tmp/cf2nand/rootfs; tar c . ) | ( cd /tmp/cf2nand/p2; tar x )
-sync
-umount /tmp/cf2nand/p2
-rmdir /tmp/cf2nand/p2
-
-umount /tmp/cf2nand/rootfs
-rmdir /tmp/cf2nand/rootfs
-rmdir /tmp/cf2nand
-
--- /dev/null
+# Copyright (C) 2006 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option type bridge
+ option ifname "eth0 ath0"
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
--- /dev/null
+# Copyright (C) 2006 OpenWrt.org
+
+::sysinit:/etc/init.d/rcS
+duart/0::askfirst:/bin/ash --login
+#tts/1::askfirst:/bin/ash --login
+++ /dev/null
-# Copyright (C) 2006 OpenWrt.org
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option type bridge
- option ifname "eth0 ath0"
- option proto static
- option ipaddr 192.168.1.1
- option netmask 255.255.255.0
+++ /dev/null
-# Copyright (C) 2006 OpenWrt.org
-
-::sysinit:/etc/init.d/rcS
-duart/0::askfirst:/bin/ash --login
-#tts/1::askfirst:/bin/ash --login
--- /dev/null
+# Copyright (C) 2006 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option type bridge
+ option ifname "eth1 eth2"
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config interface wan
+ option ifname eth0
+ option proto dhcp
+
+++ /dev/null
-# Copyright (C) 2006 OpenWrt.org
-
-config interface loopback
- option ifname lo
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-config interface lan
- option type bridge
- option ifname "eth1 eth2"
- option proto static
- option ipaddr 192.168.1.1
- option netmask 255.255.255.0
-
-config interface wan
- option ifname eth0
- option proto dhcp
-