[OpenWrt-Devel] Failing x86 builds with eglibc

2013-08-30 Thread Philip A. Prindeville
I tried to build eglibc 2.15, 2.16, and 2.17 for the Alix platform, but I'm 
consistently seeing:

 make[3]: Entering directory `/home/philipp/openwrt2/toolchain/eglibc'
[ -f 
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909/.autoconf
 ] || { cd 
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909/libc;
 autoconf --force  touch 
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909/.autoconf;
 }
mkdir -p 
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909-final
grep 'CONFIG_EGLIBC_OPTION_' /home/philipp/openwrt2/.config | sed -e s,\\(# 
\)\\?CONFIG_EGLIBC_\\(.*\\),\\1\\2,g  
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909-final/option-groups.config
( cd 
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909-final;
 rm -f config.cache; BUILD_CC=gcc AR=i486-openwrt-linux-gnu-ar 
AS=i486-openwrt-linux-gnu-gcc -c -march=geode -Os -mmmx -m3dnow 
-fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe 
-fomit-frame-pointer -fno-caller-saves -fhonour-copts 
-Wno-error=unused-but-set-variable LD=i486-openwrt-linux-gnu-ld 
NM=i486-openwrt-linux-gnu-nm CC=i486-openwrt-linux-gnu-gcc 
GCC=i486-openwrt-linux-gnu-gcc CXX=i486-openwrt-linux-gnu-g++ 
RANLIB=i486-openwrt-linux-gnu-ranlib STRIP=i486-openwrt-linux-gnu-strip 
OBJCOPY=i486-openwrt-linux-gnu-objcopy OBJDUMP=i486-openwrt-linux-gnu-objdump 
SIZE=i486-openwrt-linux-gnu-size CFLAGS=-march=geode -Os -mmmx -m3dnow 
-fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe 
-fomit-frame-pointer -fno-caller-saves -fhonour-copts 
-Wno-error=unused-but-set-variable libc_cv_slibdir=/lib use_ldconfig=no
/home/philipp/openwrt2/build_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/eglibc-2.15-r18909/libc/configure
 --prefix= --build=x86_64-redhat-linux --host=i486-openwrt-linux-gnu 
--with-headers=/home/philipp/openwrt2/staging_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/include
 --disable-profile --without-gd --without-cvs --enable-add-ons --with-fp );
checking build system type... x86_64-redhat-linux-gnu
checking host system type... i486-openwrt-linux-gnu
checking for i486-openwrt-linux-gnu-gcc... i486-openwrt-linux-gnu-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i486-openwrt-linux-gnu-gcc accepts -g... yes
checking for i486-openwrt-linux-gnu-gcc option to accept ISO C89... unsupported
checking for gcc... gcc
checking how to run the C preprocessor... i486-openwrt-linux-gnu-gcc -E
checking whether we are using the GNU C++ compiler... no
checking whether i486-openwrt-linux-gnu-g++ accepts -g... no
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on nptl
checking add-on ports for preconfigure fragments... alpha am33 arm hppa m68k 
mips powerpc tile
checking for assembler gnu_indirect_function symbol type support... yes
checking whether .text pseudo-op must be used... yes
checking for assembler global-symbol directive... .globl
checking for assembler .type directive prefix... @
checking sysdep dirs... sysdeps/i386/elf nptl/sysdeps/unix/sysv/linux/i386/i486 
nptl/sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux/i386 
nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread 
ports/sysdeps/unix/sysv/linux sysdeps/unix/sysv/linux sysdeps/gnu 
sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv/i386 
nptl/sysdeps/unix/sysv ports/sysdeps/unix/sysv sysdeps/unix/sysv 
sysdeps/unix/i386 nptl/sysdeps/unix ports/sysdeps/unix sysdeps/unix 
sysdeps/posix nptl/sysdeps/i386/i486 sysdeps/i386/i486 sysdeps/i386/fpu 
nptl/sysdeps/i386 sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 
sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 
sysdeps/generic/elf sysdeps/generic
configure: WARNING: add-on ports contributed no useful sysdeps directories
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether 
/home/philipp/openwrt2/staging_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/lib/gcc/i486-openwrt-linux-gnu/4.6.4/../../../../i486-openwrt-linux-gnu/bin/as
 is GNU as... yes
checking whether 
/home/philipp/openwrt2/staging_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/lib/gcc/i486-openwrt-linux-gnu/4.6.4/../../../../i486-openwrt-linux-gnu/bin/ld
 is GNU ld... yes
checking for 
/home/philipp/openwrt2/staging_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/lib/gcc/i486-openwrt-linux-gnu/4.6.4/../../../../i486-openwrt-linux-gnu/bin/as...
 
/home/philipp/openwrt2/staging_dir/toolchain-i386_gcc-4.6-linaro_eglibc-2.15/lib/gcc/i486-openwrt-linux-gnu/4.6.4/../../../../i486-openwrt-linux-gnu/bin/as
checking version of 

[OpenWrt-Devel] [PATCH] build scripts: fix 'make defconfig' damage

2013-08-28 Thread Philip A. Prindeville
Looking at the target 'defconfig' in include/toplevel, it doesn't directly 
reference $(HOME)/.openwrt/defconfig nor does it reference any prerequisites 
using it as a target.

Therefore, building defconfig as a target uses the defaults in the tree, but 
not the defaults that a user might have explicitly specified.

This patch fixes this regression from r36361.

Signed-off-by: Philip Prindeville phil...@redfish-solutions.com

Index: include/toplevel.mk
===
--- include/toplevel.mk	(revision 37824)
+++ include/toplevel.mk	(working copy)
@@ -89,6 +89,7 @@
 
 defconfig: scripts/config/conf prepare-tmpinfo FORCE
 	touch .config
+	@if [ -e $(HOME)/.openwrt/defconfig ]; then cp $(HOME)/.openwrt/defconfig .config; fi
 	$ --defconfig=.config Config.in
 
 confdefault-y=allyes
@@ -152,7 +153,7 @@
 	@+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq
 	@( \
 		cp .config tmp/.config; \
-		./scripts/config/conf --defconfig tmp/.config -w tmp/.config Config.in  /dev/null 21; \
+		./scripts/config/conf --defconfig=tmp/.config -w tmp/.config Config.in  /dev/null 21; \
 		if ./scripts/kconfig.pl '' .config tmp/.config | grep -q CONFIG; then \
 			printf $(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n 2; \
 		fi \
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] [package] dnsmasq: use host-record instead of address

2013-08-28 Thread Philip A. Prindeville
Sorry if it's a little after-the-fact, but I've been wondering about the need 
to have a separate config domain section at all.

Why not just have something like:

config host
...
option wants-dns-rr on

Yes, config domain is still useful for external sites or for resources with 
static addresses that aren't served by dnsmasq, buy why not reduce the amount 
of configuration for a host to have a A/PTR pair to a single line?

For that matter, in the config dnsmasq section, why not have an option like 
option publish-dns-rr on and enable it globally for all host blocks?

Am I missing something?

-Philip


On 06/04/2013 10:44 PM, Adam Gensler wrote:
 Hi all,

 TL;DR - using --address for individual host A records is broken, use 
 --host-record instead.

 The following patch changes dnsmasq.init to build individual host records 
 using --host-record instead of --address. Using --address in this 
 context is incorrect. For example, the current init script will create the 
 following two entries in /var/etc/dnsmasq.conf:

 address=/OpenWrt.lan/192.168.1.1
 ptr-record=1.1.168.192.in-addr.arpa,OpenWrt.lan

 At first glance this has the desired effect, OpenWrt.lan resolves to 
 192.168.1.1. However, what it really says is for anything that ends with 
 OpenWrt.lan, that I don't have a record for, return 192.168.1.1. For 
 example:

 fakeaddress.OpenWrt.lan would return 192.168.1.1.
 adsfasdfsdfsd.OpenWrt.lan would return 192.168.1.1.

 That's wrong and it causes problems when using a real domain name, such as 
 domain.com. Often it's desirable to have domain.com resolve to an address 
 so users can hit the http service at http://domain.com. By using the existing 
 config domain option, you would configure this as follows:

 config domain
   option name 'domain.com'
   option ip '192.168.1.100'

 This would create these config items:

 address=/domain.com/192.168.1.100
 ptr-record=100.1.168.192.in-addr.arpa,domain.com

 Now, as a result, anything that doesn't have its own, preexisting record, 
 will also resolve to 192.168.1.100. That's no good because things like 
 Windows do proxy requests by default for wpad.domain.com and instead of 
 getting back an NXDOMAIN, it gets 192.168.1.100 and goes hunting for a pac 
 file that doesn't exist.

 The solution for this is to use --host-record. This is actually a lot 
 easier to configure because dnsmasq will create the PTR records 
 automatically, so there's no need to manual calculate it like is done today. 
 This means that IPv6 addresses can be supported as well. The attached patch 
 makes this adjustment and accomplishes the following:

 1. By default, the router's hostname is now added to the configuration using 
 --host-record instead of --address. If there's a domain configured, the 
 default host-record entry looks like this:

 host-record=OpenWrt.lan,OpenWrt,192.168.1.1

 With this, now both OpenWrt.lan and OpenWrt will both resolve to 
 192.168.1.1. In the reverse, 192.168.1.1 will resolve to only OpenWrt.lan.

 2. It introduces a new configuration structure to define additional host 
 records. For example:

 config hostrecord
   list name 'mail.domain.com'
   list name 'www.domain.com'
   list name 'domain.com'
   list ip '192.168.1.100'

 It uses lists here because dnsmasq can accept multiple hostnames and IP 
 addresses in a single host-record. This generates the following config:

 host-record=mail.domain.com,www.domain.com,domain.com,192.168.1.100

 All of those hostnames will resolve to 192.168.1.100 in the forward 
 direction. 192.168.1.100 will resolve to mail.domain.com in the reverse.

 3. It restructures dhcp_domain_add() to remove the manual PTR record 
 calculation and configuration. This only supported IPv4 and isn't the proper 
 use of the --address option. Now it will build a proper --address config 
 that can support multiple domain names to a single IP address as per the 
 dnsmasq MAN page.

 Note, the domain name is no longer automatically appended to the end of 
 either config hostrecord or config domain entries as was previously the 
 case. To define a specific fqdn, one needs to manually configure it as such. 
 This makes the configuration more consistent; only what's configured is what 
 is generated for dnsmasq.

 Sorry for the long email. I hope it all made sense. If not, please let me 
 know.

 Thanks,
 Adam


 Signed-off-by: Adam Gensler openwrt at gnslr.us
 ---
 [snip]
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] dnsmasq: add an --address entry for each host

2013-08-28 Thread Philip A. Prindeville
On 07/16/2013 08:48 PM, Julián Landerreche wrote:
 Thinking a little more about this, I'd dare to say: the dhcp_domain_add 
 function might be ditched without remorse. After r36943 changeset, it seems 
 it's not currently used any more. Also, after reading  re-reading the 
 dnsmasq man page a few times, I'd dare to say that it doesn't make too much 
 sense to set an --address=/domain/ip for a 'domain' config in OpenWRT.

 Why would someone want to resolve the domain for the whole LAN (ie. 
 .localnet to a particular host in the LAN?
 Of course, I may be missing something not so obvious here.



Hi Julian.

I tested your patch and I like it a lot.  It removes, as you point out, the 
need for supplementing 'host' configs with additional 'domain' configs.

But there is still some value to 'domain' configs.

For instance, for devices with static IP addresses on the LAN which you want to 
be able resolve internally, or for blacklisting certain external sites, i.e.

config domain
option name 'www.yahoo.com.'
option ip '127.0.0.99'

or to some other invalid/unroutable IP address.

So while I like your functionality, I don't think it completely deprecates the 
config 'domain'.

-Philip
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] [package] dnsmasq: use host-record instead of address

2013-08-28 Thread Philip A. Prindeville
I should have sent this AFTER trying out patch 3828.

Julian's patch is even simpler than my suggestion.

On 08/28/2013 02:42 PM, Philip A. Prindeville wrote:
 Sorry if it's a little after-the-fact, but I've been wondering about the need 
 to have a separate config domain section at all.

 Why not just have something like:

 config host
 ...
 option wants-dns-rr on

 Yes, config domain is still useful for external sites or for resources with 
 static addresses that aren't served by dnsmasq, buy why not reduce the amount 
 of configuration for a host to have a A/PTR pair to a single line?

 For that matter, in the config dnsmasq section, why not have an option like 
 option publish-dns-rr on and enable it globally for all host blocks?

 Am I missing something?

 -Philip


 On 06/04/2013 10:44 PM, Adam Gensler wrote:
 Hi all,

 TL;DR - using --address for individual host A records is broken, use 
 --host-record instead.

 The following patch changes dnsmasq.init to build individual host records 
 using --host-record instead of --address. Using --address in this 
 context is incorrect. For example, the current init script will create the 
 following two entries in /var/etc/dnsmasq.conf:

 address=/OpenWrt.lan/192.168.1.1
 ptr-record=1.1.168.192.in-addr.arpa,OpenWrt.lan

 At first glance this has the desired effect, OpenWrt.lan resolves to 
 192.168.1.1. However, what it really says is for anything that ends with 
 OpenWrt.lan, that I don't have a record for, return 192.168.1.1. For 
 example:

 fakeaddress.OpenWrt.lan would return 192.168.1.1.
 adsfasdfsdfsd.OpenWrt.lan would return 192.168.1.1.

 That's wrong and it causes problems when using a real domain name, such as 
 domain.com. Often it's desirable to have domain.com resolve to an address 
 so users can hit the http service at http://domain.com. By using the 
 existing config domain option, you would configure this as follows:

 config domain
  option name 'domain.com'
  option ip '192.168.1.100'

 This would create these config items:

 address=/domain.com/192.168.1.100
 ptr-record=100.1.168.192.in-addr.arpa,domain.com

 Now, as a result, anything that doesn't have its own, preexisting record, 
 will also resolve to 192.168.1.100. That's no good because things like 
 Windows do proxy requests by default for wpad.domain.com and instead of 
 getting back an NXDOMAIN, it gets 192.168.1.100 and goes hunting for a pac 
 file that doesn't exist.

 The solution for this is to use --host-record. This is actually a lot 
 easier to configure because dnsmasq will create the PTR records 
 automatically, so there's no need to manual calculate it like is done today. 
 This means that IPv6 addresses can be supported as well. The attached patch 
 makes this adjustment and accomplishes the following:

 1. By default, the router's hostname is now added to the configuration using 
 --host-record instead of --address. If there's a domain configured, the 
 default host-record entry looks like this:

 host-record=OpenWrt.lan,OpenWrt,192.168.1.1

 With this, now both OpenWrt.lan and OpenWrt will both resolve to 
 192.168.1.1. In the reverse, 192.168.1.1 will resolve to only OpenWrt.lan.

 2. It introduces a new configuration structure to define additional host 
 records. For example:

 config hostrecord
  list name 'mail.domain.com'
  list name 'www.domain.com'
  list name 'domain.com'
  list ip '192.168.1.100'

 It uses lists here because dnsmasq can accept multiple hostnames and IP 
 addresses in a single host-record. This generates the following config:

 host-record=mail.domain.com,www.domain.com,domain.com,192.168.1.100

 All of those hostnames will resolve to 192.168.1.100 in the forward 
 direction. 192.168.1.100 will resolve to mail.domain.com in the reverse.

 3. It restructures dhcp_domain_add() to remove the manual PTR record 
 calculation and configuration. This only supported IPv4 and isn't the proper 
 use of the --address option. Now it will build a proper --address config 
 that can support multiple domain names to a single IP address as per the 
 dnsmasq MAN page.

 Note, the domain name is no longer automatically appended to the end of 
 either config hostrecord or config domain entries as was previously the 
 case. To define a specific fqdn, one needs to manually configure it as such. 
 This makes the configuration more consistent; only what's configured is what 
 is generated for dnsmasq.

 Sorry for the long email. I hope it all made sense. If not, please let me 
 know.

 Thanks,
 Adam


 Signed-off-by: Adam Gensler openwrt at gnslr.us
 ---
 [snip]
 ___
 openwrt-devel mailing list
 openwrt-devel@lists.openwrt.org
 https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] DHCP clients requiring broadcast responses, add 'broadcast' option bool

2013-08-20 Thread Philip A. Prindeville
There are certain consumer devices which are outliers in protocol conformance. 
An example is Samsung bluray players, which require broadcast DHCP responses 
(on Ethernet only, strangely… not on Wifi).

By specifying:

config host
…
option broadcast 1

this will enable the response to be sent as an Ethernet broadcast and not as a 
unicast.

Signed-off-by: Philip Prindeville phil...@redfish-solutions.com
---

Index: package/network/services/dnsmasq/files/dnsmasq.init
===
--- package/network/services/dnsmasq/files/dnsmasq.init	(revision 37816)
+++ package/network/services/dnsmasq/files/dnsmasq.init	(working copy)
@@ -162,6 +162,8 @@ dnsmasq() {
 
 	dhcp_option_add $cfg  0
 
+	xappend --dhcp-broadcast=tag:needs-broadcast
+
 	echo  $CONFIGFILE
 }
 
@@ -269,7 +271,10 @@ dhcp_host_add() {
 
 	config_get tag $cfg tag
 
-	xappend --dhcp-host=$macs${networkid:+,net:$networkid}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}
+	config_get_bool broadcast $cfg broadcast 0
+	[ $broadcast = 0 ]  broadcast=
+
+	xappend --dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}
 }
 
 dhcp_tag_add() {
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2 1/1] alix2: provide x86/alix2 subtarget

2011-05-12 Thread Philip A. Prindeville
This patch provides an image suitable for the alix2*, alix3, and alix6 headless 
(non-VGA equipped) SBC's.

Note that the Alix6 uses GPIO 27 to disable wireless transmit (W_DIS#), whereas 
on all other versions this is used to actuate the speaker.

GPIO 1 : SIM select (Alix6)
GPIO 6 : LED1
GPIO 25 : LED2
GPIO 27 : LED3 or RFKILL (Alix6)

GPIO 24 : Soft switch 1

Signed-off-by: Philip Prindeville phil...@redfish-solutions.com

Index: target/linux/x86/alix2/config-default
===
--- target/linux/x86/alix2/config-default   (revision 0)
+++ target/linux/x86/alix2/config-default   (revision 0)
@@ -0,0 +1,42 @@
+CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-ecx -fcall-saved-edx
+CONFIG_CPU_SUP_AMD=y
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_ISA_DMA_API=y
+CONFIG_K8_NB=y
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_M486 is not set
+CONFIG_MGEODE_LX=y
+CONFIG_GEODE_MFGPT_TIMER=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_PERF_EVENTS=y
+CONFIG_PROCESSOR_SELECT=y
+CONFIG_SCSI_MOD=y
+# CONFIG_SCx200 is not set
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_TINY_RCU is not set
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_INTERNODE_CACHE_SHIFT=5
+CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
Index: target/linux/x86/alix2/target.mk
===
--- target/linux/x86/alix2/target.mk(revision 0)
+++ target/linux/x86/alix2/target.mk(revision 0)
@@ -0,0 +1,30 @@
+BOARDNAME:=PCEngines alix2
+FEATURES:=squashfs pci usb gpio
+ALIX2_GPIO = $(if $(findstring 
2.6.32,$(LINUX_VERSION)),gpio-cs5535,gpio-cs5535-new)
+DEFAULT_PACKAGES += kmod-ata-via-sata \
+   kmod-crypto-hw-geode kmow-crypto-ocf \
+   kmod-$(ALIX2_GPIO) kmod-gpio-nsc \
+   kmod-wdt-geode kmod-hwmon-core kmod-hwmon-lm90 \
+   kmod-via-rhine kmod-leds-alix \
+   kmod-i2c-core kmod-i2c-gpio \
+   kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+   kmod-i2c-scx200-acb \
+   kmod-usb-core kmod-usb2 kmod-usb-uhci \
+   kmod-cfg80211 kmod-mac80211 \
+   kmod-mppe kmod-pppoe kmod-pppoa kmod-pppo2ltp \
+   kmod-ath kmod-ath5k kmod-ath9k \
+   bridge ppp ppp-mod-pppoa \
+   libopenssl ocf-crypto-headers zlib hwclock hostapd
+
+CS5535_MASK:=0x0a40
+
+CFLAGS += -Os -pipe -march=k6-2 -fno-align-functions -fno-align-loops 
-fno-align-jumps \
+ -fno-align-labels
+
+define Target/Description
+   Build firmware images for PCEngines alix2 board
+endef
+
+define KernelPackage/$(GEOS_GPIO)/install
+ sed -i -r -e 's// mask=$(CS5535_MASK)/' 
$(1)/etc/modules.d/??-$(GEOS_GPIO)
+endef
Index: target/linux/x86/image/Config.in
===
--- target/linux/x86/image/Config.in(revision 26870)
+++ target/linux/x86/image/Config.in(working copy)
@@ -21,6 +21,7 @@
int Serial port baud rate
depends X86_GRUB_IMAGES
default 19200 if TARGET_x86_generic_Soekris45xx || 
TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501
+   default 38400 if TARGET_x86_alix2
default 115200 if TARGET_x86_geos
default 38400
 
Index: target/linux/x86/generic/profiles/Alix.mk
===
--- target/linux/x86/generic/profiles/Alix.mk   (revision 26870)
+++ target/linux/x86/generic/profiles/Alix.mk   (working copy)
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Alix
-  NAME:=PCEngines Alix
-  PACKAGES:=kmod-via-rhine kmod-leds-alix
-endef
-
-define Profile/Alix/Description
-Package set compatible with the PCEngines Alix. Contains VIA Rhine III 
VT6105M and LED support
-endef
-$(eval $(call Profile,Alix))
Index: target/linux/x86/Makefile
===
--- target/linux/x86/Makefile   (revision 26870)
+++ target/linux/x86/Makefile   (working copy)
@@ -10,9 +10,9 @@
 BOARD:=x86
 BOARDNAME:=x86
 FEATURES:=squashfs jffs2 ext4 vdi vmdk pcmcia targz

Re: [OpenWrt-Devel] [PATCH] Option to allow boot to run to completion before starting shell

2010-04-16 Thread Philip A. Prindeville
On 04/13/2010 01:58 PM, Florian Fainelli wrote:
 Le dimanche 11 avril 2010 18:44:05, Philip A. Prindeville a écrit :
 Setting the system variable foreground to yes causes the system to run
 the init scripts in series and wait for completion.

 This is useful if (a) you don't want the user getting into the console
 until the system is initialized, or (b) you have things going on in your
 scripts that require strict ordering (and no possible race conditions).

 Signed-off-by: Philip Prindeville phil...@redfish-solutions.com
 
 Applied in r20841, thanks!

Sorry, had a bug in the original patch.

See my email from last night.


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH v2] Add support for net5501 SBC

2010-04-13 Thread Philip A. Prindeville
Well, I'd need output of lspci, dmesg, and lsmod from booting a
plug-n-play distro like Fedora or Debian on it (from Live! CD).

And console and network access while I tried to load an image onto it
would also be handy...

Contact me offline.


On 04/11/2010 12:44 PM, Roberto Riggio wrote:
 I have a couple of 4801. Let me know if you need something tested on it.

 On 04/11/2010 07:33 PM, Philip Prindeville wrote:
 On 4/11/10 10:51 AM, Jo-Philipp Wich wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hii.

 Why a new subtarget and not a new profile for the generic subtarget?
 Because there are plans to modernize the generic x86 target which will
 render the older Soekris hardware incompatible.

 Indeed, if Soekris was willing to send me one of each (they're not, I
 already asked), I was going to add definitions for the net4801, the
 4521, and the 6501.

 -Philip


 ~ JoW


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH v2] Add support for net5501 SBC

2010-04-11 Thread Philip A. Prindeville
On 04/11/2010 06:37 AM, Florian Fainelli wrote:
 Hi Philip,
 
 Le vendredi 9 avril 2010 23:26:19, Philip A. Prindeville a écrit :
 [ Since the last posting, rtz2 suggested that I remove DMI, ACPI,
 Mouse, Keyboard, and other unused drivers. ]

 This patch brings up the net5501 platform.

 Note that the x86/ target included support for all x86/ class
 processors.  That's not technically correct.  This should be constrained
 only to the generic subtarget.  Every x86-class target that isn't
 generic should be able to select only the optimizations/capabilities
 applicable to that architectural variant.

 It's also assumed that all x86 processors have keyboard  mouse ports,
 ISA, DMI, ACPI... the embedded ones typically don't.  Again, moving
 that to the generic subtarget.

 Fortunately, this was a fairly benign tweak.

 The net5501 board includes the following logic:

 Geode/LX processor
 CS5535 super-I/O chip
 PC87360 sensor chip
 Via Rhine Ethernet controllers
 Via Sata controllers
 USB, LEDS, I2C

 Signed-off-by: Philip Prindeville philipp_s...@redfish-solutions.com
 
 Applied in r20794, thanks!

Merci bien!


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Adding an option for /etc/init.d/rcS to run to completion

2010-04-11 Thread Philip A. Prindeville
Normally the system boots with the startup scripts in /etc/init.d/ being
backgrounded by /etc/init.d/rcS, as in:

if [ $1 = S ]; then
run_scripts $1 $2 
else
run_scripts $1 $2
fi



but I'm thinking it might be nice to allow a variable that controls
backgrounding (i.e. optionally turning it off, so the default behavior
remains the same).

When rcS runs, how much initialization has already taken place, and can
we pull config state out of /etc/config/system at that point?

Maybe something like:

config_load system
config_get_bool foreground system foreground no

if [ $1 = S -a $foreground = no ]; then
run_scripts $1 $2 
else
run_scripts $1 $2
fi


Does that seem reasonable?


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] Option to allow boot to run to completion before starting shell

2010-04-11 Thread Philip A. Prindeville
Setting the system variable foreground to yes causes the system to run
the init scripts in series and wait for completion.

This is useful if (a) you don't want the user getting into the console
until the system is initialized, or (b) you have things going on in your
scripts that require strict ordering (and no possible race conditions).

Signed-off-by: Philip Prindeville phil...@redfish-solutions.com
---

Index: package/base-files/files/etc/init.d/rcS
===
--- package/base-files/files/etc/init.d/rcS (revision 20795)
+++ package/base-files/files/etc/init.d/rcS (working copy)
@@ -10,7 +10,12 @@
 LOGGER=cat
 [ -x /usr/bin/logger ]  LOGGER=logger -s -p 6 -t sysinit
 
-if [ $1 = S ]; then
+. /etc/functions.sh
+
+config_load system
+config_get_bool foreground system foreground no
+
+if [ $1 = S -a $foreground != yes ]; then
run_scripts $1 $2 
 else
run_scripts $1 $2



___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] Add debugging entry to hotplug config

2010-04-10 Thread Philip A. Prindeville
This is useful for seeing what devices are detected by the system.

Signed-off-by: Philip Prindeville phil...@redfish-solutions.com
---

Index: package/base-files/files/etc/hotplug2-common.rules
===
--- package/base-files/files/etc/hotplug2-common.rules  (revision 20749)
+++ package/base-files/files/etc/hotplug2-common.rules  (working copy)
@@ -1,4 +1,10 @@
 
+# uncomment me to log hotplug events
+# DEVPATH is set {
+#  nothrottle
+#  exec logger -s -t hotplug -p daemon.info name=%DEVICENAME%, 
path=%DEVPATH%
+# }
+
 DEVICENAME ~~ (null|full|ptmx|tty|zero|gpio|hvc) {
nothrottle
makedev /dev/%DEVICENAME% 0666


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] Add support for net5501 SBC

2010-04-09 Thread Philip A. Prindeville
This patch brings up the net5501 platform.

Note that the x86/ target included support for all x86/ class
processors.  That's not technically correct.  This should be constrained
only to the generic subtarget.  Every x86-class target that isn't
generic should be able to select only the optimizations/capabilities
applicable to that architectural variant.

Fortunately, this was a fairly benign tweak.

The net5501 board includes the following logic:

Geode/LX processor
CS5535 super-I/O chip
PC87360 sensor chip
Via Rhine Ethernet controllers
Via Sata controllers
USB, LEDS, I2C

Signed-off-by: Philip Prindeville philipp_s...@redfish-solutions.com
---

Index: target/linux/x86/net5501/config-default
===
--- target/linux/x86/net5501/config-default (revision 0)
+++ target/linux/x86/net5501/config-default (revision 0)
@@ -0,0 +1,23 @@
+# CONFIG_ACPI is not set
+CONFIG_CPU_SUP_AMD=y
+CONFIG_GEODE_MFGPT_TIMER=y
+# CONFIG_GEODE_WDT is not set
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_ISA is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_M486 is not set
+CONFIG_MGEODE_LX=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_PCSPKR_PLATFORM is not set
+CONFIG_PROCESSOR_SELECT=y
+# CONFIG_SCx200 is not set
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_X86_DEBUGCTLMSR=y
+# CONFIG_X86_DS is not set
+CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
Index: target/linux/x86/net5501/target.mk
===
--- target/linux/x86/net5501/target.mk  (revision 0)
+++ target/linux/x86/net5501/target.mk  (revision 0)
@@ -0,0 +1,15 @@
+BOARDNAME:=Soekris net5501
+DEFAULT_PACKAGES += kmod-ata-via-sata kmod-crypto-hw-geode \
+   kmod-cs5535-gpio kmod-nsc-gpio kmod-pc8736x-gpio \
+   kmod-geodewdt kmod-hwmon-core kmod-hwmon-pc87360 \
+   kmod-via-rhine \
+   kmod-i2c-core kmod-i2c-gpio \
+   kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+   kmod-usb-core kmod-usb2 kmod-usb-hid kmod-usb-uhci
+CFLAGS += -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps \
+ -fno-align-labels
+
+define Target/Description
+   Build firmware images for Soekris net5501 board
+endef
+
Index: target/linux/x86/image/Config.in
===
--- target/linux/x86/image/Config.in(revision 20749)
+++ target/linux/x86/image/Config.in(working copy)
@@ -13,8 +13,8 @@
 bool
 depends X86_GRUB_IMAGES
 prompt Use Console Terminal (in addition to Serial)
-default n if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx
-default y if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx)
+default n if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501
+default y if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)
 
 config X86_GRUB_SERIAL
 string
@@ -26,8 +26,8 @@
 config X86_GRUB_BAUDRATE
 int Serial port baud rate
 depends X86_GRUB_IMAGES
-default 19200 if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx
-default 38400 if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx)
+default 19200 if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501
+default 38400 if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)
 
 config X86_GRUB_KERNELPART
 int Kernel partition size (in MB)
Index: target/linux/x86/config-default
===
--- target/linux/x86/config-default (revision 20749)
+++ target/linux/x86/config-default (working copy)
@@ -83,12 +83,12 @@
 CONFIG_CPU_FREQ_TABLE=y
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_CPU_SUP_AMD is not set
+# CONFIG_CPU_SUP_CENTAUR is not set
+# CONFIG_CPU_SUP_CYRIX_32 is not set
+# CONFIG_CPU_SUP_INTEL is not set
+# CONFIG_CPU_SUP_TRANSMETA_32 is not set
+# CONFIG_CPU_SUP_UMC_32 is not set
 # CONFIG_CS5535_GPIO is not set
 # CONFIG_CS89x0 is not set
 # CONFIG_DCDBAS is not set
Index: target/linux/x86/patches/100-geode_mfgpt_irq.patch
===
--- target/linux/x86/patches/100-geode_mfgpt_irq.patch  (revision 0)
+++ target/linux/x86/patches/100-geode_mfgpt_irq.patch  (revision 0)
@@ -0,0 +1,11 @@
+--- a/arch/x86/kernel/mfgpt_32.c   2010-03-15 09:52:04.0 -0600
 b/arch/x86/kernel/mfgpt_32.c   2010-04-08

[OpenWrt-Devel] [PATCH v2] Add support for net5501 SBC

2010-04-09 Thread Philip A. Prindeville
[ Since the last posting, rtz2 suggested that I remove DMI, ACPI,
Mouse, Keyboard, and other unused drivers. ]

This patch brings up the net5501 platform.

Note that the x86/ target included support for all x86/ class
processors.  That's not technically correct.  This should be constrained
only to the generic subtarget.  Every x86-class target that isn't
generic should be able to select only the optimizations/capabilities
applicable to that architectural variant.

It's also assumed that all x86 processors have keyboard  mouse ports,
ISA, DMI, ACPI... the embedded ones typically don't.  Again, moving
that to the generic subtarget.

Fortunately, this was a fairly benign tweak.

The net5501 board includes the following logic:

Geode/LX processor
CS5535 super-I/O chip
PC87360 sensor chip
Via Rhine Ethernet controllers
Via Sata controllers
USB, LEDS, I2C

Signed-off-by: Philip Prindeville philipp_s...@redfish-solutions.com
---

Index: target/linux/x86/net5501/config-default
===
--- target/linux/x86/net5501/config-default (revision 0)
+++ target/linux/x86/net5501/config-default (revision 0)
@@ -0,0 +1,25 @@
+# CONFIG_ACPI is not set
+# CONFIG_DMI is not set
+CONFIG_CPU_SUP_AMD=y
+CONFIG_GEODE_MFGPT_TIMER=y
+# CONFIG_GEODE_WDT is not set
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_ISA is not set
+# CONFIG_INPUT is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_M486 is not set
+CONFIG_MGEODE_LX=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_PCSPKR_PLATFORM is not set
+CONFIG_PROCESSOR_SELECT=y
+# CONFIG_SCx200 is not set
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_X86_DEBUGCTLMSR=y
+# CONFIG_X86_DS is not set
+CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
Index: target/linux/x86/net5501/target.mk
===
--- target/linux/x86/net5501/target.mk  (revision 0)
+++ target/linux/x86/net5501/target.mk  (revision 0)
@@ -0,0 +1,15 @@
+BOARDNAME:=Soekris net5501
+DEFAULT_PACKAGES += kmod-ata-via-sata kmod-crypto-hw-geode \
+   kmod-cs5535-gpio kmod-nsc-gpio kmod-pc8736x-gpio \
+   kmod-geodewdt kmod-hwmon-core kmod-hwmon-pc87360 \
+   kmod-via-rhine \
+   kmod-i2c-core kmod-i2c-gpio \
+   kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+   kmod-usb-core kmod-usb2 kmod-usb-hid kmod-usb-uhci
+CFLAGS += -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps \
+ -fno-align-labels
+
+define Target/Description
+   Build firmware images for Soekris net5501 board
+endef
+
Index: target/linux/x86/image/Config.in
===
--- target/linux/x86/image/Config.in(revision 20749)
+++ target/linux/x86/image/Config.in(working copy)
@@ -13,8 +13,8 @@
 bool
 depends X86_GRUB_IMAGES
 prompt Use Console Terminal (in addition to Serial)
-default n if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx
-default y if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx)
+default n if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501
+default y if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)

 config X86_GRUB_SERIAL
 string
@@ -26,8 +26,8 @@
 config X86_GRUB_BAUDRATE
 int Serial port baud rate
 depends X86_GRUB_IMAGES
-default 19200 if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx
-default 38400 if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx)
+default 19200 if TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501
+default 38400 if ! (TARGET_x86_generic_Soekris48xx || 
TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)

 config X86_GRUB_KERNELPART
 int Kernel partition size (in MB)
Index: target/linux/x86/config-default
===
--- target/linux/x86/config-default (revision 20749)
+++ target/linux/x86/config-default (working copy)
@@ -3,28 +3,7 @@
 # CONFIG_60XX_WDT is not set
 # CONFIG_64BIT is not set
 # CONFIG_AC3200 is not set
-CONFIG_ACPI=y
-# CONFIG_ACPI_AC is not set
-# CONFIG_ACPI_ASUS is not set
-# CONFIG_ACPI_BATTERY is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_BUTTON is not set
-# CONFIG_ACPI_CONTAINER is not set
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-# CONFIG_ACPI_DEBUG is not set
-# CONFIG_ACPI_DOCK is not set
-# CONFIG_ACPI_FAN is not set
-# CONFIG_ACPI_PCI_SLOT is not set
-CONFIG_ACPI_PROCESSOR=y
-# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
-# CONFIG_ACPI_PROCFS is not set
-# CONFIG_ACPI_PROCFS_POWER is not set

[OpenWrt-Devel] Bringing up new platforms

2010-04-08 Thread Philip A. Prindeville
I'm trying to bring up the net5501 and having some success, but since
I've just been using the project since Sunday I'm a bit at the bottom of
the learning curve.

I was wondering if there was a cheat-sheet on how to build common
targets that might assist in doing a partial rebuild, etc.

Here are some targets that would be useful to have:

* print the value of a Make variable

* rebuild the .config file

* nuke the necessary directories prior to a kernel rebuild, following a
change to config-default or target.mk for a target or subtarget

* rebuild modules following changing the $(DEFAULT_PACKAGES) value in a
target.mk

* rebuild the image (ext2, squashfs, jffs, etc) following rebuilding the
kernel or any targets

* also, is there a hook I can define to run a script that (for instance)
runs sed on various files in /etc/config before publishing an image
(i.e. before openwrt-x86-ext2.image.gz gets mksquashfs'd or whatever)...

After I get this platform solid, I've got a few more I'd like to bring up.

Thanks,

-Philip

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel