From b7a5a29ecb22d80d8a68951f207967c8437dc2e1 Mon Sep 17 00:00:00 2001 From: wbx Date: Wed, 23 Feb 2005 21:50:10 +0000 Subject: I do not believe that users will cleanup kernelsource, when switching rootfs. force it with scripts and Makefile changes from Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@290 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- Makefile | 21 ++++++++++++++++++++ README | 2 +- flash.sh | 54 -------------------------------------------------- package/config/mconf.c | 1 - scripts/configtest.pl | 11 ++++++++++ scripts/flash.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ target/Config.in | 2 -- 7 files changed, 87 insertions(+), 58 deletions(-) delete mode 100644 flash.sh create mode 100755 scripts/configtest.pl create mode 100644 scripts/flash.sh diff --git a/Makefile b/Makefile index 92137eac2..dfa272120 100644 --- a/Makefile +++ b/Makefile @@ -166,27 +166,48 @@ $(CONFIG)/mconf: fi menuconfig: $(CONFIG)/mconf + -touch .config + -cp .config .config.test @$(CONFIG)/mconf $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl config: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl oldconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl randconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -r $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl allyesconfig: $(CONFIG)/conf #@$(CONFIG)/conf -y $(CONFIG_CONFIG_IN) #sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config + -touch .config + -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl allnoconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -n $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl defconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -d $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl ############################################################# # diff --git a/README b/README index c79070cfa..7d937e76d 100644 --- a/README +++ b/README @@ -8,7 +8,7 @@ Simply running 'make' will build your firmware and a tarball of kernel modules. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. -You can use flash.sh for remotely updating your embedded system +You can use scripts/flash.sh for remotely updating your embedded system via tftp. diff --git a/flash.sh b/flash.sh deleted file mode 100644 index aedb25072..000000000 --- a/flash.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -# flash script for linksys and asus routers -# -# Copyright (C) 2004 by Oleg I. Vdovikin -# Copyright (C) 2005 by Waldemar Brodkorb -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# - -if [ -z "$1" ] || [ ! -f $1 ] || [ -z $2 ]; then - echo Usage: $0 firmware vendor -cat << EOF -IMPORTANT: -Notes for Linksys Routers: - be sure you have set boot_wait to yes. Power on your router - after executing this script. - Use openwrt-gs-code.bin or openwrt-g-code.bin as firmware. - -Notes for Asus Routers: - be sure POWER led is flashing (If this is not a case - poweroff the device, push the reset button & power on - it again, then release button) - Use openwrt-linux.trx as firmware. - -1) connect your pc to the LAN port -2) be sure your link is up and has an address in the - 192.168.1.0/24 address range (and not the 192.168.1.1) -EOF - exit 0 -fi -if [ "$2" == "asus" ]; then -echo Confirming IP address setting... -echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1 -echo Flashing 192.168.1.1 using $1... -echo -en "binary\nput $1 ASUSSPACELINK\nquit\n" | tftp 192.168.1.1 -echo Please wait until leds stops flashing. -elif [ "$2" == "linksys" ]; then -echo Flashing 192.168.1.1 using $1... -echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.1.1 -echo Please wait until power led stops flashing. Then you can login via telnet 192.168.1.1 -fi diff --git a/package/config/mconf.c b/package/config/mconf.c index 659e49cd6..0db6f8f6c 100644 --- a/package/config/mconf.c +++ b/package/config/mconf.c @@ -705,7 +705,6 @@ int main(int ac, char **av) conf_write(NULL); printf("\n\n" "*** End of Buildroot configuration.\n" - "*** After changing root fs, use make linux-dirclean.\n" "*** Check the top-level Makefile for additional configuration options.\n\n"); } else printf("\n\nYour Buildroot configuration changes were NOT saved.\n\n"); diff --git a/scripts/configtest.pl b/scripts/configtest.pl new file mode 100755 index 000000000..61fe8a7b6 --- /dev/null +++ b/scripts/configtest.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl + +my %change = ( + 'ROOTFS' => 'make linux-dirclean' +); + +foreach my $change (keys %change) { + my $v1 = `grep '$change' .config.test`; + my $v2 = `grep '$change' .config`; + $v1 eq $v2 or system($change{$change}); +} diff --git a/scripts/flash.sh b/scripts/flash.sh new file mode 100644 index 000000000..aedb25072 --- /dev/null +++ b/scripts/flash.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# flash script for linksys and asus routers +# +# Copyright (C) 2004 by Oleg I. Vdovikin +# Copyright (C) 2005 by Waldemar Brodkorb +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +if [ -z "$1" ] || [ ! -f $1 ] || [ -z $2 ]; then + echo Usage: $0 firmware vendor +cat << EOF +IMPORTANT: +Notes for Linksys Routers: + be sure you have set boot_wait to yes. Power on your router + after executing this script. + Use openwrt-gs-code.bin or openwrt-g-code.bin as firmware. + +Notes for Asus Routers: + be sure POWER led is flashing (If this is not a case + poweroff the device, push the reset button & power on + it again, then release button) + Use openwrt-linux.trx as firmware. + +1) connect your pc to the LAN port +2) be sure your link is up and has an address in the + 192.168.1.0/24 address range (and not the 192.168.1.1) +EOF + exit 0 +fi +if [ "$2" == "asus" ]; then +echo Confirming IP address setting... +echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1 +echo Flashing 192.168.1.1 using $1... +echo -en "binary\nput $1 ASUSSPACELINK\nquit\n" | tftp 192.168.1.1 +echo Please wait until leds stops flashing. +elif [ "$2" == "linksys" ]; then +echo Flashing 192.168.1.1 using $1... +echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.1.1 +echo Please wait until power led stops flashing. Then you can login via telnet 192.168.1.1 +fi diff --git a/target/Config.in b/target/Config.in index 0fe83857c..36616f07b 100644 --- a/target/Config.in +++ b/target/Config.in @@ -1,5 +1,3 @@ -comment "after changing root fs, use make linux-dirclean" - choice prompt "Target Root Filesystem" source "target/jffs2/Config.in" -- cgit v1.2.3