[OpenWrt-Devel] Failing x86 builds with eglibc
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[ 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
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