From 7619fe0848dc5f31d5c4c4cadd2ec067bd5c55d1 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 17 Jul 2005 22:52:59 +0000 Subject: move target/default/target_skeleton into package/base-files, put all the default files in ipkg packages, cleanup some junk in toolchain/, toolchain/ no longer changes build_mipsel/root git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1494 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/backup | 32 ++++++++++++++ package/base-files/default/sbin/halt | 3 ++ package/base-files/default/sbin/hotplug | 6 +++ package/base-files/default/sbin/ifdown | 9 ++++ package/base-files/default/sbin/ifup | 59 +++++++++++++++++++++++++ package/base-files/default/sbin/mount_root | 25 +++++++++++ package/base-files/default/sbin/restore | 71 ++++++++++++++++++++++++++++++ 7 files changed, 205 insertions(+) create mode 100755 package/base-files/default/sbin/backup create mode 100755 package/base-files/default/sbin/halt create mode 100755 package/base-files/default/sbin/hotplug create mode 100755 package/base-files/default/sbin/ifdown create mode 100755 package/base-files/default/sbin/ifup create mode 100755 package/base-files/default/sbin/mount_root create mode 100755 package/base-files/default/sbin/restore (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/backup b/package/base-files/default/sbin/backup new file mode 100755 index 000000000..33bad5350 --- /dev/null +++ b/package/base-files/default/sbin/backup @@ -0,0 +1,32 @@ +#!/bin/sh +for param in $*; do + case "$param" in + *) + OUTPUT_FILE="$param" + ;; + esac +done + +if [ "$OUTPUT_FILE" = "-" ]; then + echo "Writing backup to stdout.." >&2 +elif [ "$OUTPUT_FILE" = "" ]; then + echo "No output file." + exit 1 +else + echo "Writing backup to $OUTPUT_FILE" >&2 + exec > "$OUTPUT_FILE" +fi + +echo __FILELIST__ +find /etc -type f > /tmp/.wlbackup_files +cat /tmp/.wlbackup_files + +echo __IPKG__ +cat /etc/ipkg.conf + +echo __PACKAGES__ +grep '^Package:' /usr/lib/ipkg/status | cut -d' ' -f2 + +echo __FILES__ +tar -T /tmp/.wlbackup_files -cz 2>/dev/null +rm -f /tmp/.wlbackup_files diff --git a/package/base-files/default/sbin/halt b/package/base-files/default/sbin/halt new file mode 100755 index 000000000..39eed2612 --- /dev/null +++ b/package/base-files/default/sbin/halt @@ -0,0 +1,3 @@ +#!/bin/sh +/usr/bin/killall5 -9 +#umount -ar diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug new file mode 100755 index 000000000..74134e848 --- /dev/null +++ b/package/base-files/default/sbin/hotplug @@ -0,0 +1,6 @@ +#!/bin/ash +# $Id$ +[ "${INTERFACE%%[0-9]*}" = "wds" ] && { + ifconfig $INTERFACE 0.0.0.0 up + /usr/sbin/brctl addif br0 $INTERFACE +} diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown new file mode 100755 index 000000000..6b255cc1b --- /dev/null +++ b/package/base-files/default/sbin/ifdown @@ -0,0 +1,9 @@ +#!/bin/ash +[ $# = 0 ] && { echo " $0 "; exit; } +. /etc/functions.sh +type=$1 +debug "### ifdown $type ###" +if=$(nvram get ${type}_ifname) +if_valid $if || exit +$DEBUG ifconfig $if down +kill $(cat /var/run/${if}.pid 2>&-) 2>&- diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup new file mode 100755 index 000000000..3d81364d0 --- /dev/null +++ b/package/base-files/default/sbin/ifup @@ -0,0 +1,59 @@ +#!/bin/ash +[ $# = 0 ] && { echo " $0 "; exit; } +. /etc/functions.sh +type=$1 +debug "### ifup $type ###" + +if_proto=$(nvram get ${type}_proto) +if=$(nvram get ${type}_ifname) +[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) + +if_valid $if || exit +mac=$(nvram get ${type}_hwaddr) +$DEBUG ifconfig $if down 2>&- + +if [ "${if%%[0-9]}" = "br" ]; then + stp=$(nvram get ${type}_stp) + $DEBUG brctl delbr $if 2>&- + $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 + ${mac:+$DEBUG ifconfig $sif down hw ether $mac} + $DEBUG ifconfig $sif 0.0.0.0 up + $DEBUG brctl addif $if $sif + done +else + ${mac:+$DEBUG ifconfig $if down hw ether $mac} +fi + +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) + ip=$(nvram get ${type}_ipaddr) + [ -f $pidfile ] && $DEBUG kill $(cat $pidfile) + ${DEBUG:-eval} "udhcpc -R -i $if ${ip:+-r $ip} -b -p $pidfile &" + ;; + none|"") + ;; + *) + [ -x "/sbin/ifup.${if_proto}" ] && { $DEBUG /sbin/ifup.${if_proto} $*; exit; } + echo "### ifup $type: ignored ${type}_proto=\"$if_proto\" (not supported)" + ;; +esac diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root new file mode 100755 index 000000000..b4ec2ca56 --- /dev/null +++ b/package/base-files/default/sbin/mount_root @@ -0,0 +1,25 @@ +#!/bin/sh +if [ "$1" != "failsafe" ]; then + mount | grep jffs2 >&- + if [ $? = 0 ] ; then + if [ $(cat /proc/mtd | wc -l) = 6 ]; then + echo 5 > /proc/sys/diag + mtd unlock linux + mtd erase OpenWrt + jffs2root --move + else + mtd unlock rootfs + mount -o remount,rw /dev/root / + fi + else + mtd unlock OpenWrt + mount -t jffs2 /dev/mtdblock/4 /jffs + pivot_root /jffs /jffs/rom + mount none /proc -t proc + mount none /dev -t devfs + umount /rom/proc rom/dev >&- + fi +fi +mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% +mkdir -p /dev/pts +mount none /dev/pts -t devpts diff --git a/package/base-files/default/sbin/restore b/package/base-files/default/sbin/restore new file mode 100755 index 000000000..6b5876cc1 --- /dev/null +++ b/package/base-files/default/sbin/restore @@ -0,0 +1,71 @@ +#!/bin/sh +for param in $*; do + case "$param" in + *) + INPUT_FILE="$param" + esac +done + +if [ "$INPUT_FILE" = "-" ]; then + echo "Reading backup from stdin..." >&2 +elif [ "$INPUT_FILE" = "" ]; then + echo "No input file." +else + echo "Reading backup from $INPUT_FILE" >&2 + exec < "$INPUT_FILE" +fi + +process_line () { + case "$SECTION" in + ipkg) + echo "$line" >> /etc/ipkg.conf + ;; + nvram) + echo nvram set "$line" + ;; + package) + if grep "^Package: $line" /usr/lib/ipkg/status 2>&1 > /dev/null; then + echo Package "$line" already installed. + else + ipkg install "$line" + fi + ;; + file) + rm -f "$line" + ;; + esac +} + +while true; do + read line + case "$line" in + __IPKG__) + SECTION=ipkg + echo "Restoring /etc/ipkg.conf" + rm -f /etc/ipkg.conf + ;; + __NVRAM__) + SECTION=nvram + echo "Restoring nvram" + ;; + __PACKAGES__) + SECTION=package + echo "Restoring packages" + ipkg update + ;; + __FILELIST__) + SECTION=file + echo "Deleting old files" + ;; + __FILES__) + echo "Restoring /etc" + tar -C / -xvz + echo "Restore complete." + exit 0 + ;; + *) + process_line; + ;; + esac +done + -- cgit v1.2.3 From a44985f42c551baae99a2c6f461c94ec86d9e310 Mon Sep 17 00:00:00 2001 From: mbm Date: Wed, 20 Jul 2005 19:58:40 +0000 Subject: updates from whiterussian git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1504 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifup | 4 +++- package/base-files/default/sbin/mount_root | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 3d81364d0..5dac3f998 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -12,6 +12,9 @@ if_valid $if || exit mac=$(nvram get ${type}_hwaddr) $DEBUG ifconfig $if down 2>&- +pidfile=/var/run/${if}.pid +[ -f $pidfile ] && $DEBUG kill $(cat $pidfile) + if [ "${if%%[0-9]}" = "br" ]; then stp=$(nvram get ${type}_stp) $DEBUG brctl delbr $if 2>&- @@ -47,7 +50,6 @@ case "$if_proto" in ;; dhcp) ip=$(nvram get ${type}_ipaddr) - [ -f $pidfile ] && $DEBUG kill $(cat $pidfile) ${DEBUG:-eval} "udhcpc -R -i $if ${ip:+-r $ip} -b -p $pidfile &" ;; none|"") diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index b4ec2ca56..29c5126ba 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -12,12 +12,14 @@ if [ "$1" != "failsafe" ]; then mount -o remount,rw /dev/root / fi else - mtd unlock OpenWrt - mount -t jffs2 /dev/mtdblock/4 /jffs - pivot_root /jffs /jffs/rom - mount none /proc -t proc - mount none /dev -t devfs - umount /rom/proc rom/dev >&- + if [ -z "$(nvram get no_root_swap)" ]; then + mtd unlock OpenWrt + mount -t jffs2 /dev/mtdblock/4 /jffs + pivot_root /jffs /jffs/rom + mount none /proc -t proc + mount none /dev -t devfs + umount /rom/proc rom/dev >&- + fi fi fi mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% -- cgit v1.2.3 From f80d4fdc68858ba956a39e19ad6efa868beb827e Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 21 Jul 2005 14:02:53 +0000 Subject: add config file /etc/config/network, add board-specific network.overrides (instead of nvram.overrides) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1519 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 2 ++ package/base-files/default/sbin/ifup | 3 +++ 2 files changed, 5 insertions(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 6b255cc1b..950ee12db 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -1,6 +1,8 @@ #!/bin/ash [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh +. /etc/network.overrides +[ -e /etc/config/network ] && . /etc/config/network type=$1 debug "### ifdown $type ###" if=$(nvram get ${type}_ifname) diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 5dac3f998..6aa998713 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,6 +1,9 @@ #!/bin/ash [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh +. /etc/network.overrides +[ -e /etc/config/network ] && . /etc/config/network + type=$1 debug "### ifup $type ###" -- cgit v1.2.3 From 84e5ae23cefdd6c8c713483fe13fdcdba045de4e Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 25 Aug 2005 11:57:56 +0000 Subject: don't load config files in failsafe mode git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1750 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 2 +- package/base-files/default/sbin/ifup | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 950ee12db..2d4054d8b 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -2,7 +2,7 @@ [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh . /etc/network.overrides -[ -e /etc/config/network ] && . /etc/config/network +[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network type=$1 debug "### ifdown $type ###" if=$(nvram get ${type}_ifname) diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 6aa998713..c46fff65c 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -2,7 +2,7 @@ [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh . /etc/network.overrides -[ -e /etc/config/network ] && . /etc/config/network +[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network type=$1 debug "### ifup $type ###" -- cgit v1.2.3 From d37c5c518e40e35a4b21281c86de7ba2ab1df439 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 27 Aug 2005 15:40:56 +0000 Subject: move hotplug script into an extra package so that it doesn't conflict with nas git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1772 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 6 ------ 1 file changed, 6 deletions(-) delete mode 100755 package/base-files/default/sbin/hotplug (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug deleted file mode 100755 index 74134e848..000000000 --- a/package/base-files/default/sbin/hotplug +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/ash -# $Id$ -[ "${INTERFACE%%[0-9]*}" = "wds" ] && { - ifconfig $INTERFACE 0.0.0.0 up - /usr/sbin/brctl addif br0 $INTERFACE -} -- cgit v1.2.3 From d7a58579b4f59c73a3844c20649d6d7483402e58 Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 30 Aug 2005 22:24:30 +0000 Subject: fix ifup for pppoa git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1803 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifup | 46 +++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index c46fff65c..1f78061a2 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -8,32 +8,34 @@ type=$1 debug "### ifup $type ###" if_proto=$(nvram get ${type}_proto) -if=$(nvram get ${type}_ifname) -[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) +[ "${if_proto}" = "pppoa" ] || { + if=$(nvram get ${type}_ifname) + [ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) -if_valid $if || exit -mac=$(nvram get ${type}_hwaddr) -$DEBUG ifconfig $if down 2>&- + if_valid $if || exit + mac=$(nvram get ${type}_hwaddr) + $DEBUG ifconfig $if down 2>&- -pidfile=/var/run/${if}.pid -[ -f $pidfile ] && $DEBUG kill $(cat $pidfile) + pidfile=/var/run/${if}.pid + [ -f $pidfile ] && $DEBUG kill $(cat $pidfile) -if [ "${if%%[0-9]}" = "br" ]; then - stp=$(nvram get ${type}_stp) - $DEBUG brctl delbr $if 2>&- - $DEBUG brctl addbr $if - $DEBUG brctl setfd $if 0 - $DEBUG brctl stp $if ${stp:-0} + if [ "${if%%[0-9]}" = "br" ]; then + stp=$(nvram get ${type}_stp) + $DEBUG brctl delbr $if 2>&- + $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 - ${mac:+$DEBUG ifconfig $sif down hw ether $mac} - $DEBUG ifconfig $sif 0.0.0.0 up - $DEBUG brctl addif $if $sif - done -else - ${mac:+$DEBUG ifconfig $if down hw ether $mac} -fi + for sif in $(nvram get ${type}_ifnames); do + if_valid $sif || continue + ${mac:+$DEBUG ifconfig $sif down hw ether $mac} + $DEBUG ifconfig $sif 0.0.0.0 up + $DEBUG brctl addif $if $sif + done + else + ${mac:+$DEBUG ifconfig $if down hw ether $mac} + fi +} case "$if_proto" in static) -- cgit v1.2.3 From 6dc988729c78347c590675fe4bfdb9bb408fffc7 Mon Sep 17 00:00:00 2001 From: wbx Date: Sat, 10 Sep 2005 18:28:33 +0000 Subject: add nvram.sh to all startup scripts, no errors on wgt634u git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1892 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 1 + 1 file changed, 1 insertion(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 29c5126ba..ae78ee488 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,4 +1,5 @@ #!/bin/sh +. /etc/nvram.sh if [ "$1" != "failsafe" ]; then mount | grep jffs2 >&- if [ $? = 0 ] ; then -- cgit v1.2.3 From 6f038752364538d052dfc3571242f8e0830b5106 Mon Sep 17 00:00:00 2001 From: wbx Date: Fri, 30 Sep 2005 11:36:37 +0000 Subject: check if some /proc files exist, before using it, for systems without diag kernel modul git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2008 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index ae78ee488..32a6ee548 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -4,7 +4,7 @@ if [ "$1" != "failsafe" ]; then mount | grep jffs2 >&- if [ $? = 0 ] ; then if [ $(cat /proc/mtd | wc -l) = 6 ]; then - echo 5 > /proc/sys/diag + [ -f /proc/sys/diag ] && echo 5 > /proc/sys/diag mtd unlock linux mtd erase OpenWrt jffs2root --move -- cgit v1.2.3 From efbc756b232a92ad8176ed8cc3d37846939c8245 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 17 Oct 2005 21:27:07 +0000 Subject: some fixes/cleanups for the init scripts git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2152 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 32a6ee548..bc8d69c79 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -13,7 +13,7 @@ if [ "$1" != "failsafe" ]; then mount -o remount,rw /dev/root / fi else - if [ -z "$(nvram get no_root_swap)" ]; then + if [ \! -x /usr/sbin/nvram -o -z "$(nvram get no_root_swap)" ]; then mtd unlock OpenWrt mount -t jffs2 /dev/mtdblock/4 /jffs pivot_root /jffs /jffs/rom -- cgit v1.2.3 From 3c8c1d5d8129266fead520436949c40d62813d1f Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 22 Oct 2005 19:54:33 +0000 Subject: add base-files change from whiterussian git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2257 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index bc8d69c79..c8edaaa2f 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,10 +1,15 @@ #!/bin/sh . /etc/nvram.sh +is_clean() { + OFFSET="$((0x$(dd if=/dev/mtdblock/1 bs=1 skip=$((0x14)) count=2 2>&- | hexdump | grep 0000000 | cut -d ' ' -f 2) - 1))" + dd if=/dev/mtdblock/1 bs=1 skip=$OFFSET count=1 2>&- | hexdump -v | grep ' 0000' > /dev/null && return 255 || return 0 +} + if [ "$1" != "failsafe" ]; then mount | grep jffs2 >&- if [ $? = 0 ] ; then if [ $(cat /proc/mtd | wc -l) = 6 ]; then - [ -f /proc/sys/diag ] && echo 5 > /proc/sys/diag + echo 5 > /proc/sys/diag mtd unlock linux mtd erase OpenWrt jffs2root --move @@ -13,7 +18,11 @@ if [ "$1" != "failsafe" ]; then mount -o remount,rw /dev/root / fi else - if [ \! -x /usr/sbin/nvram -o -z "$(nvram get no_root_swap)" ]; then + if [ -z "$(nvram get no_root_swap)" ]; then + is_clean || { + mtd erase OpenWrt + jffs2root --clean + } mtd unlock OpenWrt mount -t jffs2 /dev/mtdblock/4 /jffs pivot_root /jffs /jffs/rom -- cgit v1.2.3 From 15713b2da9a57d19a4b04af0dd77362c92979966 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 22 Oct 2005 20:47:19 +0000 Subject: sync base-files with whiterussian git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2260 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 6 ++- package/base-files/default/sbin/ifup | 82 +++++++++++----------------------- 2 files changed, 30 insertions(+), 58 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 2d4054d8b..147136949 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -6,6 +6,8 @@ type=$1 debug "### ifdown $type ###" if=$(nvram get ${type}_ifname) -if_valid $if || exit -$DEBUG ifconfig $if down +proto=$(nvram get ${type}_proto) +if_valid $if && $DEBUG ifconfig $if down kill $(cat /var/run/${if}.pid 2>&-) 2>&- +[ "$if" = "ppp0" ] && killall pppd +killall ifup.$proto >&- 2>&- diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 1f78061a2..be7075bf1 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,5 +1,6 @@ #!/bin/ash [ $# = 0 ] && { echo " $0 "; exit; } + . /etc/functions.sh . /etc/network.overrides [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network @@ -8,59 +9,28 @@ type=$1 debug "### ifup $type ###" if_proto=$(nvram get ${type}_proto) -[ "${if_proto}" = "pppoa" ] || { - if=$(nvram get ${type}_ifname) - [ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) - - if_valid $if || exit - mac=$(nvram get ${type}_hwaddr) - $DEBUG ifconfig $if down 2>&- - - pidfile=/var/run/${if}.pid - [ -f $pidfile ] && $DEBUG kill $(cat $pidfile) - - if [ "${if%%[0-9]}" = "br" ]; then - stp=$(nvram get ${type}_stp) - $DEBUG brctl delbr $if 2>&- - $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 - ${mac:+$DEBUG ifconfig $sif down hw ether $mac} - $DEBUG ifconfig $sif 0.0.0.0 up - $DEBUG brctl addif $if $sif - done - else - ${mac:+$DEBUG ifconfig $if down hw ether $mac} - fi -} - -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) - ip=$(nvram get ${type}_ipaddr) - ${DEBUG:-eval} "udhcpc -R -i $if ${ip:+-r $ip} -b -p $pidfile &" - ;; - none|"") - ;; - *) - [ -x "/sbin/ifup.${if_proto}" ] && { $DEBUG /sbin/ifup.${if_proto} $*; exit; } - echo "### ifup $type: ignored ${type}_proto=\"$if_proto\" (not supported)" - ;; -esac +if=$(nvram get ${type}_ifname) +[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) + +if_valid $if || [ "$if_proto" = "pptp" ] || exit +mac=$(nvram get ${type}_hwaddr) +$DEBUG ifconfig $if down 2>&- + +if [ "${if%%[0-9]}" = "br" ]; then + stp=$(nvram get ${type}_stp) + $DEBUG brctl delbr $if 2>&- + $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 + ${mac:+$DEBUG ifconfig $sif down hw ether $mac} + $DEBUG ifconfig $sif 0.0.0.0 up + $DEBUG brctl addif $if $sif + done +else + ${mac:+$DEBUG ifconfig $if down hw ether $mac} +fi + +do_ifup $if_proto $type -- cgit v1.2.3 From 0bb68e81eca839c8eed0c629b403ac558ea662e6 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 7 Nov 2005 01:12:51 +0000 Subject: add hotplug stuff to trunk/ git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2364 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 11 +++++++++++ package/base-files/default/sbin/ifdown | 12 +++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 package/base-files/default/sbin/hotplug (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug new file mode 100755 index 000000000..57ee969cf --- /dev/null +++ b/package/base-files/default/sbin/hotplug @@ -0,0 +1,11 @@ +#!/bin/sh +PATH=/bin:/sbin:/usr/bin:/usr/sbin +LOGNAME=root +USER=root +export PATH LOGNAME USER + +[ \! -z "$1" -a -d /etc/hotplug.d/$1 ] && { + for script in $(ls /etc/hotplug.d/$1/* 2>&-); do ( + [ -f $script ] && . $script + ); done +} diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 147136949..f2f8bbfe8 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -1,13 +1,19 @@ -#!/bin/ash +#!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/network.overrides +. /etc/network.overrides [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network + type=$1 debug "### ifdown $type ###" + if=$(nvram get ${type}_ifname) proto=$(nvram get ${type}_proto) if_valid $if && $DEBUG ifconfig $if down kill $(cat /var/run/${if}.pid 2>&-) 2>&- -[ "$if" = "ppp0" ] && killall pppd killall ifup.$proto >&- 2>&- +case "$proto" in + pptp|pppoe) killall pppd >&- 2>&- ;; + static) env -i ACTION="ifdown" INTERFACE="$if" PROTO=static /sbin/hotplug "iface" ;; +esac + -- cgit v1.2.3 From 170b2b423d7d0430c0e181fbb66ff3d9ea4aac59 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 7 Nov 2005 01:30:03 +0000 Subject: disable squashfs auto-clean for non-broadcom stuff git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2365 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 1 + 1 file changed, 1 insertion(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index c8edaaa2f..c393e06f3 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,6 +1,7 @@ #!/bin/sh . /etc/nvram.sh is_clean() { + grep Broadcom /proc/cpuinfo 2>&- >&- || return 0 OFFSET="$((0x$(dd if=/dev/mtdblock/1 bs=1 skip=$((0x14)) count=2 2>&- | hexdump | grep 0000000 | cut -d ' ' -f 2) - 1))" dd if=/dev/mtdblock/1 bs=1 skip=$OFFSET count=1 2>&- | hexdump -v | grep ' 0000' > /dev/null && return 255 || return 0 } -- cgit v1.2.3 From 46262e555dd82ac7df3a3e7e617c726cb511902f Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 7 Nov 2005 02:18:59 +0000 Subject: include functions and network config in hotplug git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2370 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index 57ee969cf..4e009593a 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -1,4 +1,8 @@ #!/bin/sh +. /etc/functions.sh +. /etc/network.overrides +[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network + PATH=/bin:/sbin:/usr/bin:/usr/sbin LOGNAME=root USER=root -- cgit v1.2.3 From d264f56c9dc70cfcb2db9fc064a10933decfb071 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 7 Nov 2005 02:20:43 +0000 Subject: remove backup/restore for now. will add proper scripts with webif integration later... git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2371 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/backup | 32 --------------- package/base-files/default/sbin/restore | 71 --------------------------------- 2 files changed, 103 deletions(-) delete mode 100755 package/base-files/default/sbin/backup delete mode 100755 package/base-files/default/sbin/restore (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/backup b/package/base-files/default/sbin/backup deleted file mode 100755 index 33bad5350..000000000 --- a/package/base-files/default/sbin/backup +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -for param in $*; do - case "$param" in - *) - OUTPUT_FILE="$param" - ;; - esac -done - -if [ "$OUTPUT_FILE" = "-" ]; then - echo "Writing backup to stdout.." >&2 -elif [ "$OUTPUT_FILE" = "" ]; then - echo "No output file." - exit 1 -else - echo "Writing backup to $OUTPUT_FILE" >&2 - exec > "$OUTPUT_FILE" -fi - -echo __FILELIST__ -find /etc -type f > /tmp/.wlbackup_files -cat /tmp/.wlbackup_files - -echo __IPKG__ -cat /etc/ipkg.conf - -echo __PACKAGES__ -grep '^Package:' /usr/lib/ipkg/status | cut -d' ' -f2 - -echo __FILES__ -tar -T /tmp/.wlbackup_files -cz 2>/dev/null -rm -f /tmp/.wlbackup_files diff --git a/package/base-files/default/sbin/restore b/package/base-files/default/sbin/restore deleted file mode 100755 index 6b5876cc1..000000000 --- a/package/base-files/default/sbin/restore +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -for param in $*; do - case "$param" in - *) - INPUT_FILE="$param" - esac -done - -if [ "$INPUT_FILE" = "-" ]; then - echo "Reading backup from stdin..." >&2 -elif [ "$INPUT_FILE" = "" ]; then - echo "No input file." -else - echo "Reading backup from $INPUT_FILE" >&2 - exec < "$INPUT_FILE" -fi - -process_line () { - case "$SECTION" in - ipkg) - echo "$line" >> /etc/ipkg.conf - ;; - nvram) - echo nvram set "$line" - ;; - package) - if grep "^Package: $line" /usr/lib/ipkg/status 2>&1 > /dev/null; then - echo Package "$line" already installed. - else - ipkg install "$line" - fi - ;; - file) - rm -f "$line" - ;; - esac -} - -while true; do - read line - case "$line" in - __IPKG__) - SECTION=ipkg - echo "Restoring /etc/ipkg.conf" - rm -f /etc/ipkg.conf - ;; - __NVRAM__) - SECTION=nvram - echo "Restoring nvram" - ;; - __PACKAGES__) - SECTION=package - echo "Restoring packages" - ipkg update - ;; - __FILELIST__) - SECTION=file - echo "Deleting old files" - ;; - __FILES__) - echo "Restoring /etc" - tar -C / -xvz - echo "Restore complete." - exit 0 - ;; - *) - process_line; - ;; - esac -done - -- cgit v1.2.3 From 2af90479fbd25ca63d9697200d43ea614d657184 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 19 Nov 2005 03:17:20 +0000 Subject: hotplug-based network script rewrite git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2531 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 6 +++++- package/base-files/default/sbin/ifdown | 28 +++++++++++++++++--------- package/base-files/default/sbin/ifup | 35 ++++++++++++++------------------- 3 files changed, 39 insertions(+), 30 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index 4e009593a..e53b2afcc 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -1,7 +1,11 @@ #!/bin/sh +[ -e /tmp/.failsafe ] && { + export FAILSAFE=true +} || { + [ -e /etc/config/network ] && . /etc/config/network +} . /etc/functions.sh . /etc/network.overrides -[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network PATH=/bin:/sbin:/usr/bin:/usr/sbin LOGNAME=root diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index f2f8bbfe8..3ebc251f7 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -1,19 +1,29 @@ #!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/network.overrides +. /etc/network.overrides [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network -type=$1 debug "### ifdown $type ###" +type=$1 +if_proto=$(nvram get ${type}_proto) if=$(nvram get ${type}_ifname) -proto=$(nvram get ${type}_proto) -if_valid $if && $DEBUG ifconfig $if down -kill $(cat /var/run/${if}.pid 2>&-) 2>&- -killall ifup.$proto >&- 2>&- -case "$proto" in - pptp|pppoe) killall pppd >&- 2>&- ;; - static) env -i ACTION="ifdown" INTERFACE="$if" PROTO=static /sbin/hotplug "iface" ;; + +case "$if_proto" in + pppoa) hotplug_dev unregister atm0; exit 0 ;; + pppoe) + [ "$(nvram get pppoe_atm)" = 1 ] && { + hotplug_dev unregister atm0 + exit + } + ;; esac +if [ "${if%%[0-9]}" = "br" ]; then + for sif in $(nvram get ${type}_ifnames); do + hotplug_dev unregister "$sif" + done +fi + +hotplug_dev unregister "$if" diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index be7075bf1..0d75cefeb 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,36 +1,31 @@ -#!/bin/ash +#!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } - . /etc/functions.sh . /etc/network.overrides [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network -type=$1 +ifdown $1 + debug "### ifup $type ###" +type=$1 if_proto=$(nvram get ${type}_proto) if=$(nvram get ${type}_ifname) -[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) -if_valid $if || [ "$if_proto" = "pptp" ] || exit -mac=$(nvram get ${type}_hwaddr) -$DEBUG ifconfig $if down 2>&- +case "$if_proto" in + pppoa) hotplug_dev register atm0; exit 0 ;; + pppoe) + [ "$(nvram get pppoe_atm)" = 1 ] && { + hotplug_dev register atm0 + exit + } + ;; +esac if [ "${if%%[0-9]}" = "br" ]; then - stp=$(nvram get ${type}_stp) - $DEBUG brctl delbr $if 2>&- - $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 - ${mac:+$DEBUG ifconfig $sif down hw ether $mac} - $DEBUG ifconfig $sif 0.0.0.0 up - $DEBUG brctl addif $if $sif + hotplug_dev register "$sif" done else - ${mac:+$DEBUG ifconfig $if down hw ether $mac} + hotplug_dev register "$if" fi - -do_ifup $if_proto $type -- cgit v1.2.3 From 76dec73b0b803f861192efe08b95f2cf331a96e2 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 19 Nov 2005 14:53:21 +0000 Subject: fix ifup/down for ppp-based stuff git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2536 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 7 +------ package/base-files/default/sbin/ifup | 7 ++++--- 2 files changed, 5 insertions(+), 9 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 3ebc251f7..8818d4614 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -12,12 +12,7 @@ if=$(nvram get ${type}_ifname) case "$if_proto" in pppoa) hotplug_dev unregister atm0; exit 0 ;; - pppoe) - [ "$(nvram get pppoe_atm)" = 1 ] && { - hotplug_dev unregister atm0 - exit - } - ;; + ""|none) exit 0;; esac if [ "${if%%[0-9]}" = "br" ]; then diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 0d75cefeb..0a2cdf533 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -14,12 +14,13 @@ if=$(nvram get ${type}_ifname) case "$if_proto" in pppoa) hotplug_dev register atm0; exit 0 ;; - pppoe) - [ "$(nvram get pppoe_atm)" = 1 ] && { + pppoe) + ifconfig nas0 2>&- >&- || { hotplug_dev register atm0 - exit + exit 0 } ;; + none|"") exit 0;; esac if [ "${if%%[0-9]}" = "br" ]; then -- cgit v1.2.3 From 777e76abb47dd74816ea063c471359b0db3aa2e7 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 19 Nov 2005 19:04:15 +0000 Subject: more fixes for the network scripts git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2537 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 2 ++ package/base-files/default/sbin/ifup | 2 ++ 2 files changed, 4 insertions(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 8818d4614..85bb2fbc5 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -15,6 +15,8 @@ case "$if_proto" in ""|none) exit 0;; esac +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" + if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do hotplug_dev unregister "$sif" diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 0a2cdf533..67e01a3e9 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -23,6 +23,8 @@ case "$if_proto" in none|"") exit 0;; esac +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" + if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do hotplug_dev register "$sif" -- cgit v1.2.3 From e5b50a025f2fbc9b038e8600541551c1decba998 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 11 Dec 2005 21:34:46 +0000 Subject: unlock linux partition before running jffs2root --clean. fixes #97 git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2615 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 1 + 1 file changed, 1 insertion(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index c393e06f3..e855b41a1 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -22,6 +22,7 @@ if [ "$1" != "failsafe" ]; then if [ -z "$(nvram get no_root_swap)" ]; then is_clean || { mtd erase OpenWrt + mtd unlock linux jffs2root --clean } mtd unlock OpenWrt -- cgit v1.2.3 From 7fc38a64521a547dd38be93bf5c792fd6beb914f Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 5 Jan 2006 01:20:44 +0000 Subject: add firmware loading support to hotplug git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2834 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index e53b2afcc..3500f7520 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -1,4 +1,13 @@ #!/bin/sh +[ "$1" = "firmware" -a "$ACTION" = "add" ] && { + [ -f "/lib/firmware/$FIRMWARE" ] && { + echo 1 > "/sys$DEVPATH/loading" + cp "/lib/firmware/$FIRMWARE" "/sys$DEVPATH/data" + echo 0 > "/sys$DEVPATH/loading" + } + exit 0 +} + [ -e /tmp/.failsafe ] && { export FAILSAFE=true } || { -- cgit v1.2.3 From 23e86550c9c59436cc5f253292774861dd6ca62e Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 16 Jan 2006 03:14:59 +0000 Subject: port wan_device changes from whiterussian to kamikaze git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2993 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 2 +- package/base-files/default/sbin/ifup | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 85bb2fbc5..d0120dcbe 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -15,7 +15,7 @@ case "$if_proto" in ""|none) exit 0;; esac -[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 67e01a3e9..8ae641668 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -23,7 +23,7 @@ case "$if_proto" in none|"") exit 0;; esac -[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do -- cgit v1.2.3 From f4eb6ef7174d320541f2d601f4b8938f875eefad Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 22 Jan 2006 23:38:29 +0000 Subject: fix typo git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3038 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index e855b41a1..bd9b815e1 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -30,7 +30,7 @@ if [ "$1" != "failsafe" ]; then pivot_root /jffs /jffs/rom mount none /proc -t proc mount none /dev -t devfs - umount /rom/proc rom/dev >&- + umount /rom/proc /rom/dev >&- fi fi fi -- cgit v1.2.3 From 46225926c8c36b914ad7423bb7e6f36a42b92298 Mon Sep 17 00:00:00 2001 From: mbm Date: Wed, 1 Feb 2006 10:47:17 +0000 Subject: move sysfs to mount_root git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3107 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 1 + 1 file changed, 1 insertion(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index bd9b815e1..427ff0444 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -37,3 +37,4 @@ fi mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% mkdir -p /dev/pts mount none /dev/pts -t devpts +grep sysfs /proc/filesystems >&- && mount -t sysfs none /sys -- cgit v1.2.3 From 82daa5e9c007b2a16aa9e8c5526fd8d034ee4541 Mon Sep 17 00:00:00 2001 From: mbm Date: Wed, 1 Feb 2006 23:53:19 +0000 Subject: change cp to $(CP) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3112 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 427ff0444..693c694c1 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -30,7 +30,7 @@ if [ "$1" != "failsafe" ]; then pivot_root /jffs /jffs/rom mount none /proc -t proc mount none /dev -t devfs - umount /rom/proc /rom/dev >&- + umount /rom/proc rom/dev >&- fi fi fi -- cgit v1.2.3 From cad490a0db13c37f43e753db9c2228eac2cfe98f Mon Sep 17 00:00:00 2001 From: mbm Date: Thu, 2 Feb 2006 10:07:28 +0000 Subject: fixes files from [3112] git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3114 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 693c694c1..427ff0444 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -30,7 +30,7 @@ if [ "$1" != "failsafe" ]; then pivot_root /jffs /jffs/rom mount none /proc -t proc mount none /dev -t devfs - umount /rom/proc rom/dev >&- + umount /rom/proc /rom/dev >&- fi fi fi -- cgit v1.2.3 From 676c017ecfced2e37aeec176f8aa6b9df90024f3 Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 5 Apr 2006 02:09:22 +0000 Subject: large init script cleanup and merge of whiterussian changes, new dnsmasq config handling git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3588 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/halt | 3 --- package/base-files/default/sbin/hotplug | 10 +++----- package/base-files/default/sbin/ifdown | 16 +++--------- package/base-files/default/sbin/ifup | 22 ++++++++-------- package/base-files/default/sbin/mount_root | 40 +++++++++++++----------------- 5 files changed, 37 insertions(+), 54 deletions(-) delete mode 100755 package/base-files/default/sbin/halt (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/halt b/package/base-files/default/sbin/halt deleted file mode 100755 index 39eed2612..000000000 --- a/package/base-files/default/sbin/halt +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -/usr/bin/killall5 -9 -#umount -ar diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index 3500f7520..106299343 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -1,4 +1,7 @@ #!/bin/sh + +# bypass the normal hotplug path for firmware loading +# would otherwise cause problems with drivers like bcm43xx [ "$1" = "firmware" -a "$ACTION" = "add" ] && { [ -f "/lib/firmware/$FIRMWARE" ] && { echo 1 > "/sys$DEVPATH/loading" @@ -8,13 +11,8 @@ exit 0 } -[ -e /tmp/.failsafe ] && { - export FAILSAFE=true -} || { - [ -e /etc/config/network ] && . /etc/config/network -} . /etc/functions.sh -. /etc/network.overrides +. /etc/config/network PATH=/bin:/sbin:/usr/bin:/usr/sbin LOGNAME=root diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index d0120dcbe..0d85ca8ea 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -1,26 +1,18 @@ #!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/network.overrides -[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network +. /etc/config/network debug "### ifdown $type ###" type=$1 -if_proto=$(nvram get ${type}_proto) -if=$(nvram get ${type}_ifname) +eval "if_proto=\"\${${type}_proto}\"" +eval "if=\"\${${type}_ifname}\"" +[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" case "$if_proto" in pppoa) hotplug_dev unregister atm0; exit 0 ;; ""|none) exit 0;; esac -[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" - -if [ "${if%%[0-9]}" = "br" ]; then - for sif in $(nvram get ${type}_ifnames); do - hotplug_dev unregister "$sif" - done -fi - hotplug_dev unregister "$if" diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 8ae641668..a86a7671e 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,32 +1,34 @@ #!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/network.overrides -[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network +. /etc/config/network ifdown $1 debug "### ifup $type ###" type=$1 -if_proto=$(nvram get ${type}_proto) -if=$(nvram get ${type}_ifname) +eval "if_proto=\"\${${type}_proto}\"" +eval "if=\"\${${type}_ifname}\"" +[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" case "$if_proto" in pppoa) hotplug_dev register atm0; exit 0 ;; pppoe) - ifconfig nas0 2>&- >&- || { - hotplug_dev register atm0 - exit 0 + # PPPoE over ATM + [ "$if" = "nas0" ] && { + ifconfig nas0 2>&- >&- || { + hotplug_dev register atm0 + exit 0 + } } ;; none|"") exit 0;; esac -[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" - if [ "${if%%[0-9]}" = "br" ]; then - for sif in $(nvram get ${type}_ifnames); do + eval "ifnames=\"\${${type}_ifnames}\"" + for sif in $ifnames; do hotplug_dev register "$sif" done else diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 427ff0444..38252e83f 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,40 +1,34 @@ #!/bin/sh -. /etc/nvram.sh -is_clean() { - grep Broadcom /proc/cpuinfo 2>&- >&- || return 0 - OFFSET="$((0x$(dd if=/dev/mtdblock/1 bs=1 skip=$((0x14)) count=2 2>&- | hexdump | grep 0000000 | cut -d ' ' -f 2) - 1))" - dd if=/dev/mtdblock/1 bs=1 skip=$OFFSET count=1 2>&- | hexdump -v | grep ' 0000' > /dev/null && return 255 || return 0 +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"') } +size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)&- if [ $? = 0 ] ; then if [ $(cat /proc/mtd | wc -l) = 6 ]; then - echo 5 > /proc/sys/diag - mtd unlock linux mtd erase OpenWrt jffs2root --move else - mtd unlock rootfs mount -o remount,rw /dev/root / fi else - if [ -z "$(nvram get no_root_swap)" ]; then - is_clean || { - mtd erase OpenWrt - mtd unlock linux - jffs2root --clean - } - mtd unlock OpenWrt - mount -t jffs2 /dev/mtdblock/4 /jffs - pivot_root /jffs /jffs/rom - mount none /proc -t proc - mount none /dev -t devfs - umount /rom/proc /rom/dev >&- - fi + . /bin/firstboot + is_dirty + [ $? != 0 ] && { + mount /dev/mtdblock/4 /jffs + pivot /jffs /rom + } || ramoverlay fi fi -mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% + +mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 mkdir -p /dev/pts mount none /dev/pts -t devpts -grep sysfs /proc/filesystems >&- && mount -t sysfs none /sys +mount -t sysfs none /sys 2>&- -- cgit v1.2.3 From 89ca788b2d7c218c98dd112c567e4bf2d92c4864 Mon Sep 17 00:00:00 2001 From: mbm Date: Sat, 8 Apr 2006 21:11:49 +0000 Subject: fix a bug that prevents the wgt634u from initializing the filesystem properly git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3601 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 38252e83f..88a836c80 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -22,9 +22,13 @@ if [ "$1" != "failsafe" ]; then . /bin/firstboot is_dirty [ $? != 0 ] && { - mount /dev/mtdblock/4 /jffs + echo "switching to jffs2" + mount /dev/mtdblock/4 /jffs -t jffs2 pivot /jffs /rom - } || ramoverlay + } || { + echo "jffs2 unusable; using ramdisk" + ramoverlay + } fi fi -- cgit v1.2.3 From 7885524586983ec44edf08324cfc7c63574b5388 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 15 Jun 2006 17:21:17 +0000 Subject: clean up handling of the root filesystem mount - remove broadcom specific junk from the generic base-files part git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3951 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 36 +++--------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 88a836c80..6c8805c08 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,38 +1,8 @@ #!/bin/sh -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"') -} - size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)&- - if [ $? = 0 ] ; then - if [ $(cat /proc/mtd | wc -l) = 6 ]; then - mtd erase OpenWrt - jffs2root --move - else - mount -o remount,rw /dev/root / - fi - else - . /bin/firstboot - is_dirty - [ $? != 0 ] && { - 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 +mount none /proc -t proc +mount none /tmp -t tmpfs -o size=$size,nosuid,nodev,mode=1777 mkdir -p /dev/pts mount none /dev/pts -t devpts mount -t sysfs none /sys 2>&- +mount -o remount,rw /dev/root / -- cgit v1.2.3 From 293ad9c61ec69dab1eafa98b2c35c62fc15ccefc Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 20 Jun 2006 15:40:14 +0000 Subject: mount /proc earlier in /sbin/mount_root git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4022 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/mount_root | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 6c8805c08..647c25327 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,6 +1,6 @@ #!/bin/sh -size=$(awk '/Mem:/ {l=5242880;print((s=$2/2) Date: Sun, 25 Jun 2006 15:42:53 +0000 Subject: add a simple /sbin/wifi script with support for the new broadcom driver (incomplete, but works) git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4072 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/wifi | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 package/base-files/default/sbin/wifi (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/wifi b/package/base-files/default/sbin/wifi new file mode 100755 index 000000000..c983fe0df --- /dev/null +++ b/package/base-files/default/sbin/wifi @@ -0,0 +1,47 @@ +#!/bin/sh +. /etc/functions.sh + +config_get_bool() { + local _tmp + config_get "$1" "$2" "$3" + eval "_tmp=\$$1" + case "$_tmp" in + 1|on|enabled) eval "$1=1";; + 0|off|disabled) eval "$1=0";; + *) eval "$1=${4:-0}";; + esac +} + +config_cb() { + config_get TYPE "$CONFIG_SECTION" TYPE + case "$TYPE" in + wifi-device) + append DEVICES "$CONFIG_SECTION" + ;; + wifi-iface) + config_get device "$CONFIG_SECTION" device + config_get vifs "$device" vifs + append vifs "$CONFIG_SECTION" + config_set "$device" vifs "$vifs" + ;; + esac +} + +config_load wireless + +[ -d /lib/wifi -a -n "$(ls /lib/wifi/*.sh 2>&-)" ] && { + for script in /lib/wifi/*.sh; do + . $script + done +} + +for device in $DEVICES; do ( + config_get type "$device" type + eval "type setup_$type 2>&- >&-" && { + eval "scan_$type '$device'" + eval "setup_$type '$device'" && { + # TODO: set up network settings + /bin/true + } || echo "$device($type): Setup failed" || true + } || echo "$device($type): Interface type not supported" +); done -- cgit v1.2.3 From 8b9fd7eb0ba62d9f172879b77be36a37f640f17c Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 25 Jun 2006 16:24:45 +0000 Subject: work around a busybox bug git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4075 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/wifi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/wifi b/package/base-files/default/sbin/wifi index c983fe0df..b8b995bab 100755 --- a/package/base-files/default/sbin/wifi +++ b/package/base-files/default/sbin/wifi @@ -37,7 +37,7 @@ config_load wireless for device in $DEVICES; do ( config_get type "$device" type - eval "type setup_$type 2>&- >&-" && { + eval "type setup_$type" 2>/dev/null >/dev/null && { eval "scan_$type '$device'" eval "setup_$type '$device'" && { # TODO: set up network settings -- cgit v1.2.3 From ed5ef674d100ca0ffa8bc00160718f69af5515c3 Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 27 Jun 2006 00:36:13 +0000 Subject: add copyright headers to base-files scripts and config files git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4090 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 1 + package/base-files/default/sbin/ifdown | 2 ++ package/base-files/default/sbin/ifup | 2 ++ package/base-files/default/sbin/mount_root | 2 ++ package/base-files/default/sbin/wifi | 2 ++ 5 files changed, 9 insertions(+) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index 106299343..afe52a446 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -1,4 +1,5 @@ #!/bin/sh +# Copyright (C) 2006 OpenWrt.org # bypass the normal hotplug path for firmware loading # would otherwise cause problems with drivers like bcm43xx diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 0d85ca8ea..50ffee530 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -1,4 +1,6 @@ #!/bin/sh +# Copyright (C) 2006 OpenWrt.org + [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh . /etc/config/network diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index a86a7671e..390f96039 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,4 +1,6 @@ #!/bin/sh +# Copyright (C) 2006 OpenWrt.org + [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh . /etc/config/network diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index 647c25327..81660f006 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,4 +1,6 @@ #!/bin/sh +# Copyright (C) 2006 OpenWrt.org + mount none /proc -t proc size=$(awk '/Mem:/ {l=5242880;print((s=$2/2) Date: Sun, 30 Jul 2006 03:09:09 +0000 Subject: rewrite of the network scripts and configuration git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4323 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/hotplug | 1 - package/base-files/default/sbin/ifdown | 32 ++++++++++++++++++------- package/base-files/default/sbin/ifup | 42 +++++++++------------------------ package/base-files/default/sbin/wifi | 7 +----- 4 files changed, 35 insertions(+), 47 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/hotplug b/package/base-files/default/sbin/hotplug index afe52a446..b1b6f97b2 100755 --- a/package/base-files/default/sbin/hotplug +++ b/package/base-files/default/sbin/hotplug @@ -13,7 +13,6 @@ } . /etc/functions.sh -. /etc/config/network PATH=/bin:/sbin:/usr/bin:/usr/sbin LOGNAME=root diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 50ffee530..7debb9559 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -3,18 +3,32 @@ [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/config/network +include network +scan_interfaces debug "### ifdown $type ###" type=$1 -eval "if_proto=\"\${${type}_proto}\"" -eval "if=\"\${${type}_ifname}\"" -[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" +config_get proto "$type" proto +[ -z "$proto" ] && { echo "interface not found."; exit; } -case "$if_proto" in - pppoa) hotplug_dev unregister atm0; exit 0 ;; - ""|none) exit 0;; -esac +# kill active ppp daemon +pid="$(cat /var/run/ppp-${type}.pid 2>/dev/null)" +[ -n "$pid" -a -d "/proc/$pid" ] && { + kill $pid + sleep 1 + [ -d "/proc/$pid" ] && kill -9 $pid +} -hotplug_dev unregister "$if" +# kill any other process associated with the interface +config_get ifname "$type" ifname +pid="$(cat /var/run/${ifname}.pid 2>/dev/null)" +[ -n "$pid" -a -d "/proc/$pid" ] && kill -9 $pid + +config_get ifname "$type" ifname +ifconfig "$ifname" >/dev/null 2>/dev/null && { + ifconfig "$ifname" 0.0.0.0 down + + config_get iftype "$type" type + [ "$iftype" = "bridge" ] && brctl delbr "$ifname" +} diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 390f96039..c40de38ad 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -1,38 +1,18 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org -[ $# = 0 ] && { echo " $0 "; exit; } -. /etc/functions.sh -. /etc/config/network +. /sbin/ifdown "$@" -ifdown $1 - -debug "### ifup $type ###" -type=$1 - -eval "if_proto=\"\${${type}_proto}\"" -eval "if=\"\${${type}_ifname}\"" -[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" - -case "$if_proto" in - pppoa) hotplug_dev register atm0; exit 0 ;; - pppoe) - # PPPoE over ATM - [ "$if" = "nas0" ] && { - ifconfig nas0 2>&- >&- || { - hotplug_dev register atm0 - exit 0 - } - } +config_get iftype "$1" type +case "$iftype" in + bridge) + config_get ifname "$1" ifnames + ;; + *) + config_get ifname "$1" ifname ;; - none|"") exit 0;; esac -if [ "${if%%[0-9]}" = "br" ]; then - eval "ifnames=\"\${${type}_ifnames}\"" - for sif in $ifnames; do - hotplug_dev register "$sif" - done -else - hotplug_dev register "$if" -fi +for dev in $ifname; do + setup_interface "$dev" "$1" +done diff --git a/package/base-files/default/sbin/wifi b/package/base-files/default/sbin/wifi index 63b2f121b..f1ac94fa3 100755 --- a/package/base-files/default/sbin/wifi +++ b/package/base-files/default/sbin/wifi @@ -30,12 +30,7 @@ config_cb() { } config_load wireless - -[ -d /lib/wifi -a -n "$(ls /lib/wifi/*.sh 2>&-)" ] && { - for script in /lib/wifi/*.sh; do - . $script - done -} +include wifi for device in $DEVICES; do ( config_get type "$device" type -- cgit v1.2.3 From fd40fb97f848901b4d3c197d0e83e95b01312f9a Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 30 Jul 2006 13:21:18 +0000 Subject: fix more instances of '' abuse git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4326 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 14 +++++++------- package/base-files/default/sbin/wifi | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 7debb9559..1334ee821 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -6,14 +6,14 @@ include network scan_interfaces -debug "### ifdown $type ###" -type=$1 +cfg=$1 +debug "### ifdown $cfg ###" -config_get proto "$type" proto +config_get proto "$cfg" proto [ -z "$proto" ] && { echo "interface not found."; exit; } # kill active ppp daemon -pid="$(cat /var/run/ppp-${type}.pid 2>/dev/null)" +pid="$(cat /var/run/ppp-${cfg}.pid 2>/dev/null)" [ -n "$pid" -a -d "/proc/$pid" ] && { kill $pid sleep 1 @@ -21,14 +21,14 @@ pid="$(cat /var/run/ppp-${type}.pid 2>/dev/null)" } # kill any other process associated with the interface -config_get ifname "$type" ifname +config_get ifname "$cfg" ifname pid="$(cat /var/run/${ifname}.pid 2>/dev/null)" [ -n "$pid" -a -d "/proc/$pid" ] && kill -9 $pid -config_get ifname "$type" ifname +config_get ifname "$cfg" ifname ifconfig "$ifname" >/dev/null 2>/dev/null && { ifconfig "$ifname" 0.0.0.0 down - config_get iftype "$type" type + config_get iftype "$cfg" type [ "$iftype" = "bridge" ] && brctl delbr "$ifname" } diff --git a/package/base-files/default/sbin/wifi b/package/base-files/default/sbin/wifi index f1ac94fa3..b228eed8a 100755 --- a/package/base-files/default/sbin/wifi +++ b/package/base-files/default/sbin/wifi @@ -33,12 +33,12 @@ config_load wireless include wifi for device in $DEVICES; do ( - config_get type "$device" type - eval "type setup_$type" 2>/dev/null >/dev/null && { - eval "scan_$type '$device'" - eval "setup_$type '$device'" && { + config_get iftype "$device" type + eval "type setup_$iftype" 2>/dev/null >/dev/null && { + eval "scan_$iftype '$device'" + eval "setup_$iftype '$device'" && { # TODO: set up network settings /bin/true - } || echo "$device($type): Setup failed" || true - } || echo "$device($type): Interface type not supported" + } || echo "$device($iftype): Setup failed" || true + } || echo "$device($iftype): Interface type not supported" ); done -- cgit v1.2.3 From 4092003baf587af80df1b9c6f9dbc49a9dd23483 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 24 Aug 2006 12:20:02 +0000 Subject: fix remaining *_ifnames references git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4650 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifup | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index c40de38ad..86d10d7ca 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -4,14 +4,7 @@ . /sbin/ifdown "$@" config_get iftype "$1" type -case "$iftype" in - bridge) - config_get ifname "$1" ifnames - ;; - *) - config_get ifname "$1" ifname - ;; -esac +config_get ifname "$1" ifname for dev in $ifname; do setup_interface "$dev" "$1" -- cgit v1.2.3 From 00394c57717f28bb3b9860020729cd73036a8cf8 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 24 Aug 2006 13:46:47 +0000 Subject: revert to using *_ifnames internally, too many problems with firewall, ppp, etc. otherwise git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4653 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifup | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 86d10d7ca..c7055d480 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -4,7 +4,10 @@ . /sbin/ifdown "$@" config_get iftype "$1" type -config_get ifname "$1" ifname +case "$iftype" in + bridge) config_get ifname "$1" ifnames;; + *) config_get ifname "$1" ifname;; +esac for dev in $ifname; do setup_interface "$dev" "$1" -- cgit v1.2.3 From 139dfb16c8d408dce549701a7b3e57f5f06d5257 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 24 Sep 2006 13:32:18 +0000 Subject: use absolute paths in include() shell function git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4852 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/default/sbin/ifdown | 2 +- package/base-files/default/sbin/wifi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/default/sbin') diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 1334ee821..073e80d2d 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -3,7 +3,7 @@ [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -include network +include /lib/network scan_interfaces cfg=$1 diff --git a/package/base-files/default/sbin/wifi b/package/base-files/default/sbin/wifi index b228eed8a..4a3ec8cfe 100755 --- a/package/base-files/default/sbin/wifi +++ b/package/base-files/default/sbin/wifi @@ -30,7 +30,7 @@ config_cb() { } config_load wireless -include wifi +include /lib/wifi for device in $DEVICES; do ( config_get iftype "$device" type -- cgit v1.2.3