1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 16:43:09 +02:00

nbd's makefile/menuconfig rewrite

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@307 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
mbm 2005-03-06 03:34:52 +00:00
parent 7d3d15851a
commit f77b88d124
151 changed files with 8247 additions and 1949 deletions

View File

@ -2,6 +2,10 @@
mainmenu "OpenWRT Configuration"
config MODULES
bool
default y
config BR2_HAVE_DOT_CONFIG
bool
default y
@ -102,8 +106,5 @@ config BR2_JLEVEL
endmenu
source "toolchain/Config.in"
source "package/Config.in"
source "target/Config.in"

136
Makefile
View File

@ -1,5 +1,6 @@
# Makefile for buildroot2
# Makefile for OpenWRT
#
# Copyright (C) 2005 by Felix Fietkau <nbd@vd-s.ath.cx>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
@ -21,7 +22,8 @@
# Just run 'make menuconfig', configure stuff, then run 'make'.
# You shouldn't need to mess with anything beyond this point...
#--------------------------------------------------------------
TOPDIR=./
TOPDIR=${shell pwd}
export TOPDIR
CONFIG_CONFIG_IN = Config.in
CONFIG_DEFCONFIG = .defconfig
CONFIG = package/config
@ -31,27 +33,30 @@ noconfig_targets := menuconfig config oldconfig randconfig \
# Pull in the user's configuration file
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include $(TOPDIR).config
endif
ifeq ($(BR2_TAR_VERBOSITY),y)
TAR_OPTIONS=-xvf
else
TAR_OPTIONS=-xf
-include $(TOPDIR)/.config
endif
ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
include $(TOPDIR)/rules.mk
#############################################################
all: world
##############################################################
#
# The list of stuff to build for the target toolchain
# along with the packages to build for the target.
# Build the toolchain
#
##############################################################
TARGETS:=host-sed kernel-headers uclibc-configured binutils gcc uclibc-target-utils linux openwrt
toolchain_install:
$(MAKE) -C toolchain install
include toolchain/Makefile.in
include package/Makefile.in
##############################################################
#
# Make all packages
#
##############################################################
package_install: toolchain
$(MAKE) -C package compile install
#############################################################
#
@ -61,32 +66,12 @@ include package/Makefile.in
#############################################################
all: world
# In this section, we need .config
include .config.cmd
# We also need the various per-package makefiles, which also add
# each selected package to TARGETS if that package was selected
# in the .config file.
include toolchain/*/*.mk
include package/*/*.mk
include target/*/*.mk
world: $(DL_DIR) $(BUILD_DIR) target_prepare $(TARGET_DIR) toolchain_install package_install target_install
# target stuff is last so it can override anything else
include target/Makefile.in
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
@echo DONE.
.PHONY: all world clean dirclean distclean source $(TARGETS) \
$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
.PHONY: all world clean dirclean distclean image_clean target_clean source target_prepare target_install toolchain_install package_install
#############################################################
#
@ -94,33 +79,18 @@ world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
# dependancies anywhere else
#
#############################################################
target_prepare:
$(MAKE) -C target prepare
target_install:
$(MAKE) -C target install
$(DL_DIR):
@mkdir -p $(DL_DIR)
$(BUILD_DIR):
@mkdir -p $(BUILD_DIR)
$(TOOL_BUILD_DIR):
@mkdir -p $(TOOL_BUILD_DIR)
$(STAGING_DIR):
@mkdir -p $(STAGING_DIR)/lib
@mkdir -p $(STAGING_DIR)/include
@mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
@ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
$(TARGET_DIR):
if [ -f "$(TARGET_SKELETON)" ] ; then \
zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \
fi;
if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
fi;
-find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
-find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
-ln -sf /tmp/resolv.conf $(TARGET_DIR)/etc
-mkdir -p $(TARGET_DIR)/jffs
source: $(TARGETS_SOURCE)
#############################################################
@ -128,27 +98,34 @@ source: $(TARGETS_SOURCE)
# Cleanup and misc junk
#
#############################################################
clean:
rm -rf $(TARGET_DIR) $(IMAGE).*
$(MAKE) openwrt-image-clean
image_clean:
rm -f $(STAMP_DIR)/.*-compile
rm -f $(STAMP_DIR)/.*-install
rm -rf $(BIN_DIR)
dirclean: $(TARGETS_DIRCLEAN)
rm -rf $(TARGET_DIR) $(IMAGE).*
$(MAKE) openwrt-image-dirclean
target_clean: image_clean
rm -rf $(TARGET_DIR)
clean: target_clean
@$(MAKE) -C $(CONFIG) clean
dirclean: clean
rm -rf $(STAMP_DIR)
$(MAKE) -C package clean
$(MAKE) -C target clean
rm -rf $(BUILD_DIR)
distclean: clean
rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
rm .config* .tmpconfig.h
rm -rf $(STAMP_DIR) $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
rm -f .config* .tmpconfig.h
sourceball:
rm -rf $(BUILD_DIR)
sourceball: distclean
set -e; \
cd ..; \
rm -f buildroot.tar.bz2; \
tar -cvf buildroot.tar buildroot; \
bzip2 -9 buildroot.tar; \
else # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
all: menuconfig
@ -162,7 +139,7 @@ $(CONFIG)/conf:
cp $(CONFIG_DEFCONFIG) .config; \
fi
$(CONFIG)/mconf:
$(MAKE) -C $(CONFIG) ncurses conf mconf
$(MAKE) -C $(CONFIG)
-@if [ ! -f .config ] ; then \
cp $(CONFIG_DEFCONFIG) .config; \
fi
@ -171,21 +148,25 @@ 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)
@ -193,31 +174,22 @@ allyesconfig: $(CONFIG)/conf
-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)
#############################################################
#
# Cleanup and misc junk
#
#############################################################
clean:
@$(MAKE) -C $(CONFIG) clean
distclean: clean
-./scripts/configtest.pl
endif # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
.PHONY: dummy subdirs release distclean clean config oldconfig \
menuconfig tags check test depend
targets:
@echo $(TARGETS)

View File

@ -5,6 +5,13 @@
Changes between official and experimental
*) new buildroot (based on uClib buildroot2)
*) makefiles are no longer included but executed instead
=> easier to create packages
*) enhanced configuration system
*) busybox fully configurable from menuconfig
*) enabled tristate for some packages
=> < > disabled, <M> compile as .ipk, <*> compile as .ipk and embed
*) new kernel (updated to 2.4.29)

View File

@ -2,20 +2,33 @@
menu "OpenWrt Package Selection"
comment "The absolute minimum"
source "package/linux/Config.in"
source "package/busybox/Config.in"
comment "The default set"
source "package/busybox/Config.in"
source "package/dnsmasq/Config.in"
source "package/iptables/Config.in"
source "package/bridge/Config.in"
comment "libraries"
source "package/zlib/Config.in"
comment "Suggested Extras"
comment "Networking"
source "package/linksys-utils/Config.in"
source "package/ppp/Config.in"
source "package/dropbear/Config.in"
source "package/ebtables/Config.in"
source "package/dropbear_sshd/Config.in"
source "package/arptables/Config.in"
source "package/iproute2/Config.in"
source "package/openvpn/Config.in"
comment "Libraries"
source "package/zlib/Config.in"
source "package/lzo/Config.in"
source "package/openssl/Config.in"
endmenu
menu "Kernel Configuration"
source "package/linux/Config.in"
endmenu
source "package/Sysconf.in"

44
package/Makefile Normal file
View File

@ -0,0 +1,44 @@
# Main makefile for the packages
include $(TOPDIR)/rules.mk
package-y:=openwrt
package-$(BR2_PACKAGE_BRIDGE) += bridge
package-$(BR2_PACKAGE_BUSYBOX) += busybox
package-$(BR2_PACKAGE_DROPBEAR) += dropbear
package-$(BR2_PACKAGE_DNSMASQ) += dnsmasq
package-$(BR2_PACKAGE_EBTABLES) += ebtables
package-$(BR2_PACKAGE_ARPTABLES) += arptables
package-$(BR2_PACKAGE_IPTABLES) += iptables
package-$(BR2_PACKAGE_PPP) += ppp
package-$(BR2_PACKAGE_LZO) += lzo
package-$(BR2_PACKAGE_ZLIB) += zlib
package-$(BR2_PACKAGE_OPENSSL) += openssl
package-$(BR2_PACKAGE_OPENVPN) += openvpn
package-$(BR2_PACKAGE_IPROUTE2) += iproute2
package-$(BR2_PACKAGE_LINKSYS_UTILS) += linksys-utils
all: compile install
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m)) linux-clean
compile: $(patsubst %,%-compile,$(package-y) $(package-m))
install: $(patsubst %,%-install,$(package-y))
dropbear-compile: zlib-compile
openssl-compile: zlib-compile
$(patsubst %,%-prepare,$(package-y) $(package-m)): linux-install
%-prepare:
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
@touch $(STAMP_DIR)/.$@
%-compile: %-prepare
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
@touch $(STAMP_DIR)/.$@
%-install: %-compile
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
@touch $(STAMP_DIR)/.$@
%-clean:
@$(MAKE) -C $(patsubst %-clean,%,$@) clean
@rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-*

View File

@ -1,65 +0,0 @@
MAKE1=make
MAKE=make -j$(BR2_JLEVEL)
# Strip off the annoying quoting
ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
#"
WGET:=$(strip $(subst ",, $(BR2_WGET)))
#"
ifneq ($(BR2_LARGEFILE),y)
DISABLE_LARGEFILE= --disable-largefile
endif
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
HOSTCC:=gcc
BASE_DIR:=${shell pwd}
DL_DIR:=$(BASE_DIR)/dl
BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
PACKAGE_DIR:=$(BASE_DIR)/package
TARGET_DIR:=$(BUILD_DIR)/root
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
# Strip off the annoying quoting
STAGING_DIR:=$(strip $(subst ",, $(BR2_STAGING_DIR)))
#"
TARGET_PATH=$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
IMAGE:=$(BASE_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
KERNEL_CROSS=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
TARGET_CROSS=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
TARGET_CC=$(TARGET_CROSS)gcc
STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
PATCH=toolchain/patch-kernel.sh
HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
-e 's/sparc.*/sparc/' \
-e 's/arm.*/arm/g' \
-e 's/m68k.*/m68k/' \
-e 's/ppc/powerpc/g' \
-e 's/v850.*/v850/g' \
-e 's/sh[234]/sh/' \
-e 's/mips-.*/mips/' \
-e 's/mipsel-.*/mipsel/' \
-e 's/cris.*/cris/' \
-e 's/i[3-9]86/i386/' \
)
GNU_HOST_NAME:=$(HOST_ARCH)-pc-linux-gnu
TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
AR=$(TARGET_CROSS)ar \
AS=$(TARGET_CROSS)as \
LD=$(TARGET_CROSS)ld \
NM=$(TARGET_CROSS)nm \
CC=$(TARGET_CROSS)gcc \
GCC=$(TARGET_CROSS)gcc \
CXX=$(TARGET_CROSS)g++ \
RANLIB=$(TARGET_CROSS)ranlib
ifeq ($(ENABLE_LOCALE),true)
DISABLE_NLS:=
else
DISABLE_NLS:=--disable-nls
endif

31
package/Sysconf.in Normal file
View File

@ -0,0 +1,31 @@
#
menu "Runtime Configuration"
choice
bool "Telnet access"
default BR2_SYSCONF_TELNET_OPEN
config BR2_SYSCONF_TELNET_FAILSAFE_ONLY
bool "open, failsafe only"
config BR2_SYSCONF_TELNET_OPEN
bool "open"
endchoice
menu "Failsafe configuration"
config BR2_SYSCONF_FAILSAFE_IP
string "IP Address"
default "192.168.1.1"
config BR2_SYSCONF_FAILSAFE_NETMASK
string "Netmask"
default "255.255.255.0"
config BR2_SYSCONF_FAILSAFE_MAC
string "MAC Address"
default "00:00:BA:DC:0D:ED"
endmenu
endmenu

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_ARPTABLES
tristate "ARP Firewalling"
default m
help
ARP Firewalling (arptables)
http://ebtables.sourceforge.net/

View File

@ -0,0 +1,43 @@
#############################################################
#
# arptables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=arptables
PKG_VERSION:=0.0.3
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://umn.dl.sourceforge.net/sourceforge/ebtables/
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/arptables: $(PKG_BUILD_DIR)/.unpacked
$(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
CFLAGS="$(TARGET_CFLAGS) -Wall -I$(PKG_BUILD_DIR)/include/linux/include -I$(PKG_BUILD_DIR)/include -DARPTABLES_VERSION=\\\"$(PKG_VERSION)\\\" "
$(PKG_IPK): $(PKG_BUILD_DIR)/arptables
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/arptables $(PKG_IPK_DIR)/usr/sbin/
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install:
$(IPKG) install $(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,8 @@
Package: arptables
Priority: optional
Section: net
Version: 1.2.11-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: ARP firewalling software

View File

@ -1,5 +1,5 @@
config BR2_PACKAGE_BRIDGE
bool "bridge"
tristate "Ethernet bridging support"
default y
help
Manage ethernet bridging; a way to connect networks together to

69
package/bridge/Makefile Normal file
View File

@ -0,0 +1,69 @@
#############################################################
#
# ebtables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=bridge
PKG_VERSION:=1.0.4
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://umn.dl.sourceforge.net/sourceforge/bridge
PKG_SOURCE:=bridge-utils-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/bridge-utils-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.patched: $(PKG_BUILD_DIR)/.unpacked
$(PATCH) $(PKG_BUILD_DIR) ./patches
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(DISABLE_NLS) \
--with-linux-headers=$(LINUX_DIR) \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/brctl/brctl: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR)
$(PKG_IPK): $(PKG_BUILD_DIR)/brctl/brctl
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/brctl/brctl $(PKG_IPK_DIR)/usr/sbin/
$(STRIP) $(PKG_IPK_DIR)/usr/sbin/brctl
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(PKG_IPK)
install:
$(IPKG) install $(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,8 @@
Package: bridge
Priority: essential
Section: net
Version: 1.0.4-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Ethernet bridging tools

View File

@ -1,73 +0,0 @@
#############################################################
#
# bridgeutils - User Space Program For Controling Bridging
#
#############################################################
#
BRIDGE_SOURCE_URL=http://umn.dl.sourceforge.net/sourceforge/bridge/
BRIDGE_SOURCE=bridge-utils-1.0.4.tar.gz
BRIDGE_BUILD_DIR=$(BUILD_DIR)/bridge-utils-1.0.4
BRIDGE_PATCHES=$(PACKAGE_DIR)/bridge/patches
BRIDGE_TARGET_BINARY:=usr/sbin/brctl
$(DL_DIR)/$(BRIDGE_SOURCE):
$(WGET) -P $(DL_DIR) $(BRIDGE_SOURCE_URL)/$(BRIDGE_SOURCE)
$(BRIDGE_BUILD_DIR)/.unpacked: $(DL_DIR)/$(BRIDGE_SOURCE)
zcat $(DL_DIR)/$(BRIDGE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(BRIDGE_BUILD_DIR)/.unpacked
$(BRIDGE_BUILD_DIR)/.patched: $(BRIDGE_BUILD_DIR)/.unpacked
$(PATCH) $(BRIDGE_BUILD_DIR) $(BRIDGE_PATCHES)
touch $(BRIDGE_BUILD_DIR)/.patched
$(BRIDGE_BUILD_DIR)/.configured: $(BRIDGE_BUILD_DIR)/.patched
(cd $(BRIDGE_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(DISABLE_NLS) \
--with-linux-headers=$(LINUX_DIR) \
);
touch $(BRIDGE_BUILD_DIR)/.configured
$(BRIDGE_BUILD_DIR)/brctl/brctl: $(BRIDGE_BUILD_DIR)/.configured
$(MAKE) -C $(BRIDGE_BUILD_DIR)
$(TARGET_DIR)/$(BRIDGE_TARGET_BINARY): $(BRIDGE_BUILD_DIR)/brctl/brctl
mkdir -p $(TARGET_DIR)/usr/sbin
cp -af $(BRIDGE_BUILD_DIR)/brctl/brctl $(TARGET_DIR)/$(BRIDGE_TARGET_BINARY)
$(STRIP) $(TARGET_DIR)/$(BRIDGE_TARGET_BINARY)
bridge: uclibc $(TARGET_DIR)/$(BRIDGE_TARGET_BINARY)
bridge-source: $(DL_DIR)/$(BRIDGE_SOURCE)
bridge-clean:
#$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BRIDGE_BUILD_DIR) uninstall
-$(MAKE) -C $(BRIDGE_BUILD_DIR) clean
bridge-dirclean:
rm -rf $(BRIDGE_BUILD_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_BRIDGE)),y)
TARGETS+=bridge
endif

View File

@ -17,3 +17,10 @@ config BR2_PACKAGE_BUSYBOX_SNAPSHOT
Use the latest busybox CVS snapshot instead of release.
For fun, you should say Y.
menu "Busybox Configuration"
depends BR2_PACKAGE_BUSYBOX
source package/busybox/config/Config.in
endmenu

9
package/busybox/Makefile Normal file
View File

@ -0,0 +1,9 @@
include $(TOPDIR)/rules.mk
include ./busybox.mk
source: busybox-source
prepare: $(BUSYBOX_DIR)/.unpacked
compile: $(BUSYBOX_DIR)/busybox
install: busybox
clean: busybox-dirclean

View File

@ -26,7 +26,7 @@ CONFIG_FEATURE_SUID=y
CONFIG_LFS=y
USING_CROSS_COMPILER=y
CROSS_COMPILER_PREFIX="mipsel-uclibc-"
EXTRA_CFLAGS_OPTIONS="-Os "
EXTRA_CFLAGS_OPTIONS="-Os -pipe -mips2"
#
# Installation Options
@ -189,7 +189,7 @@ CONFIG_MKTEMP=y
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_READLINK is not set
CONFIG_RUN_PARTS=y
# CONFIG_START_STOP_DAEMON is not set
CONFIG_START_STOP_DAEMON=y
CONFIG_WHICH=y
#

View File

@ -16,7 +16,7 @@ BUSYBOX_SOURCE:=busybox-$(BUSYBOX_VER).tar.bz2
BUSYBOX_SITE:=http://www.busybox.net/downloads
endif
BUSYBOX_UNZIP=bzcat
BUSYBOX_CONFIG:=package/busybox/busybox.config
BUSYBOX_CONFIG:=./busybox.config
$(DL_DIR)/$(BUSYBOX_SOURCE):
$(WGET) -P $(DL_DIR) $(BUSYBOX_SITE)/$(BUSYBOX_SOURCE)
@ -26,19 +26,20 @@ busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE) $(BUSYBOX_CONFIG)
$(BUSYBOX_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE)
$(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
# Allow busybox patches.
toolchain/patch-kernel.sh $(BUSYBOX_DIR) package/busybox/patches
$(PATCH) $(BUSYBOX_DIR) ./patches
touch $(BUSYBOX_DIR)/.unpacked
$(BUSYBOX_DIR)/.configured: $(BUSYBOX_DIR)/.unpacked $(BUSYBOX_CONFIG)
cp $(BUSYBOX_CONFIG) $(BUSYBOX_DIR)/.config
$(SED) "s,^CROSS.*,CROSS=$(TARGET_CROSS)\n\
PREFIX=$(TARGET_DIR),;" $(BUSYBOX_DIR)/Rules.mak
ifeq ($(BR2_LARGEFILE),y)
$(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=y/;" $(BUSYBOX_DIR)/.config
else
$(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=n/;" $(BUSYBOX_DIR)/.config
$(SED) "s/^.*FDISK_SUPPORT_LARGE_DISKS.*/FDISK_SUPPORT_LARGE_DISKS=n/;" $(BUSYBOX_DIR)/.config
endif
$(SCRIPT_DIR)/gen_busybox_config.pl $(TOPDIR)/.config > $(BUSYBOX_DIR)/.config
# cp $(BUSYBOX_CONFIG) $(BUSYBOX_DIR)/.config
# $(SED) "s,^CROSS.*,CROSS=$(TARGET_CROSS)\n\
# PREFIX=$(TARGET_DIR),;" $(BUSYBOX_DIR)/Rules.mak
#ifeq ($(BR2_LARGEFILE),y)
# $(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=y/;" $(BUSYBOX_DIR)/.config
#else
# $(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=n/;" $(BUSYBOX_DIR)/.config
# $(SED) "s/^.*FDISK_SUPPORT_LARGE_DISKS.*/FDISK_SUPPORT_LARGE_DISKS=n/;" $(BUSYBOX_DIR)/.config
#endif
$(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) oldconfig
touch $(BUSYBOX_DIR)/.configured
@ -49,10 +50,11 @@ $(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.configured
$(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox
$(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR) install
$(STRIP) $(TARGET_DIR)/bin/busybox
# Just in case
-chmod a+x $(TARGET_DIR)/usr/share/udhcpc/default.script
busybox: uclibc $(TARGET_DIR)/bin/busybox
busybox: $(TARGET_DIR)/bin/busybox
busybox-clean:
rm -f $(TARGET_DIR)/bin/busybox
@ -60,12 +62,3 @@ busybox-clean:
busybox-dirclean:
rm -rf $(BUSYBOX_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_BUSYBOX)),y)
TARGETS+=busybox
endif

View File

@ -0,0 +1,293 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
config BUSYBOX_HAVE_DOT_CONFIG
bool
default y
menu "General Configuration"
choice
prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
help
There are 3 ways BusyBox can handle buffer allocations:
- Use malloc. This costs code size for the call to xmalloc.
- Put them on stack. For some very small machines with limited stack
space, this can be deadly. For most folks, this works just fine.
- Put them in BSS. This works beautifully for computers with a real
MMU (and OS support), but wastes runtime RAM for uCLinux. This
behavior was the only one available for BusyBox versions 0.48 and
earlier.
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
bool "Allocate with Malloc"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
bool "Allocate on the Stack"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
bool "Allocate in the .bss section"
endchoice
config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default y
help
All BusyBox applets will show more verbose help messages when
busybox is invoked with --help. This will add a lot of text to the
busybox binary. In the default configuration, this will add about
13k, but it can add much more depending on your configuration.
config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime"
default n
help
Enable 'busybox --install [-s]' support. This will allow you to use
busybox at runtime to create hard links or symlinks for all the
applets that are compiled into busybox. This feature requires the
/proc filesystem.
config BUSYBOX_CONFIG_LOCALE_SUPPORT
bool "Enable locale support (system needs locale for this to work)"
default n
help
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_FEATURE_DEVFS
bool "Support for devfs"
default y
help
Enable if you want BusyBox to work with devfs.
config BUSYBOX_CONFIG_FEATURE_DEVPTS
bool "Use the devpts filesystem for Unix98 PTYs"
default y if BUSYBOX_CONFIG_FEATURE_DEVFS
help
Enable if you want BusyBox to use Unix98 PTY support. If enabled,
busybox will use /dev/ptmx for the master side of the pseudoterminal
and /dev/pts/<number> for the slave side. Otherwise, BSD style
/dev/ttyp<number> will be used. To use this option, you should have
devpts or devfs mounted.
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
bool "Clean up all memory before exiting (usually not needed)"
default n
help
As a size optimization, busybox by default does not cleanup memory
that is dynamically allocated or close files before exiting. This
saves space and is usually not needed since the OS will clean up for
us. Don't enable this unless you have a really good reason to clean
things up manually.
config BUSYBOX_CONFIG_FEATURE_SUID
bool "Support for SUID/SGID handling"
default y
help
Support SUID and SGID binaries.
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
default n if BUSYBOX_CONFIG_FEATURE_SUID
depends on BUSYBOX_CONFIG_FEATURE_SUID
help
Allow the SUID / SGID state of an applet to be determined runtime by
checking /etc/busybox.conf. The format of this file is as follows:
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
An example might help:
[SUID]
su = ssx root.0 # applet su can be run by anyone and runs with euid=0/egid=0
su = ssx # exactly the same
mount = sx- root.disk # applet mount can be run by root and members of group disk
# and runs with euid=0
cp = --- # disable applet cp for everyone
Robert 'sandman' Griebl has more information here:
<url: http://www.softforge.de/bb/suid.html >.
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
bool "Suppress warning message if /etc/busybox.conf is not readable"
default n
depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
help
/etc/busybox.conf should be readable by the user needing the SUID, check
this option to avoid users to be notified about missing permissions.
config BUSYBOX_CONFIG_SELINUX
bool "Support NSA Security Enhanced Linux"
default n
help
Enable support for SE Linux in applets ls, ps, and id. Also provide
the option of compiling in SE Linux applets.
If you do not have a complete SE Linux Full Userland installed, this
stuff will not compile. Go visit
http://www.nsa.gov/selinux/index.html
to download the necessary stuff to allow busybox to compile with this
option enabled.
Most people will leave this set to 'N'.
endmenu
menu 'Build Options'
config BUSYBOX_CONFIG_STATIC
bool "Build BusyBox as a static binary (no shared libs)"
default n
help
If you want to build a static BusyBox binary, which does not
use or require any shared libraries, then enable this option.
This can cause BusyBox to be considerably larger, so you should
leave this option false unless you have a good reason (i.e.
your target platform does not support shared libraries, or
you are building an initrd which doesn't need anything but
BusyBox, etc).
Most people will leave this set to 'N'.
config BUSYBOX_CONFIG_LFS
bool
default y
select BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
help
If you want to build BusyBox with large file support, then enable
this option. This will have no effect if your kernel or your C
library lacks large file support for large files. Some of the
programs that can benefit from large file support include dd, gzip,
cp, mount, tar, and many others. If you want to access files larger
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
config BUSYBOX_USING_CROSS_COMPILER
bool
default y
help
Do you want to build BusyBox with a Cross Compiler? If so,
then enable this option. Otherwise leave it set to 'N'.
config BUSYBOX_CROSS_COMPILER_PREFIX
string
default "mipsel-uclibc-"
depends on BUSYBOX_USING_CROSS_COMPILER
help
If you want to build BusyBox with a cross compiler, then you
will need to set this to the cross-compiler prefix. For example,
if my cross-compiler is /usr/i386-linux-uclibc/bin/i386-uclibc-gcc
then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
which will ensure the correct compiler is used.
config BUSYBOX_EXTRA_CFLAGS_OPTIONS
string
default "-Os "
help
Do you want to pass any extra CFLAGS options to the compiler as
you build BusyBox? If so, this is the option for you... For example,
if you want to add some simple compiler switches (like -march=i686),
or check for warnings using -Werror, just those options here.
endmenu
menu 'Installation Options'
config BUSYBOX_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default n
help
Disable use of /usr. Don't activate this option if you don't know
that you really want this behaviour.
config BUSYBOX_PREFIX
string
default "./_install"
help
Define your directory to install BusyBox files/subdirs in.
endmenu
source package/busybox/config/archival/Config.in
source package/busybox/config/coreutils/Config.in
source package/busybox/config/console-tools/Config.in
source package/busybox/config/debianutils/Config.in
source package/busybox/config/editors/Config.in
source package/busybox/config/findutils/Config.in
source package/busybox/config/init/Config.in
source package/busybox/config/loginutils/Config.in
source package/busybox/config/miscutils/Config.in
source package/busybox/config/modutils/Config.in
source package/busybox/config/networking/Config.in
source package/busybox/config/procps/Config.in
source package/busybox/config/shell/Config.in
source package/busybox/config/sysklogd/Config.in
source package/busybox/config/util-linux/Config.in
menu 'Debugging Options'
config BUSYBOX_CONFIG_DEBUG
bool "Build BusyBox with Debugging symbols"
default n
help
Say Y here if you wish to compile BusyBox with debugging symbols.
This will allow you to use a debugger to examine BusyBox internals
while applets are running. This increases the size of the binary
considerably and should only be used when doing development.
If you are doing development and want to debug BusyBox, answer Y.
Most people should answer N.
choice
prompt "Additional debugging library"
default BUSYBOX_CONFIG_NO_DEBUG_LIB
depends on BUSYBOX_CONFIG_DEBUG
help
Using an additional debugging library will make BusyBox become
considerable larger and will cause it to run more slowly. You
should always leave this option disabled for production use.
dmalloc support:
----------------
This enables compiling with dmalloc ( http://dmalloc.com/ )
which is an excellent public domain mem leak and malloc problem
detector. To enable dmalloc, before running busybox you will
want to properly set your environment, for example:
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
The 'debug=' value is generated using the following command
dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \
-p check-fence -p check-heap -p check-lists -p check-blank \
-p check-funcs -p realloc-copy -p allow-free-null
Electric-fence support:
-----------------------
This enables compiling with Electric-fence support. Electric
fence is another very useful malloc debugging library which uses
your computer's virtual memory hardware to detect illegal memory
accesses. This support will make BusyBox be considerable larger
and run slower, so you should leave this option disabled unless
you are hunting a hard to find memory problem.
config BUSYBOX_CONFIG_NO_DEBUG_LIB
bool "None"
config BUSYBOX_CONFIG_DMALLOC
bool "Dmalloc"
config BUSYBOX_CONFIG_EFENCE
bool "Electric-fence"
endchoice
endmenu

View File

@ -0,0 +1,258 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Archival Utilities"
config BUSYBOX_CONFIG_AR
bool "ar"
default n
help
ar is an archival utility program used to create, modify, and
extract contents from archives. An archive is a single file holding
a collection of other files in a structure that makes it possible to
retrieve the original individual files (called archive members).
The original files' contents, mode (permissions), timestamp, owner,
and group are preserved in the archive, and can be restored on
extraction.
The stored filename is limited to 15 characters. (for more information
see long filename support).
ar has 60 bytes of overheads for every stored file.
This implementation of ar can extract archives, it cannot create or
modify them.
On an x86 system, the ar applet adds about 1K.
Unless you have a specific application which requires ar, you should
probably say N here.
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
bool " Enable support for long filenames (not need for debs)"
default n
depends on BUSYBOX_CONFIG_AR
help
By default the ar format can only store the first 15 characters of the
filename, this option removes that limitation.
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2"
default y
help
bunzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
is generally considerably better than that achieved by more
conventional LZ77/LZ78-based compressors, and approaches the
performance of the PPM family of statistical compressors.
The BusyBox bunzip2 applet is limited to de-compression only.
On an x86 system, this applet adds about 11K.
Unless you have a specific application which requires bunzip2, you
should probably say N here.
config BUSYBOX_CONFIG_CPIO
bool "cpio"
default n
help
cpio is an archival utility program used to create, modify, and extract
contents from archives.
cpio has 110 bytes of overheads for every stored file.
This implementation of cpio can extract cpio archives created in the
"newc" or "crc" format, it cannot create or modify them.
Unless you have a specific application which requires cpio, you should
probably say N here.
config BUSYBOX_CONFIG_DPKG
bool "dpkg"
default n
help
dpkg is a medium-level tool to install, build, remove and manage Debian packages.
This implementation of dpkg has a number of limitations, you should use the
official dpkg if possible.
config BUSYBOX_CONFIG_DPKG_DEB
bool "dpkg_deb"
default n
help
dpkg-deb packs, unpacks and provides information about Debian archives.
This implementation of dpkg-deb cannot pack archives.
Unless you have a specific application which requires dpkg-deb, you should
probably say N here.
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
bool " extract only (-x)"
default n
depends on BUSYBOX_CONFIG_DPKG_DEB
help
This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
However it saves space as none of the extra dpkg-deb, ar or tar options are
needed, they are linked to internally.
config BUSYBOX_CONFIG_GUNZIP
bool "gunzip"
default y
help
gunzip is used to decompress archives created by gzip.
You can use the `-t' option to test the integrity of
an archive, without decompressing it.
config BUSYBOX_CONFIG_FEATURE_GUNZIP_UNCOMPRESS
bool " Uncompress support"
default y
depends on BUSYBOX_CONFIG_GUNZIP
help
Enable if you want gunzip to have the ability to decompress
archives created by the program compress (not much
used anymore).
config BUSYBOX_CONFIG_GZIP
bool "gzip"
default y
help
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
config BUSYBOX_CONFIG_RPM2CPIO
bool "rpm2cpio"
default n
help
Converts an RPM file into a CPIO archive.
config BUSYBOX_CONFIG_RPM
bool "rpm"
default n
help
Mini RPM applet - queries and extracts
config BUSYBOX_CONFIG_TAR
bool "tar"
default y
help
tar is an archiving program. It's commonly used with gzip to
create compressed archives. It's probably the most widely used
UNIX archive program.
config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
bool " Enable archive creation"
default y
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option you'll be able to create
tar archives using the `-c' option.
config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
bool " Enable -j option to handle .tar.bz2 files"
default y
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option you'll be able to extract
archives compressed with bzip2.
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
bool " Enable -X (exclude from) and -T (include from) options)"
default n
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option you'll be able to specify
a list of files to include or exclude from an archive.
config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
bool " Enable -z option"
default y
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option tar will be able to call gzip,
when creating or extracting tar gziped archives.
config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
bool " Enable -Z option"
default n
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option tar will be able to call uncompress,
when extracting .tar.Z archives.
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY
bool " Enable support for old tar header format"
default n
depends on BUSYBOX_CONFIG_TAR
help
This option is required to unpack archives created in
the old GNU format; help to kill this old format by
repacking your ancient archives with the new format.
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
bool " Enable support for some GNU tar extensions"
default y
depends on BUSYBOX_CONFIG_TAR
help
With this option busybox supports GNU long filenames and
linknames.
config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
bool " Enable long options"
default n
depends on BUSYBOX_CONFIG_TAR
help
Enable use of long options, increases size by about 400 Bytes
config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress"
default n
help
uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip.
config BUSYBOX_CONFIG_UNZIP
bool "unzip"
default n
help
unzip will list or extract files from a ZIP archive,
commonly found on DOS/WIN systems. The default behavior
(with no options) is to extract the archive into the
current directory. Use the `-d' option to extract to a
directory of your choice.
comment "Common options for cpio and tar"
depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
config BUSYBOX_CONFIG_FEATURE_UNARCHIVE_TAPE
bool " Enable tape drive support"
default n
depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
help
I don't think this is needed anymore.
comment "Common options for dpkg and dpkg_deb"
depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
bool " gzip debian packages (normal)"
default n if BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
help
This is the default compression method inside the debian ar file.
If you want compatibility with standard .deb's you should say yes here.
config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
bool " bzip2 debian packages"
default n
depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
help
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
with bzip2 instead of gzip.
You only want this if you are creating your own custom debian packages that
use an internal control.tar.bz2 or data.tar.bz2.
endmenu

View File

@ -0,0 +1,68 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Console Utilities"
config BUSYBOX_CONFIG_CHVT
bool "chvt"
default n
help
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
config BUSYBOX_CONFIG_CLEAR
bool "clear"
default y
help
This program clears the terminal screen.
config BUSYBOX_CONFIG_DEALLOCVT
bool "deallocvt"
default n
help
This program deallocates unused virtual consoles.
config BUSYBOX_CONFIG_DUMPKMAP
bool "dumpkmap"
default n
help
This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it.
config BUSYBOX_CONFIG_LOADFONT
bool "loadfont"
default n
help
This program loads a console font from standard input.
config BUSYBOX_CONFIG_LOADKMAP
bool "loadkmap"
default n
help
This program loads a keyboard translation table from
standard input.
config BUSYBOX_CONFIG_OPENVT
bool "openvt"
default n
help
This program is used to start a command on an unused
virtual terminal.
config BUSYBOX_CONFIG_RESET
bool "reset"
default y
help
This program is used to reset the terminal screen, if it
gets messed up.
config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes"
default n
help
This program loads entries into the kernel's scancode-to-keycode
map, allowing unusual keyboards to generate usable keycodes.
endmenu

View File

@ -0,0 +1,613 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Coreutils"
config BUSYBOX_CONFIG_BASENAME
bool "basename"
default y
help
basename is used to strip the directory and suffix from filenames,
leaving just the filename itself. Enable this option if you wish
to enable the 'basename' utility.
config BUSYBOX_CONFIG_CAL
bool "cal"
default n
help
cal is used to display a monthly calender.
config BUSYBOX_CONFIG_CAT
bool "cat"
default y
help
cat is used to concatenate files and print them to the standard
output. Enable this option if you wish to enable the 'cat' utility.
config BUSYBOX_CONFIG_CHGRP
bool "chgrp"
default y
help
chgrp is used to change the group ownership of files.
config BUSYBOX_CONFIG_CHMOD
bool "chmod"
default y
help
chmod is used to change the access permission of files.
config BUSYBOX_CONFIG_CHOWN
bool "chown"
default y
help
chown is used to change the user and/or group ownership
of files.
config BUSYBOX_CONFIG_CHROOT
bool "chroot"
default y
help
chroot is used to change the root directory and run a command.
The default command is `/bin/sh'.
config BUSYBOX_CONFIG_CMP
bool "cmp"
default n
help
cmp is used to compare two files and returns the result
to standard output.
config BUSYBOX_CONFIG_CP
bool "cp"
default y
help
cp is used to copy files and directories.
config BUSYBOX_CONFIG_CUT
bool "cut"
default y
help
cut is used to print selected parts of lines from
each file to stdout.
if BUSYBOX_CONFIG_WATCH
config BUSYBOX_CONFIG_DATE
default y
comment "date (forced enabled for use with watch)"
endif
if !CONFIG_WATCH
config BUSYBOX_CONFIG_DATE
bool "date"
default y
help
date is used to set the system date or display the
current time in the given format.
endif
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
bool " Enable ISO date format output (-I)"
default y
depends on BUSYBOX_CONFIG_DATE
help
Enable option (-I) to output an ISO-8601 compliant
date/time string.
config BUSYBOX_CONFIG_DD
bool "dd"
default y
help
dd copies a file (from standard input to standard output,
by default) using specific input and output blocksizes,
while optionally performing conversions on it.
config BUSYBOX_CONFIG_DF
bool "df"
default y
help
df reports the amount of disk space used and available
on filesystems.
config BUSYBOX_CONFIG_DIRNAME
bool "dirname"
default n
help
dirname is used to strip a non-directory suffix from
a file name.
config BUSYBOX_CONFIG_DOS2UNIX
bool "dos2unix/unix2dos"
default n
help
dos2unix is used to convert a text file from DOS format to
UNIX format, and vice versa.
config BUSYBOX_CONFIG_UNIX2DOS
bool
default n
depends on BUSYBOX_CONFIG_DOS2UNIX
config BUSYBOX_CONFIG_DU
bool "du (default blocksize of 512 bytes)"
default n
help
du is used to report the amount of disk space used
for specified files.
config BUSYBOX_CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K
bool " Use a default blocksize of 1024 bytes (1K)"
default n
depends on BUSYBOX_CONFIG_DU
help
Use a blocksize of (1K) instead of the default 512b.
config BUSYBOX_CONFIG_ECHO
bool "echo (basic SUSv3 version taking no options)"
default y
help
echo is used to print a specified string to stdout.
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
bool " Enable echo options (-n and -e)"
default y
depends on BUSYBOX_CONFIG_ECHO
help
This adds options (-n and -e) to echo.
config BUSYBOX_CONFIG_ENV
bool "env"
default y
help
env is used to set an environment variable and run
a command; without options it displays the current
environment.
config BUSYBOX_CONFIG_EXPR
bool "expr"
default y
help
expr is used to calculate numbers and print the result
to standard output.
if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
config BUSYBOX_CONFIG_FALSE
default y
comment "false (forced enabled for use with shell)"
endif
if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
config BUSYBOX_CONFIG_FALSE
bool "false"
default y
help
false returns an exit code of FALSE (1).
endif
config BUSYBOX_CONFIG_FOLD
bool "fold"
default n
help
Wrap text to fit a specific width.
config BUSYBOX_CONFIG_HEAD
bool "head"
default y
help
head is used to print the first specified number of lines
from files.
config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
bool " Enable head options (-c, -q, and -v)"
default n
depends on BUSYBOX_CONFIG_HEAD
help
This enables the head options (-c, -q, and -v).
config BUSYBOX_CONFIG_HOSTID
bool "hostid"
default y
help
hostid prints the numeric identifier (in hexadecimal) for
the current host.
config BUSYBOX_CONFIG_ID
bool "id"
default n
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_INSTALL
bool "install"
default y
help
Copy files and set attributes.
config BUSYBOX_CONFIG_LENGTH
bool "length"
default y
help
length is used to print out the length of a specified string.
config BUSYBOX_CONFIG_LN
bool "ln"
default y
help
ln is used to create hard or soft links between files.
config BUSYBOX_CONFIG_LOGNAME
bool "logname"
default n
help
logname is used to print the current user's login name.
config BUSYBOX_CONFIG_LS
bool "ls"
default y
help
ls is used to list the contents of directories.
config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
bool " Enable filetyping options (-p and -F)"
default y
depends on BUSYBOX_CONFIG_LS
help
Enable the ls options (-p and -F).
config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
bool " Enable symlinks dereferencing (-L)"
default y
depends on BUSYBOX_CONFIG_LS
help
Enable the ls option (-L).
config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
bool " Enable recursion (-R)"
default y
depends on BUSYBOX_CONFIG_LS
help
Enable the ls option (-R).
config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
bool " Sort the file names"
default y
depends on BUSYBOX_CONFIG_LS
help
Allow ls to sort file names alphabetically.
config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
bool " Show file timestamps"
default y
depends on BUSYBOX_CONFIG_LS
help
Allow ls to display timestamps for files.
config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
bool " Show username/groupnames"
default y
depends on BUSYBOX_CONFIG_LS
help
Allow ls to display username/groupname for files.
config BUSYBOX_CONFIG_FEATURE_LS_COLOR
bool " Use color to identify file types"
default y
depends on BUSYBOX_CONFIG_LS
help
Allow ls to use color when displaying files.
config BUSYBOX_CONFIG_MD5SUM
bool "md5sum"
default y
help
md5sum is used to print or check MD5 checksums.
config BUSYBOX_CONFIG_MKDIR
bool "mkdir"
default y
help
mkdir is used to create directories with the specified names.
config BUSYBOX_CONFIG_MKFIFO
bool "mkfifo"
default y
help
mkfifo is used to create FIFOs (named pipes).
The `mknod' program can also create FIFOs.
config BUSYBOX_CONFIG_MKNOD
bool "mknod"
default n
help
mknod is used to create FIFOs or block/character special
files with the specified names.
config BUSYBOX_CONFIG_MV
bool "mv"
default y
help
mv is used to move or rename files or directories.
config BUSYBOX_CONFIG_OD
bool "od"
default n
help
od is used to dump binary files in octal and other formats.
config BUSYBOX_CONFIG_PRINTF
bool "printf"
default n
help
printf is used to format and print specified strings.
It's similar to `echo' except it has more options.
config BUSYBOX_CONFIG_PWD
bool "pwd"
default y
help
pwd is used to print the current directory.
config BUSYBOX_CONFIG_REALPATH
bool "realpath"
default n
help
Return the canonicalized absolute pathname.
This isn't provided by GNU shellutils, but where else does it belong.
config BUSYBOX_CONFIG_RM
bool "rm"
default y
help
rm is used to remove files or directories.
config BUSYBOX_CONFIG_RMDIR
bool "rmdir"
default y
help
rmdir is used to remove empty directories.
config BUSYBOX_CONFIG_SEQ
bool "seq"
default n
help
print a sequence of numbers
config BUSYBOX_CONFIG_SHA1SUM
bool "sha1sum"
default n
help
Compute and check SHA1 message digest
config BUSYBOX_CONFIG_SLEEP
bool "sleep (single integer arg with no suffix)"
default y
help
sleep is used to pause for a specified number of seconds,
config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
bool " Enable multiple integer args and optional time suffixes"
default y
depends on BUSYBOX_CONFIG_SLEEP
help
Allow sleep to pause for specified minutes, hours, and days.
config BUSYBOX_CONFIG_SORT
bool "sort"
default y
help
sort is used to sort lines of text in specified files.
config BUSYBOX_CONFIG_STTY
bool "stty"
default n
help
stty is used to change and print terminal line settings.
config BUSYBOX_CONFIG_SYNC
bool "sync"
default y
help
sync is used to flush filesystem buffers.
config BUSYBOX_CONFIG_TAIL
bool "tail"
default y
help
tail is used to print the last specified number of lines
from files.
config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
bool " Enable extra tail options (-q, -s, and -v)"
default y
depends on BUSYBOX_CONFIG_TAIL
help
The options (-q, -s, and -v) are provided by GNU tail, but
are not specific in the SUSv3 standard.
config BUSYBOX_CONFIG_TEE
bool "tee"
default y
help
tee is used to read from standard input and write
to standard output and files.
config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
bool " Enable block i/o (larger/faster) instead of byte i/o."
default y
depends on BUSYBOX_CONFIG_TEE
help
Enable this option for a faster tee, at expense of size.
if BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
config BUSYBOX_CONFIG_TEST
default y
comment "test (forced enabled for use with shell)"
endif
if !CONFIG_ASH && !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
config BUSYBOX_CONFIG_TEST
bool "test"
default y
help
test is used to check file types and compare values,
returning an appropriate exit code. The shells (ash
and bash) have test builtin.
endif
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool " Extend test to 64 bit"
default n
depends on BUSYBOX_CONFIG_TEST
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default y
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_TR
bool "tr"
default n
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
config BUSYBOX_CONFIG_TRUE
default y
comment "true (forced enabled for use with shell)"
endif
if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
config BUSYBOX_CONFIG_TRUE
bool "true"
default y
help
true returns an exit code of TRUE (0).
endif
config BUSYBOX_CONFIG_TTY
bool "tty"
default n
help
tty is used to print the name of the current terminal to
standard output.
config BUSYBOX_CONFIG_UNAME
bool "uname"
default y
help
uname is used to print system information.
config BUSYBOX_CONFIG_UNIQ
bool "uniq"
default y
help
uniq is used to remove duplicate lines from a sorted file.
config BUSYBOX_CONFIG_USLEEP
bool "usleep"
default n
help
usleep is used to pause for a specified number of microseconds.
config BUSYBOX_CONFIG_UUDECODE
bool "uudecode"
default n
help
uudecode is used to decode a uuencoded file.
config BUSYBOX_CONFIG_UUENCODE
bool "uuencode"
default n
help
uuencode is used to uuencode a file.
config BUSYBOX_CONFIG_WATCH
bool "watch"
default n
help
watch is used to execute a program periodically, showing
output to the screen.
config BUSYBOX_CONFIG_WC
bool "wc"
default y
help
wc is used to print the number of bytes, words, and lines,
in specified files.
config BUSYBOX_CONFIG_WHO
bool "who"
default n
select BUSYBOX_CONFIG_FEATURE_U_W_TMP
help
who is used to show who is logged on.
config BUSYBOX_CONFIG_WHOAMI
bool "whoami"
default n
help
whoami is used to print the username of the current
user id (same as id -un).
config BUSYBOX_CONFIG_YES
bool "yes"
default y
help
yes is used to repeatedly output a specific string, or
the default string `y'.
comment "Common options for cp and mv"
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
bool " Preserve hard links"
default y
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
help
Allow cp and mv to preserve hard links.
comment "Common options for ls and more"
depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE
config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
bool " Calculate terminal & column widths"
default y
depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE
help
This option allows utilities such as 'ls' and 'more' to determine the
width of the screen, which can allow them to display additional text
or avoid wrapping text onto the next line. If you leave this
disabled, your utilities will be especially primitive and will be
unable to determine the current screen width.
comment "Common options for df, du, ls"
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
bool " Support for human readable output (example 13k, 23M, 235G)"
default y
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
help
Allow df, du, and ls to have human readable output.
comment "Common options for md5sum, sha1sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool " Enable -c, -s and -w options"
default y
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
help
Enabling the -c options allows files to be checked
against pre-calculated hash values.
-s and -w are useful options when verifying checksums.
endmenu

View File

@ -0,0 +1,58 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Debian Utilities"
config BUSYBOX_CONFIG_MKTEMP
bool "mktemp"
default y
help
mktemp is used to create unique temporary files
config BUSYBOX_CONFIG_PIPE_PROGRESS
bool "pipe_progress"
default n
help
Display a dot to indicate pipe activity.
config BUSYBOX_CONFIG_READLINK
bool "readlink"
default n
help
This program reads a symbolic link and returns the name
of the file it points to
config BUSYBOX_CONFIG_RUN_PARTS
bool "run-parts"
default y
help
run-parts is a utility designed to run all the scripts in a directory.
It is useful to set up a directory like cron.daily, where you need to
execute all the scripts in that directory.
In this implementation of run-parts some features (such as report mode)
are not implemented.
Unless you know that run-parts is used in some of your scripts
you can safely say N here.
config BUSYBOX_CONFIG_START_STOP_DAEMON
bool "start-stop-daemon"
default y
help
start-stop-daemon is used to control the creation and
termination of system-level processes, usually the ones
started during the startup of the system.
config BUSYBOX_CONFIG_WHICH
bool "which"
default y
help
which is used to find programs in your PATH and
print out their pathnames.
endmenu

View File

@ -0,0 +1,123 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Editors"
config BUSYBOX_CONFIG_AWK
bool "awk"
default y
help
Awk is used as a pattern scanning and processing language. This is
the BusyBox implementation of that programming language.
config BUSYBOX_CONFIG_FEATURE_AWK_MATH
bool " Enable math functions (requires libm)"
default y
depends on BUSYBOX_CONFIG_AWK
help
Enable math functions of the Awk programming language.
NOTE: This will require libm to be present for linking.
config BUSYBOX_CONFIG_PATCH
bool "patch"
default n
help
Apply a unified diff formatted patch.
config BUSYBOX_CONFIG_SED
bool "sed"
default y
help
sed is used to perform text transformations on a file
or input from a pipeline.
config BUSYBOX_CONFIG_VI
bool "vi"
default y
help
'vi' is a text editor. More specifically, it is the One True
text editor <grin>. It does, however, have a rather steep
learning curve. If you are not already comfortable with 'vi'
you may wish to use something else.
config BUSYBOX_CONFIG_FEATURE_VI_COLON
bool " Enable \":\" colon commands (no \"ex\" mode)"
default y
depends on BUSYBOX_CONFIG_VI
help
Enable a limited set of colon commands for vi. This does not
provide an "ex" mode.
config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
bool " Enable yank/put commands and mark cmds"
default y
depends on BUSYBOX_CONFIG_VI
help
This will enable you to use yank and put, as well as mark in
busybox vi.
config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
bool " Enable search and replace cmds"
default y
depends on BUSYBOX_CONFIG_VI
help
Select this if you wish to be able to do search and replace in
busybox vi.
config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
bool " Catch signals"
default y
depends on BUSYBOX_CONFIG_VI
help
Selecting this option will make busybox vi signal aware. This will
make busybox vi support SIGWINCH to deal with Window Changes, catch
Ctrl-Z and Ctrl-C and alarms.
config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
bool " Remember previous cmd and \".\" cmd"
default y
depends on BUSYBOX_CONFIG_VI
help
Make busybox vi remember the last command and be able to repeat it.
config BUSYBOX_CONFIG_FEATURE_VI_READONLY
bool " Enable -R option and \"view\" mode"
default y
depends on BUSYBOX_CONFIG_VI
help
Enable the read-only command line option, which allows the user to
open a file in read-only mode.
config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
bool " Enable set-able options, ai ic showmatch"
default y
depends on BUSYBOX_CONFIG_VI
help
Enable the editor to set some (ai, ic, showmatch) options.
config BUSYBOX_CONFIG_FEATURE_VI_SET
bool " Support for :set"
default y
depends on BUSYBOX_CONFIG_VI
help
Support for ":set".
config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
bool " Handle window resize"
default y
depends on BUSYBOX_CONFIG_VI
help
Make busybox vi behave nicely with terminals that get resized.
config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
bool " Optimize cursor movement"
default y
depends on BUSYBOX_CONFIG_VI
help
This will make the cursor movement faster, but requires more memory
and it makes the applet a tiny bit larger.
endmenu

View File

@ -0,0 +1,133 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Finding Utilities"
config BUSYBOX_CONFIG_FIND
bool "find"
default y
help
find is used to search your system to find specified files.
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
bool " Enable modified time matching (-mtime) option"
default n
depends on BUSYBOX_CONFIG_FIND
help
Allow searching based on the modification time of
files.
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
bool " Enable permissions matching (-perm) option"
default y
depends on BUSYBOX_CONFIG_FIND
help
Enable searching based on file permissions.
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
bool " Enable filetype matching (-type) option"
default y
depends on BUSYBOX_CONFIG_FIND
help
Enable searching based on file type (file,
directory, socket, device, etc.).
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
bool " Enable stay in filesystem (-xdev) option"
default y
depends on BUSYBOX_CONFIG_FIND
help
This option will allow find to restrict searches to a single
filesystem.
config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
bool " Enable -newer option for comparing file mtimes"
default n
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -newer' option for finding any files which have
a modified time that is more recent than the specified FILE.
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
bool " Enable inode number matching (-inum) option"
default n
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -inum' option for searching by inode number.
config BUSYBOX_CONFIG_GREP
bool "grep"
default y
help
grep is used to search files for a specified pattern.
config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
bool " Support extended regular expressions (egrep & grep -E)"
default y
depends on BUSYBOX_CONFIG_GREP
help
Enabled support for extended regular expressions. Extended
regular expressions allow for alternation (foo|bar), grouping,
and various repetition operators.
config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
bool " Alias fgrep to grep -f"
default y
depends on BUSYBOX_CONFIG_GREP
help
fgrep sees the search pattern as a normal string rather than
regular expressions.
grep -f is always builtin, this just creates the fgrep alias.
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
bool " Enable before and after context flags (-A, -B and -C)"
default y
depends on BUSYBOX_CONFIG_GREP
help
Print the specified number of leading (-B) and/or trailing (-A)
context surrounding our matching lines.
Print the specified number of context lines (-C).
config BUSYBOX_CONFIG_XARGS
bool "xargs"
default y
help
xargs is used to execute a specified command on
every item from standard input.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
bool " Enable prompt and confirmation option -p"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Support prompt the user about whether to run each command
line and read a line from the terminal.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
bool " Enable support single and double quotes and backslash"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Default xargs unsupport single and double quotes
and backslash for can use aruments with spaces.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
bool " Enable support options -x"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Enable support exit if the size (see the -s or -n option)
is exceeded.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
bool " Enable options -0"
default y
depends on BUSYBOX_CONFIG_XARGS
help
Enable input filenames are terminated by a null character
instead of by whitespace, and the quotes and backslash
are not special.
endmenu

View File

@ -0,0 +1,72 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Init Utilities"
config BUSYBOX_CONFIG_INIT
bool "init"
default y
help
init is the first program run when the system boots.
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
bool " Support reading an inittab file?"
default y
depends on BUSYBOX_CONFIG_INIT
help
Allow init to read an inittab file when the system boot.
config BUSYBOX_CONFIG_FEATURE_INITRD
bool " Support running init from within an initrd?"
default n
depends on BUSYBOX_CONFIG_INIT
help
Allow init to be called from an initrd as linuxrc.
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
bool " Support dumping core for child processes (debugging only)?"
default n
depends on BUSYBOX_CONFIG_INIT
help
If this option is enabled and the file /.init_enable_core
exists, then init will call setrlimit() to allow unlimited
core file sizes. If this option is disabled, processes
will not generate any core files.
config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
bool " Should init be _extra_ quiet on boot?"
default n
depends on BUSYBOX_CONFIG_INIT
help
Prevent init from logging some messages to the console
during boot.
config BUSYBOX_CONFIG_HALT
bool "halt"
default n
help
Stop all processes and halt the system.
config BUSYBOX_CONFIG_POWEROFF
bool "poweroff"
default n
help
Stop all processes and (try to) power off the system.
config BUSYBOX_CONFIG_REBOOT
bool "reboot"
default y
help
Stop all processes and reboot the system.
config BUSYBOX_CONFIG_MESG
bool "mesg"
default y
help
Mesg controls access to your terminal by others. It is typically
used to allow or disallow other users to write to your terminal
endmenu

View File

@ -0,0 +1,161 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Login/Password Management Utilities"
config BUSYBOX_CONFIG_USE_BB_PWD_GRP
bool "Use internal password and group functions rather than system functions"
default n
help
If you leave this disabled, busybox will use the system's password
and group functions. And if you are using the GNU C library
(glibc), you will then need to install the /etc/nsswitch.conf
configuration file and the required /lib/libnss_* libraries in
order for the password and group functions to work. This generally
makes your embedded system quite a bit larger.
Enabling this option will cause busybox to directly access the
system's /etc/password, /etc/group files (and your system will be
smaller, and I will get fewer emails asking about how glibc NSS
works). When this option is enabled, you will not be able to use
PAM to access remote LDAP password servers and whatnot. And if you
want hostname resolution to work with glibc, you still need the
/lib/libnss_* libraries.
If you enable this option, it will add about 1.5k to busybox.
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default n
help
Utility for creating a new group account.
config BUSYBOX_CONFIG_DELGROUP
bool "delgroup"
default n
help
Utility for deleting a group account.
config BUSYBOX_CONFIG_ADDUSER
bool "adduser"
default n
help
Utility for creating a new user account.
config BUSYBOX_CONFIG_DELUSER
bool "deluser"
default n
help
Utility for deleting a user account.
config BUSYBOX_CONFIG_GETTY
bool "getty"
default n
help
getty lets you log in on a tty, it is normally invoked by init.
config BUSYBOX_CONFIG_FEATURE_U_W_TMP
bool " Support utmp and wtmp files"
depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO || BUSYBOX_CONFIG_LAST
default n
help
The files /var/run/utmp and /var/run/wtmp can be used to track when
user's have logged into and logged out of the system, allowing programs
such as 'who' and 'last' to list who is currently logged in.
config BUSYBOX_CONFIG_LOGIN
bool "login"
default n
select BUSYBOX_CONFIG_FEATURE_SUID
help
login is used when signing onto a system.
Note that Busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_FEATURE_SECURETTY
bool " Support for /etc/securetty"
default n
depends on BUSYBOX_CONFIG_LOGIN
help
The file /etc/securetty is used by (some versions of) login(1).
The file contains the device names of tty lines (one per line,
without leading /dev/) on which root is allowed to login.
config BUSYBOX_CONFIG_PASSWD
bool "passwd"
default n
select BUSYBOX_CONFIG_FEATURE_SUID
help
passwd changes passwords for user and group accounts. A normal user
may only change the password for his/her own account, the super user
may change the password for any account. The administrator of a group
may change the password for the group.
Note that Busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_SU
bool "su"
default n
select BUSYBOX_CONFIG_FEATURE_SUID
help
su is used to become another user during a login session.
Invoked without a username, su defaults to becoming the super user.
Note that Busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_SULOGIN
bool "sulogin"
default n
help
sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab).
config BUSYBOX_CONFIG_VLOCK
bool "vlock"
default n
select BUSYBOX_CONFIG_FEATURE_SUID
help
Build the "vlock" applet which allows you to lock (virtual) terminals.
Note that Busybox binary must be setuid root for this applet to
work properly.
comment "Common options for adduser, deluser, login, su"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_DELUSER || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
bool "Support for shadow passwords"
default n
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_DELUSER || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU
help
Build support for shadow password in /etc/shadow. This file is only
readable by root and thus the encrypted passwords are no longer
publicly readable.
config BUSYBOX_CONFIG_USE_BB_SHADOW
bool " Use busybox shadow password functions"
default n
depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
help
If you leave this disabled, busybox will use the system's shadow
password handling functions. And if you are using the GNU C library
(glibc), you will then need to install the /etc/nsswitch.conf
configuration file and the required /lib/libnss_* libraries in
order for the shadow password functions to work. This generally
makes your embedded system quite a bit larger.
Enabling this option will cause busybox to directly access the
system's /etc/shadow file when handling shadow passwords. This
makes your system smaller and I will get fewer emails asking about
how glibc NSS works). When this option is enabled, you will not be
able to use PAM to access shadow passwords from remote LDAP
password servers and whatnot.
endmenu

View File

@ -0,0 +1,201 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Miscellaneous Utilities"
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex"
default n
help
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
config BUSYBOX_CONFIG_CROND
bool "crond"
default y
select BUSYBOX_CONFIG_FEATURE_SUID
help
Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question.
This is a port of dcron from slackware. It uses files of the
format /var/spool/cron/crontabs/<username> files, for example:
$ cat /var/spool/cron/crontabs/root
# Run daily cron jobs at 4:40 every day:
40 4 * * * /etc/cron/daily > /dev/null 2>&1
Note that Busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
bool " Using /usr/sbin/sendmail?"
default n
depends on BUSYBOX_CONFIG_CROND
help
Support calling /usr/sbin/sendmail for send cmd outputs.
config BUSYBOX_CONFIG_CRONTAB
bool "crontab"
default y
help
Crontab manipulates the crontab for a particular user. Only
the superuser may specify a different user and/or crontab directory.
config BUSYBOX_CONFIG_DC
bool "dc"
default n
help
Dc is a reverse-polish desk calculator which supports unlimited
precision arithmetic.
config BUSYBOX_CONFIG_DEVFSD
bool "devfsd"
default n
help
Provides compatibility with old device names on a devfs systems.
You should set it to true if you have devfs enabled.
The following keywords in devsfd.conf are supported:
"CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
"PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
"MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
But only if they are written UPPERCASE!!!!!!!!
config BUSYBOX_CONFIG_DEVFSD_MODLOAD
bool "Adds support for MODLOAD keyword in devsfd.conf"
default n
depends on BUSYBOX_CONFIG_DEVFSD
help
This actually doesn't work with busybox modutils but needs the real modutils.
config BUSYBOX_CONFIG_DEVFSD_FG_NP
bool "Enables the -fg and -np options"
default n
depends on BUSYBOX_CONFIG_DEVFSD
help
-fg Run the daemon in the foreground.
-np Exit after parsing the configuration file. Do not poll for events.
config BUSYBOX_CONFIG_DEVFSD_VERBOSE
bool "Increases logging (and size)"
default n
depends on BUSYBOX_CONFIG_DEVFSD
help
Increases logging to stderr or syslog.
config BUSYBOX_CONFIG_LAST
bool "last"
default n
select BUSYBOX_CONFIG_FEATURE_U_W_TMP
help
'last' displays a list of the last users that logged into the system.
config BUSYBOX_CONFIG_HDPARM
bool "hdparm"
default n
help
Get/Set hard drive parameters. Primarily intended for ATA
drives. Adds about 13k (or around 30k if you enable the
BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY option)....
config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
bool " Support obtaining detailed information directly from drives"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the -I and -Istdin options to obtain detailed information
directly from drives about their capabilities and supported ATA
feature set. Enabling this option will add about 16k...
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
bool " Register an IDE interface (DANGEROUS)"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -R' option to register an IDE interface.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
bool " Un-register an IDE interface (DANGEROUS)"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -U' option to un-register an IDE interface.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
bool " perform device reset (DANGEROUS)"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -w' option to perform a device reset.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
bool " tristate device for hotswap (DANGEROUS)"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -x' option to tristate device for hotswap,
and the '-b' option to get/set bus state. This is dangerous
stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
bool " get/set using_dma flag (DANGEROUS)"
default n
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -d' option to get/set using_dma flag.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_MAKEDEVS
bool "makedevs"
default n
help
'makedevs' is a utility used and created by the Linux Router Project.
It creates a large number of device special files (/dev devices)
rather quickly, and can be considerably faster then running mknod a
zillion times.
config BUSYBOX_CONFIG_MT
bool "mt"
default n
help
mt is used to control tape devices. You can use the mt utility
to advance or rewind a tape past a specified number of archive
files on the tape.
config BUSYBOX_CONFIG_RX
bool "rx"
default n
help
Receive files using the Xmodem protocol.
config BUSYBOX_CONFIG_STRINGS
bool "strings"
default y
help
strings prints the printable character sequences for each file
specified.
config BUSYBOX_CONFIG_TIME
bool "time"
default y
help
The time command runs the specified program with the given arguments.
When the command finishes, time writes a message to standard output
giving timing statistics about this program run.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog"
default n
help
The watchdog utility is used with hardware or software watchdog
device drivers. It opens the specified watchdog device special file
and periodically writes a magic character to the device. If the
watchdog applet ever fails to write the magic character within a
certain amount of time, the watchdog device assumes the system has
hung, and will cause the hardware to reboot.
endmenu

View File

@ -0,0 +1,113 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Linux Module Utilities"
config BUSYBOX_CONFIG_INSMOD
bool "insmod"
default y
help
insmod is used to load specified modules in the running kernel.
config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
bool " Support version 2.2.x to 2.4.x Linux kernels"
default y
depends on BUSYBOX_CONFIG_INSMOD
help
Support module loading for 2.2.x and 2.4.x Linux kernels.
config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
bool " Support version 2.6.x Linux kernels"
default n
depends on BUSYBOX_CONFIG_INSMOD
help
Support module loading for newer 2.6.x Linux kernels.
config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
bool " Module version checking"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
Support checking of versions for modules. This is used to
ensure that the kernel and module are made for each other.
config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool " Add module symbols to kernel symbol table"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
By adding module symbols to the kernel symbol table, Oops messages
occuring within kernel modules can be properly debugged. By enabling
this feature, module symbols will always be added to the kernel symbol
table for properly debugging support. If you are not interested in
Oops messages from kernel modules, say N.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
bool " In kernel memory optimization (uClinux only)"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
This is a special uClinux only memory optimization that lets insmod
load the specified kernel module directly into kernel space, reducing
memory usage by preventing the need for two copies of the module
being loaded into memory.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
bool " Enable load map (-m) option"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
Enabling this, one would be able to get a load map
output on stdout. This makes kernel module debugging
easier.
If you don't plan to debug kernel modules, you
don't need this option.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
bool " Symbols in load map"
default n
depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
help
Without this option, -m will only output section
load map. With this option, -m will also output
symbols load map.
config BUSYBOX_CONFIG_LSMOD
bool "lsmod"
default y
help
lsmod is used to display a list of loaded modules.
config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
bool
default y
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
config BUSYBOX_CONFIG_MODPROBE
bool "modprobe"
default n
help
Handle the loading of modules, and their dependancies on a high
level.
config BUSYBOX_CONFIG_RMMOD
bool "rmmod"
default y
help
rmmod is used to unload specified modules from the kernel.
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default n
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
help
Support checking for tainted modules. These are usually binary
only modules that will make the linux-kernel list ignore your
support request.
This option is required to support GPLONLY modules.
endmenu

View File

@ -0,0 +1,634 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Networking Utilities"
config BUSYBOX_CONFIG_FEATURE_IPV6
bool "Enable IPv6 support"
default y
help
Enable IPv6 support to busybox. This makes applets that talk IP
able to work with IPv6.
config BUSYBOX_CONFIG_ARPING
bool "arping"
default y
help
Ping hosts by ARP packets
config BUSYBOX_CONFIG_FTPGET
bool "ftpget"
default n
help
Retrieve a remote file via FTP.
config BUSYBOX_CONFIG_FTPPUT
bool "ftpput"
default n
help
Store a remote file via FTP.
config BUSYBOX_CONFIG_HOSTNAME
bool "hostname"
default n
help
Show or set the system's host name
config BUSYBOX_CONFIG_HTTPD
bool "httpd"
default y
help
Serve web pages via an HTTP server.
config BUSYBOX_CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
bool " Support using httpd only from inetd"
default n
depends on BUSYBOX_CONFIG_HTTPD
help
This option disables uid and port options for the httpd applet
but requires inetd server daemon.
config BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
bool " Enable Basic http Authentication"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
Utilizes password settings from /etc/httpd.conf for basic
authentication on a per url basis.
config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
bool " Support MD5 crypted passwords for http Authentication"
default y
depends on BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
help
Enables basic per url authentication from /etc/httpd.conf
using md5 passwords.
if !CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
bool " Support reloading the global config file using hup signal"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
This option enables processing of SIGHUP to reload cached
configuration settings.
config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
bool " Enable support -u <user> option"
default n
depends on BUSYBOX_CONFIG_HTTPD
help
This option allows the server to run as a specific user
rather than defaulting to the user that starts the server.
Use of this option requires special privileges to change to a
different user.
endif
config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
bool " Support loading additional MIME types at run-time"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
This option enables support for additional MIME types at
run-time to be specified in the configuration file.
config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
bool " Support Common Gateway Interface (CGI)"
default y
depends on BUSYBOX_CONFIG_HTTPD
help
This option allows scripts and executables to be invoked
when specific urls are requested.
config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
bool " Support the REMOTE_PORT environment variable for CGI"
default y
depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
help
Use of this option can assist scripts in generating
references that contain a unique port number.
config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
bool " Enable the -e option for shell script CGI simplification."
default y
depends on BUSYBOX_CONFIG_HTTPD
help
After set, this option allows html encoding arbitrary
strings for display of the browser. Output goes to stdout.
For example, httpd -e "<Hello World>" as
"&#60Hello&#32World&#62".
config BUSYBOX_CONFIG_IFCONFIG
bool "ifconfig"
default y
help
Ifconfig is used to configure the kernel-resident network interfaces.
config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
bool " Enable status reporting output (+7k)"
default y
depends on BUSYBOX_CONFIG_IFCONFIG
help
If ifconfig is called with no arguments it will display the status
of the currently active interfaces.
config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
bool " Enable slip-specific options \"keepalive\" and \"outfill\""
default n
depends on BUSYBOX_CONFIG_IFCONFIG
help
Allow "keepalive" and "outfill" support for SLIP. If you're not
planning on using serial lines, leave this unchecked.
config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
bool " Enable options \"mem_start\", \"io_addr\", and \"irq\""
default n
depends on BUSYBOX_CONFIG_IFCONFIG
help
Allow the start address for shared memory, start address for I/O,
and/or the interrupt line used by the specified device.
config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
bool " Enable option \"hw\" (ether only)"
default y
depends on BUSYBOX_CONFIG_IFCONFIG
help
Set the hardware address of this interface, if the device driver
supports this operation. Currently, we only support the 'ether'
class.
config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
bool " Set the broadcast automatically"
default y
depends on BUSYBOX_CONFIG_IFCONFIG
help
Setting this will make ifconfig attempt to find the broadcast
automatically if the value '+' is used.
config BUSYBOX_CONFIG_IFUPDOWN
bool "ifupdown"
default n
help
Activate or deactivate the specified interfaces. This applet makes
use of either "ifconfig" and "route" or the "ip" command to actually
configure network interfaces. Therefore, you will probably also want
to enable either BUSYBOX_CONFIG_IFCONFIG and BUSYBOX_CONFIG_ROUTE, or enable
BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP and the various BUSYBOX_CONFIG_IP options. Of
course you could use non-busybox versions of these programs, so
against my better judgement (since this will surely result in plenty
of support questions on the mailing list), I do not force you to
enable these additional options. It is up to you to supply either
"ifconfig" and "route" or the "ip" command, either via busybox or via
standalone utilities.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
bool " Use ip applet"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN
help
Use the iproute "ip" command to implement "ifup" and "ifdown", rather
than the default of using the older 'ifconfig' and 'route' utilities.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
bool " Use busybox ip applet"
default n
depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
select BUSYBOX_CONFIG_IP
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
select BUSYBOX_CONFIG_FEATURE_IP_LINK
select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
help
Use the busybox iproute "ip" applet to implement "ifupdown".
If leave this disabled, you must install the full-blown iproute2
utility or the "ifup" and "ifdown" applets will not work.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
bool " Use busybox ifconfig and route applets"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
select BUSYBOX_CONFIG_IFCONFIG
select BUSYBOX_CONFIG_ROUTE
help
Use the busybox iproute "ifconfig" and "route" applets to
implement the "ifup" and "ifdown" utilities.
If leave this disabled, you must install the full-blown ifconfig
and route utilities, or the "ifup" and "ifdown" applets will not
work.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
bool " Enable support for IPv4"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN
help
If you want busybox to talk IPv4, leave this on.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
bool " Enable support for IPv6"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN
help
If you need support for IPv6, turn this option on.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPX
bool " Enable support for IPX"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN
help
If this option is selected you can use busybox to work with IPX
networks.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
bool " Enable mapping support"
default n
depends on BUSYBOX_CONFIG_IFUPDOWN
help
This enables support for the "mapping" stanza, unless you have
a weird network setup you don't need it.
config BUSYBOX_CONFIG_INETD
bool "inetd"
default n
help
Internet superserver daemon
config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO
bool " Support echo service"
default n
depends on BUSYBOX_CONFIG_INETD
help
Echo received data internal inetd service
config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD
bool " Support discard service"
default n
depends on BUSYBOX_CONFIG_INETD
help
Internet /dev/null internal inetd service
config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME
bool " Support time service"
default n
depends on BUSYBOX_CONFIG_INETD
help
Return 32 bit time since 1900 internal inetd service
config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME
bool " Support daytime service"
default n
depends on BUSYBOX_CONFIG_INETD
help
Return human-readable time internal inetd service
config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN
bool " Support chargen service"
default n
depends on BUSYBOX_CONFIG_INETD
help
Familiar character generator internal inetd service
config BUSYBOX_CONFIG_IP
bool "ip"
default n
help
The "ip" applet is a TCP/IP interface configuration and routing
utility. You generally don't need "ip" to use busybox with
TCP/IP.
if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPADDR
config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
default n
comment " address (forced enabled for ipaddr)"
endif
if ! (CONFIG_IP && BUSYBOX_CONFIG_IPADDR)
config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
bool " address"
default n
depends on BUSYBOX_CONFIG_IP
help
Address manipulation support for the "ip" applet.
endif
if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPLINK
config BUSYBOX_CONFIG_FEATURE_IP_LINK
default n
comment " link (forced enabled for iplink)"
endif
if !(CONFIG_IP && BUSYBOX_CONFIG_IPLINK)
config BUSYBOX_CONFIG_FEATURE_IP_LINK
bool " link"
default n
depends on BUSYBOX_CONFIG_IP
help
Configure network devices with "ip".
endif
if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPROUTE
config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
default n
comment " route (forced enabled for iproute)"
endif
if !(CONFIG_IP && BUSYBOX_CONFIG_IPROUTE)
config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
bool " route"
default n
depends on BUSYBOX_CONFIG_IP
help
Add support for routing table management to "ip".
endif
if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPTUNNEL
config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
default n
comment " tunnel (forced enabled for iptunnel)"
endif
if !(CONFIG_IP && BUSYBOX_CONFIG_IPTUNNEL)
config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
bool " tunnel"
default n
depends on BUSYBOX_CONFIG_IP
help
Add support for tunneling commands to "ip".
endif
config BUSYBOX_CONFIG_IPCALC
bool "ipcalc"
default y
help
ipcalc takes an IP address and netmask and calculates the
resulting broadcast, network, and host range.
config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
bool " Fancy IPCALC, more options, adds 1 kbyte"
default y
depends on BUSYBOX_CONFIG_IPCALC
help
Adds the options hostname, prefix and silent to the output of "ipcalc".
config BUSYBOX_CONFIG_IPADDR
bool "ipaddr"
default n
help
Equivalent to selecting address support to "ip", above.
config BUSYBOX_CONFIG_IPLINK
bool "iplink"
default n
help
Equivalent to selecting link support to "ip", above.
config BUSYBOX_CONFIG_IPROUTE
bool "iproute"
default n
help
Equivalent to selecting route support to "ip", above.
config BUSYBOX_CONFIG_IPTUNNEL
bool "iptunnel"
default n
help
Equivalent to selecting tunnel support to "ip", above.
config BUSYBOX_CONFIG_NAMEIF
bool "nameif"
default n
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
It is possible to use a file (default: /etc/mactab)
with list of new interface names and MACs.
Maximum interface name length: IF_NAMESIZE = 16
File fields are separated by space or tab.
File format:
# Comment
new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_NC
bool "nc"
default y
help
A simple Unix utility which reads and writes data across network
connections.
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default y
help
netstat prints information about the Linux networking subsystem.
config BUSYBOX_CONFIG_NSLOOKUP
bool "nslookup"
default y
help
nslookup is a tool to query Internet name servers.
config BUSYBOX_CONFIG_PING
bool "ping"
default y
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
bool " Enable fancy ping output"
default y
depends on BUSYBOX_CONFIG_PING
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_PING6
bool "ping6"
default y
depends on BUSYBOX_CONFIG_FEATURE_IPV6
help
This will give you a ping that can talk IPv6.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING6
bool " Enable fancy ping6 output"
default y
depends on BUSYBOX_CONFIG_PING6
help
Make the output from the ping6 applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_ROUTE
bool "route"
default y
help
Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_CONFIG_TELNET
bool "telnet"
default n
help
Telnet is an interface to the TELNET protocol, but is also commonly
used to test other simple protocols.
config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
bool " Pass TERM type to remote host"
default n
depends on BUSYBOX_CONFIG_TELNET
help
Setting this option will forward the TERM environment variable to the
remote host you are connecting to. This is useful to make sure that
things like ANSI colors and other control sequences behave.
config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
bool " Pass USER type to remote host"
default n
depends on BUSYBOX_CONFIG_TELNET
help
Setting this option will forward the USER environment variable to the
remote host you are connecting to. This is useful when you need to
log into a machine without telling the username (autologin). This
option enables `-a' and `-l USER' arguments.
config BUSYBOX_CONFIG_TELNETD
bool "telnetd"
default y
#select BUSYBOX_CONFIG_LOGIN
help
A daemon for the TELNET protocol, allowing you to log onto the host
running the daemon. Please keep in mind that the TELNET protocol
sends passwords in plain text. If you can't afford the space for an
SSH daemon and you trust your network, you may say 'y' here. As a
more secure alternative, you should seriously consider installing the
very small Dropbear SSH daemon instead:
http://matt.ucc.asn.au/dropbear/dropbear.html
Note that for busybox telnetd to work you need several things:
First of all, your kernel needs:
BUSYBOX_CONFIG_UNIX98_PTYS=y
BUSYBOX_CONFIG_DEVPTS_FS=y
Next, you need a /dev/pts directory on your root filesystem:
$ ls -ld /dev/pts
drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
Next you need the pseudo terminal master multiplexer /dev/ptmx:
$ ls -la /dev/ptmx
crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
Any /dev/ttyp[0-9]* files you may have can be removed.
Next, you need to mount the devpts filesystem on /dev/pts using:
mount -t devpts devpts /dev/pts
You need to be sure that Busybox has BUSYBOX_CONFIG_LOGIN and
BUSYBOX_CONFIG_FEATURE_SUID enabled. And finally, you should make
certain that Busybox has been installed setuid root:
chown root.root /bin/busybox
chmod 4755 /bin/busybox
with all that done, telnetd _should_ work....
config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD
bool " Support call from inetd only"
default n
depends on BUSYBOX_CONFIG_TELNETD
help
Selecting this will make telnetd only callable from inetd,
removing the standalone support.
config BUSYBOX_CONFIG_TFTP
bool "tftp"
default n
help
This enables the Trivial File Transfer Protocol client program. TFTP
is usually used for simple, small transfers such as a root image
for a network-enabled bootloader.
config BUSYBOX_CONFIG_FEATURE_TFTP_GET
bool " Enable \"get\" command"
default n
depends on BUSYBOX_CONFIG_TFTP
help
Add support for the GET command within the TFTP client. This allows
a client to retrieve a file from a TFTP server.
config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
bool " Enable \"put\" command"
default n
depends on BUSYBOX_CONFIG_TFTP
help
Add support for the PUT command within the TFTP client. This allows
a client to transfer a file to a TFTP server.
config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
bool " Enable \"blocksize\" command"
default n
depends on BUSYBOX_CONFIG_TFTP
help
Allow the client to specify the desired block size for transfers.
config BUSYBOX_CONFIG_FEATURE_TFTP_DEBUG
bool " Enable debug"
default n
depends on BUSYBOX_CONFIG_TFTP
help
Enable debug settings for tftp. This is useful if you're running
into problems with tftp as the protocol doesn't help you much when
you run into problems.
config BUSYBOX_CONFIG_TRACEROUTE
bool "traceroute"
default y
help
Utility to trace the route of IP packets
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
bool " Enable verbose output"
default y
depends on BUSYBOX_CONFIG_TRACEROUTE
help
Add some verbosity to traceroute. This includes amongst other things
hostnames and ICMP response types.
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default y
help
Creates, removes, and configures VLAN interfaces
config BUSYBOX_CONFIG_WGET
bool "wget"
default y
help
wget is a utility for non-interactive download of files from HTTP,
HTTPS, and FTP servers.
config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
bool " Enable a nifty process meter (+2k)"
default y
depends on BUSYBOX_CONFIG_WGET
help
Enable the transfer progress bar for wget transfers.
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
bool " Enable HTTP authentication"
default y
depends on BUSYBOX_CONFIG_WGET
help
Support authenticated HTTP transfers.
config BUSYBOX_CONFIG_FEATURE_WGET_IP6_LITERAL
bool " Enable IPv6 literal addresses"
default y
depends on BUSYBOX_CONFIG_WGET
help
Support IPv6 address literal notation in URLs.
source package/busybox/config/networking/udhcp/Config.in
endmenu

View File

@ -0,0 +1,62 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "udhcp Server/Client"
config BUSYBOX_CONFIG_UDHCPD
bool "udhcp Server (udhcpd)"
default n
help
uDHCPd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
See http://udhcp.busybox.net for further details.
config BUSYBOX_CONFIG_UDHCPC
bool "udhcp Client (udhcpc)"
default y
help
uDHCPc is a DHCP client geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
The udhcp client negotiates a lease with the DHCP server and
notifies a set of scripts when a lease is obtained or lost.
See http://udhcp.busybox.net for further details.
config BUSYBOX_CONFIG_DUMPLEASES
bool "Lease display utility (dumpleases)"
default n
depends on BUSYBOX_CONFIG_UDHCPD
help
dumpleases displays the leases written out by the udhcpd server.
Lease times are stored in the file by time remaining in lease, or
by the absolute time that it expires in seconds from epoch.
See http://udhcp.busybox.net for further details.
config BUSYBOX_CONFIG_FEATURE_UDHCP_SYSLOG
bool " Log udhcp messages to syslog (instead of stdout)"
default n
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
If selected, udhcpd will log all its messages to syslog, otherwise,
it will attempt to log them to stdout.
See http://udhcp.busybox.net for further details.
config BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG
bool " Compile udhcp with noisy debugging messages"
default n
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
If selected, udhcpd will output extra debugging output. If using
this option, compile uDHCP with "-g", and do not fork the daemon to
the background.
See http://udhcp.busybox.net for further details.
endmenu

View File

@ -0,0 +1,87 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Process Utilities"
config BUSYBOX_CONFIG_FREE
bool "free"
default y
help
free displays the total amount of free and used physical and swap
memory in the system, as well as the buffers used by the kernel.
The shared memory column should be ignored; it is obsolete.
config BUSYBOX_CONFIG_KILL
bool "kill"
default y
help
The command kill sends the specified signal to the specified
process or process group. If no signal is specified, the TERM
signal is sent.
config BUSYBOX_CONFIG_KILLALL
bool "killall"
default y
depends on BUSYBOX_CONFIG_KILL
help
killall sends a signal to all processes running any of the
specified commands. If no signal name is specified, SIGTERM is
sent.
config BUSYBOX_CONFIG_KILLALL5
bool "killall5"
default y
depends on BUSYBOX_CONFIG_KILL
config BUSYBOX_CONFIG_PIDOF
bool "pidof"
default y
help
Pidof finds the process id's (pids) of the named programs. It prints
those id's on the standard output.
config BUSYBOX_CONFIG_PS
bool "ps"
default y
help
ps gives a snapshot of the current processes.
config BUSYBOX_CONFIG_RENICE
bool "renice"
default n
help
Renice alters the scheduling priority of one or more running
processes.
config BUSYBOX_CONFIG_TOP
bool "top"
default y
help
The top program provides a dynamic real-time view of a running
system.
config BUSYBOX_FEATURE_CPU_USAGE_PERCENTAGE
bool
default y
depends on BUSYBOX_CONFIG_TOP
help
Make top display CPU usage.
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default y
help
uptime gives a one line display of the current time, how long
the system has been running, how many users are currently logged
on, and the system load averages for the past 1, 5, and 15 minutes.
config BUSYBOX_CONFIG_SYSCTL
bool "sysctl"
default y
help
sysctl - configure kernel parameters at runtime
endmenu

View File

@ -0,0 +1,229 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Another Bourne-like Shell"
choice
prompt "Choose your default shell"
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
help
Choose a shell. The ash shell is the most bash compatible
and full featured one.
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
select BUSYBOX_CONFIG_ASH
bool "ash"
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
select BUSYBOX_CONFIG_HUSH
bool "hush"
config BUSYBOX_CONFIG_FEATURE_SH_IS_LASH
select BUSYBOX_CONFIG_LASH
bool "lash"
config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
select BUSYBOX_CONFIG_MSH
bool "msh"
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_ASH
bool "ash"
default y
help
Tha 'ash' shell adds about 60k in the default configuration and is
the most complete and most pedantically correct shell included with
busybox. This shell is actually a derivative of the Debian 'dash'
shell (by Herbert Xu), which was created by porting the 'ash' shell
(written by Kenneth Almquist) from NetBSD.
comment "Ash Shell Options"
depends on BUSYBOX_CONFIG_ASH
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool " Enable Job control"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable job control in the ash shell.
config BUSYBOX_CONFIG_ASH_ALIAS
bool " Enable alias support"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable alias support in the ash shell.
config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
bool " Enable Posix math support"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable math support in the ash shell.
config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
bool " Extend Posix math support to 64 bit"
default n
depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
help
Enable 64-bit math support in the ash shell. This will make
the shell slightly larger, but will allow computation with very
large numbers.
config BUSYBOX_CONFIG_ASH_GETOPTS
bool " Enable getopts builtin to parse positional parameters"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable getopts builtin in the ash shell.
config BUSYBOX_CONFIG_ASH_CMDCMD
bool " Enable cmdcmd to override shell builtins"
default y
depends on BUSYBOX_CONFIG_ASH
help
Enable support for the ash 'command' builtin, which allows
you to run the specified command with the specified arguments,
even when there is an ash builtin command with the same name.
config BUSYBOX_CONFIG_ASH_MAIL
bool " Check for new mail on interactive shells"
default n
depends on BUSYBOX_CONFIG_ASH
help
Enable "check for new mail" in the ash shell.
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
bool " Optimize for size instead of speed"
default y
depends on BUSYBOX_CONFIG_ASH
help
Compile ash for reduced size at price of speed.
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool " Enable pseudorandom generator and variable $RANDOM"
default n
depends on BUSYBOX_CONFIG_ASH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
You can reset the generator by using a specified start value.
After "unset RANDOM" then generator will switch off and this
variable will no longer have special treatment.
config BUSYBOX_CONFIG_HUSH
bool "hush"
default n
help
hush is a very small shell (just 18k) and it has fairly complete
Bourne shell grammar. It even handles all the normal flow control
options such as if/then/elif/else/fi, for/in/do/done, while loops,
etc.
It does not handle case/esac, select, function, here documents ( <<
word ), arithmetic expansion, aliases, brace expansion, tilde
expansion, &> and >& redirection of stdout+stderr, etc.
config BUSYBOX_CONFIG_LASH
bool "lash"
default n
help
lash is the very smallest shell (adds just 10k) and it is quite
usable as a command prompt, but it is not suitable for any but the
most trivial scripting (such as an initrd that calls insmod a few
times) since it does not understand any Bourne shell grammar. It
does handle pipes, redirects, and job control though. Adding in
command editing makes it a very nice lightweight command prompt.
config BUSYBOX_CONFIG_MSH
bool "msh"
default n
help
The minix shell (adds just 30k) is quite complete and handles things
like for/do/done, case/esac and all the things you expect a Bourne
shell to do. It is not always pedantically correct about Bourne
shell grammar (try running the shell testscript "tests/sh.testcases"
on it and compare vs bash) but for most things it works quite well.
It also uses only vfork, so it can be used on uClinux systems.
comment "Bourne Shell Options"
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default n
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
Remove the busybox introduction when starting a shell.
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
bool "Standalone shell"
default n
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
This option causes the selected busybox shell to use busybox applets
in preference to executables in the PATH whenever possible. For
example, entering the command 'ifconfig' into the shell would cause
busybox to use the ifconfig busybox applet. Specifying the fully
qualified executable name, such as '/sbin/ifconfig' will still
execute the /sbin/ifconfig executable on the filesystem. This option
is generally used when creating a staticly linked version of busybox
for use as a rescue shell, in the event that you screw up your system.
Note that when using this option, the shell will attempt to directly
run '/bin/busybox'. If you do not have the busybox binary sitting in
that exact location with that exact name, this option will not work at
all.
config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
bool "command line editing"
default y
depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
Enable command editing in shell.
config BUSYBOX_CONFIG_FEATURE_COMMAND_HISTORY
int "history size"
default 15
depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
help
Specify command history size in shell.
config BUSYBOX_CONFIG_FEATURE_COMMAND_SAVEHISTORY
bool "history saving"
default n
depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
help
Enable history saving in ash shell.
config BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
bool "tab completion"
default y
depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
help
Enable tab completion in shell.
config BUSYBOX_CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
bool "username completion"
default n
depends on BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
help
Enable username completion in shell.
config BUSYBOX_CONFIG_FEATURE_SH_FANCY_PROMPT
bool "Fancy shell prompts"
default y
depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
help
Setting this option allows for prompts to use things like \w and
\$ and also using escape codes.
endmenu

View File

@ -0,0 +1,109 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "System Logging Utilities"
config BUSYBOX_CONFIG_SYSLOGD
bool "syslogd"
default y
help
The syslogd utility is used to record logs of all the
significant events that occur on a system. Every
message that is logged records the date and time of the
event, and will generally also record the name of the
application that generated the message. When used in
conjunction with klogd, messages from the Linux kernel
can also be recorded. This is terribly useful,
especially for finding what happened when something goes
wrong. And something almost always will go wrong if
you wait long enough....
config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
bool " Rotate message files"
default y
depends on BUSYBOX_CONFIG_SYSLOGD
help
This enables syslogd to rotate the message files
on his own. No need to use an external rotatescript.
config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
bool " Remote Log support"
default y
depends on BUSYBOX_CONFIG_SYSLOGD
help
When you enable this feature, the syslogd utility can
be used to send system log messages to another system
connected via a network. This allows the remote
machine to log all the system messages, which can be
terribly useful for reducing the number of serial
cables you use. It can also be a very good security
measure to prevent system logs from being tampered with
by an intruder.
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
bool " Circular Buffer support"
default y
depends on BUSYBOX_CONFIG_SYSLOGD
help
When you enable this feature, the syslogd utility will
use a circular buffer to record system log messages.
When the buffer is filled it will continue to overwrite
the oldest messages. This can be very useful for
systems with little or no permanent storage, since
otherwise system logs can eventually fill up your
entire filesystem, which may cause your system to
break badly.
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
int " Circular buffer size in Kbytes (minimum 4KB)"
default 16
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
This option sets the size of the circular buffer
used to record system log messages.
config BUSYBOX_CONFIG_LOGREAD
bool " logread"
default y
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This
utility will allow you to read the messages that are
stored in the syslogd circular buffer.
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
bool " logread double buffering"
default n
depends on BUSYBOX_CONFIG_LOGREAD
help
'logread' ouput to slow serial terminals can have
side effects on syslog because of the semaphore.
This option make logread to double buffer copy
from circular buffer, minimizing semaphore
contention at some minor memory expense.
config BUSYBOX_CONFIG_KLOGD
bool "klogd"
default y
depends on BUSYBOX_CONFIG_SYSLOGD
help
klogd is a utility which intercepts and logs all
messages from the Linux kernel and sends the messages
out to the 'syslogd' utility so they can be logged. If
you wish to record the messages produced by the kernel,
you should enable this option.
config BUSYBOX_CONFIG_LOGGER
bool "logger"
default y
help
The logger utility allows you to send arbitrary text
messages to the system log (i.e. the 'syslogd' utility) so
they can be logged. This is generally used to help locate
problems that occur within programs and scripts.
endmenu

View File

@ -0,0 +1,357 @@
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Linux System Utilities"
config BUSYBOX_CONFIG_DMESG
bool "dmesg"
default y
help
dmesg is used to examine or control the kernel ring buffer. When the
Linux kernel prints messages to the system log, they are stored in
the kernel ring buffer. You can use dmesg to print the kernel's ring
buffer, clear the kernel ring buffer, change the size of the kernel
ring buffer, and change the priority level at which kernel messages
are also logged to the system console. Enable this option if you
wish to enable the 'dmesg' utility.
config BUSYBOX_CONFIG_FBSET
bool "fbset"
default n
help
fbset is used to show or change the settings of a Linux frame buffer
device. The frame buffer device provides a simple and unique
interface to access a graphics display. Enable this option
if you wish to enable the 'fbset' utility.
config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
bool " Turn on extra fbset options"
default n
depends on BUSYBOX_CONFIG_FBSET
help
This option enables extended fbset options, allowing one to set the
framebuffer size, color depth, etc. interface to access a graphics
display. Enable this option if you wish to enable extended fbset
options.
config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
bool " Turn on fbset readmode support"
default n
depends on BUSYBOX_CONFIG_FBSET
help
This option allows fbset to read the video mode database stored by
default n /etc/fb.modes, which can be used to set frame buffer
device to pre-defined video modes.
config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush"
default n
help
fdflush is only needed when changing media on slightly-broken
removable media drives. It is used to make Linux believe that a
hardware disk-change switch has been actuated, which causes Linux to
forget anything it has cached from the previous media. If you have
such a slightly-broken drive, you will need to run fdflush every time
you change a disk. Most people have working hardware and can safely
leave this disabled.
config BUSYBOX_CONFIG_FDFORMAT
bool "fdformat"
default n
help
fdformat is used to low-level format a floppy disk.
config BUSYBOX_CONFIG_FDISK
bool "fdisk"
default n
help
The fdisk utility is used to divide hard disks into one or more
logical disks, which are generally called partitions. This utility
can be used to list and edit the set of partitions or BSD style
'disk slices' that are defined on a hard drive.
config BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
bool
default y
depends on BUSYBOX_CONFIG_FDISK
help
Enable this option to support large disks > 4GB.
config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
bool " Write support"
default n
depends on BUSYBOX_CONFIG_FDISK
help
Enabling this option allows you to create or change a partition table
and write those changes out to disk. If you leave this option
disabled, you will only be able to view the partition table.
config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
bool " Support AIX disklabels"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change AIX disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
bool " Support SGI disklabels"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change SGI disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
bool " Support SUN disklabels"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change SUN disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
bool " Support BSD disklabels"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change BSD disklabels
and define and edit BSD disk slices.
config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
bool " Support expert mode"
default n
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to do terribly unsafe things like
define arbitrary drive geometry, move the beginning of data in a
partition, and similarly evil things. Unless you have a very good
reason you would be wise to leave this disabled.
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk"
default n
help
Linux allows you to create ramdisks. This utility allows you to
delete them and completely free all memory that was used for the
ramdisk. For example, if you boot Linux into a ramdisk and later
pivot_root, you may want to free the memory that is allocated to the
ramdisk. If you have no use for freeing memory from a ramdisk, leave
this disabled.
config BUSYBOX_CONFIG_FSCK_MINIX
bool "fsck_minix"
default n
help
The minix filesystem is a nice, small, compact, read-write filesystem
with little overhead. It is not a journaling filesystem however and
can experience corruption if it is not properly unmounted or if the
power goes off in the middle of a write. This utility allows you to
check for and attempt to repair any corruption that occurs to a minix
filesystem.
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default n
help
The minix filesystem is a nice, small, compact, read-write filesystem
with little overhead. If you wish to be able to create minix filesystems
this utility will do the job for you.
comment "Minix filesystem support"
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool " Support Minix fs v2 (fsck_minix/mkfs_minix)"
default n
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
help
If you wish to be able to create version 2 minix filesystems, enable this.
If you enabled 'mkfs_minix' then you almost certainly want to be using the
version 2 filesystem support.
config BUSYBOX_CONFIG_GETOPT
bool "getopt"
default n
help
The getopt utility is used to break up (parse) options in command
lines to make it easy to write complex shell scripts that also check
for legal (and illegal) options. If you want to write horribly
complex shell scripts, or use some horribly complex shell script
written by others, this utility may be for you. Most people will
wisely leave this disabled.
config BUSYBOX_CONFIG_HEXDUMP
bool "hexdump"
default y
help
The hexdump utility is used to display binary data in a readable
way that is comparable to the output from most hex editors.
config BUSYBOX_CONFIG_HWCLOCK
bool "hwclock"
default n
help
The hwclock utility is used to read and set the hardware clock
on a system. This is primarily used to set the current time on
shutdown in the hardware clock, so the hardware will keep the
correct time when Linux is _not_ running.
config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONGOPTIONS
bool " Support long options (--hctosys,...)"
default n
depends on BUSYBOX_CONFIG_HWCLOCK
help
By default, the hwclock utility only uses short options. If you
are overly fond of its long options, such as --hctosys, --utc, etc)
then enable this option.
config BUSYBOX_CONFIG_LOSETUP
bool "losetup"
default n
help
losetup is used to associate or detach a loop device with a regular
file or block device, and to query the status of a loop device. This
version does not currently support enabling data encryption.
config BUSYBOX_CONFIG_MKSWAP
bool "mkswap"
default n
help
The mkswap utility is used to configure a file or disk partition as
Linux swap space. This allows Linux to use the entire file or
partition as if it were additional RAM, which can greatly increase
the capability of low-memory machines. This additional memory is
much slower than real RAM, but can be very helpful at preventing your
applications being killed by the Linux out of memory (OOM) killer.
Once you have created swap space using 'mkswap' you need to enable
the swap space using the 'swapon' utility.
config BUSYBOX_CONFIG_MORE
bool "more"
default y
help
more is a simple utility which allows you to read text one screen
sized page at a time. If you want to read text that is larger than
the screen, and you are using anything faster than a 300 baud modem,
you will probably find this utility very helpful. If you don't have
any need to reading text files, you can leave this disabled.
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
bool " Use termios to manipulate the screen"
default y
depends on BUSYBOX_CONFIG_MORE
help
This option allows utilities such as 'more' and 'top' to determine
the size of the screen. If you leave this disabled, your utilities
that display things on the screen will be especially primitive and
will be unable to determine the current screen size, and will be
unable to move the cursor.
config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root"
default y
help
The pivot_root utility swaps the mount points for the root filesystem
with some other mounted filesystem. This allows you to do all sorts
of wild and crazy things with your Linux system and is far more
powerful than 'chroot'.
config BUSYBOX_CONFIG_RDATE
bool "rdate"
default y
help
The rdate utility allows you to synchronize the date and time of your
system clock with the date and time of a remote networked system using
the RFC868 protocol, which is built into the inetd daemon on most
systems.
config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff"
default n
help
This option enables both the 'swapon' and the 'swapoff' utilities.
Once you have created some swap space using 'mkswap', you also need
to enable your swap space with the 'swapon' utility. The 'swapoff'
utility is used, typically at system shutdown, to disable any swap
space. If you are not using any swap space, you can leave this
option disabled.
config BUSYBOX_CONFIG_MOUNT
bool "mount"
default y
help
All files and filesystems in Unix are arranged into one big directory
tree. The 'mount' utility is used to graft a filesystem onto a
particular part of the tree. A filesystem can either live on a block
device, or it can be accessible over the network, as is the case with
NFS filesystems. Most people using BusyBox will also want to enable
the 'mount' utility.
config BUSYBOX_CONFIG_NFSMOUNT
bool " Support mounting NFS file systems"
default y
depends on BUSYBOX_CONFIG_MOUNT
help
Enable mounting of NFS file systems.
config BUSYBOX_CONFIG_UMOUNT
bool "umount"
default y
help
When you want to remove a mounted filesystem from its current mount point,
for example when you are shutting down the system, the 'umount' utility is
the tool to use. If you enabled the 'mount' utility, you almost certainly
also want to enable 'umount'.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FORCE
bool " Support forced filesystem unmounting"
default y
depends on BUSYBOX_CONFIG_UMOUNT
help
This allows you to _force_ a filesystem to be umounted. This is generally
only useful when you want to get rid of an unreachable NFS system.
comment "Common options for mount/umount"
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
bool " Support for loop devices"
default y
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
help
Enabling this feature allows mount to use the '-o' loop options,
which lets you loop mount files. Mount will automagically setup and
free the necessary loop devices so you do not need to mess with the
'losetup' utility unless you really want to. This is really
only useful if you plan to loop mount files.
config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
bool " Support for a real /etc/mtab (instead of /proc/mounts)"
default n
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
help
If your root filesystem is writable and you wish to have the 'mount'
utility create an mtab file listing the filesystems which have been
mounted then you should enable this option. Most people that use
BusyBox have a read-only root filesystem, so they will leave this
option disabled and BusyBox will use the /proc/mounts file.
config BUSYBOX_CONFIG_FEATURE_MTAB_FILENAME
string " mtab file location"
default n
depends on BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
help
Some people have a read only root filesystem, but they also wish to
have the 'mount' utility create an mtab file listing the filesystems
which have been mounted. This option allows you to specify an alternative
location for the mtab file, such as /var/mtab, or /tmp/mtab. The default
value is /etc/mtab, which is where this file is located on most desktop
Linux systems.
endmenu

View File

@ -356,8 +356,8 @@ int conf_write(const char *name)
fprintf(out_h, "#undef %s\n", sym->name);
break;
case mod:
#if 0
fprintf(out, "%s=m\n", sym->name);
#if 0
if (out_h)
fprintf(out_h, "#define %s_MODULE 1\n", sym->name);
#endif

9
package/dnsmasq/Makefile Normal file
View File

@ -0,0 +1,9 @@
include $(TOPDIR)/rules.mk
include ./dnsmasq.mk
source: dnsmasq-source
prepare: $(DNSMASQ_DIR)/.unpacked
compile: $(DNSMASQ_DIR)/src/dnsmasq
install: dnsmasq
clean: dnsmasq-dirclean

View File

@ -20,13 +20,12 @@ DNSMASQ_TARGET_BINARY=usr/sbin/dnsmasq
$(DL_DIR)/$(DNSMASQ_SOURCE):
$(WGET) -P $(DL_DIR) $(DNSMASQ_SITE)/$(DNSMASQ_SOURCE)
$(DNSMASQ_DIR)/.source: $(DL_DIR)/$(DNSMASQ_SOURCE)
$(DNSMASQ_DIR)/.unpacked: $(DL_DIR)/$(DNSMASQ_SOURCE)
zcat $(DL_DIR)/$(DNSMASQ_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(DNSMASQ_DIR) package/dnsmasq/ \
$(DNSMASQ_VER)-\*.patch
touch $(DNSMASQ_DIR)/.source
$(PATCH) $(DNSMASQ_DIR) ./ $(DNSMASQ_VER)-\*.patch
touch $(DNSMASQ_DIR)/.unpacked
$(DNSMASQ_DIR)/src/$(DNSMASQ_BINARY): $(DNSMASQ_DIR)/.source
$(DNSMASQ_DIR)/src/$(DNSMASQ_BINARY): $(DNSMASQ_DIR)/.unpacked
$(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" \
BINDIR=/usr/sbin MANDIR=/usr/man -C $(DNSMASQ_DIR)
@ -36,9 +35,9 @@ $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY): $(DNSMASQ_DIR)/src/$(DNSMASQ_BINARY)
$(STRIP) $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY)
rm -rf $(TARGET_DIR)/usr/man
dnsmasq: uclibc $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY)
dnsmasq: $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY)
dnsmasq1: uclibc $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY)
dnsmasq1: $(TARGET_DIR)/$(DNSMASQ_TARGET_BINARY)
dnsmasq-source: $(DL_DIR)/$(DNSMASQ_SOURCE)

View File

@ -1,8 +0,0 @@
config BR2_PACKAGE_DROPBEAR_SSHD
bool "dropbear_sshd"
select BR2_PACKAGE_ZLIB
default n
help
A small SSH 2 server designed for small memory environments.
http://matt.ucc.asn.au/dropbear/

View File

@ -1,59 +0,0 @@
--- dropbear-0.42/S50dropbear
+++ dropbear-0.42/S50dropbear
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# Starts dropbear sshd.
+#
+
+# Make sure the dropbearkey progam exists
+[ -f /usr/bin/dropbearkey ] || exit 0
+
+# Check for the Dropbear RSA key
+if [ ! -f /etc/dropbear/dropbear_rsa_host_key ] ; then
+ echo Generating RSA Key...
+ mkdir -p /etc/dropbear
+ /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
+fi
+
+# Check for the Dropbear DSS key
+if [ ! -f /etc/dropbear/dropbear_dss_host_key ] ; then
+ echo Generating DSS Key...
+ mkdir -p /etc/dropbear
+ /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
+fi
+
+umask 077
+
+start() {
+ echo -n "Starting dropbear sshd: "
+ start-stop-daemon --start --quiet --pidfile /var/run/dropbear.pid --exec /usr/sbin/dropbear
+ echo "OK"
+}
+stop() {
+ echo -n "Stopping sshd: "
+ start-stop-daemon --stop --quiet --pidfile /var/run/dropbear.pid
+ echo "OK"
+}
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
+

View File

@ -1,82 +0,0 @@
#############################################################
#
# dropbear_sshd
#
#############################################################
DROPBEAR_SSHD_SOURCE:=dropbear-0.44.tar.bz2
DROPBEAR_SSHD_SITE:=http://matt.ucc.asn.au/dropbear/releases/
DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.44
DROPBEAR_SSHD_CAT:=bzcat
DROPBEAR_SSHD_BINARY:=dropbearmulti
DROPBEAR_SSHD_TARGET_BINARY:=usr/sbin/dropbear
$(DL_DIR)/$(DROPBEAR_SSHD_SOURCE):
$(WGET) -P $(DL_DIR) $(DROPBEAR_SSHD_SITE)/$(DROPBEAR_SSHD_SOURCE)
dropbear_sshd-source: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
$(DROPBEAR_SSHD_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
$(DROPBEAR_SSHD_CAT) $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(DROPBEAR_SSHD_DIR) package/dropbear_sshd/ dropbear-\*.patch
$(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_SSHD_DIR)/options.h
touch $(DROPBEAR_SSHD_DIR)/.unpacked
$(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
(cd $(DROPBEAR_SSHD_DIR); rm -rf config.cache; \
autoconf; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(DISABLE_NLS) \
--with-shared \
);
touch $(DROPBEAR_SSHD_DIR)/.configured
$(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \
PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \
MULTI=1 SCPPROGRESS=1 -C $(DROPBEAR_SSHD_DIR)
$(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY): $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY)
#$(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) \
# LD=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) install
#rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
# $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
install -d -m 755 $(TARGET_DIR)/usr/sbin
install -d -m 755 $(TARGET_DIR)/usr/bin
install -m 755 $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY) \
$(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/scp
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/ssh
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearkey
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearconvert
cp $(DROPBEAR_SSHD_DIR)/S50dropbear $(TARGET_DIR)/etc/init.d/
chmod a+x $(TARGET_DIR)/etc/init.d/S50dropbear
dropbear_sshd: uclibc zlib $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
dropbear_sshd-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) \
LD=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) uninstall
-$(MAKE) -C $(DROPBEAR_SSHD_DIR) clean
dropbear_sshd-dirclean:
rm -rf $(DROPBEAR_SSHD_DIR)
ifeq ($(strip $(BR2_PACKAGE_DROPBEAR_SSHD)),y)
TARGETS+=dropbear_sshd
endif

View File

@ -1,6 +1,6 @@
config BR2_PACKAGE_EBTABLES
bool "ebtables"
default n
tristate "Ethernet Bridge Firewalling"
default m
help
ethernet bridging firewalling
Ethernet Bridge Firewalling (ebtables)
http://ebtables.sourceforge.net/

43
package/ebtables/Makefile Normal file
View File

@ -0,0 +1,43 @@
#############################################################
#
# ebtables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=ebtables
PKG_VERSION:=2.0.6
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://umn.dl.sourceforge.net/sourceforge/ebtables/
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/ebtables-v$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/ebtables: $(PKG_BUILD_DIR)/.unpacked
$(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
CFLAGS="$(TARGET_CFLAGS) -Wall"
$(PKG_IPK): $(PKG_BUILD_DIR)/ebtables
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/ebtables $(PKG_IPK_DIR)/usr/sbin/
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install:
$(IPKG) install $(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,9 @@
Package: ebtables
Priority: optional
Section: net
Version: 1.2.11-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Ethernet bridge firewalling software
Depends: kmod-ebtables

View File

@ -1,41 +0,0 @@
#############################################################
#
# ebtables
#
#############################################################
EBTABLES_SOURCE_URL=http://umn.dl.sourceforge.net/sourceforge/ebtables/
EBTABLES_SOURCE=ebtables-v2.0.6.tar.gz
EBTABLES_BUILD_DIR=$(BUILD_DIR)/ebtables-v2.0.6
EBTABLES_TARGET_BINARY:=usr/sbin/ebtables
$(DL_DIR)/$(EBTABLES_SOURCE):
$(WGET) -P $(DL_DIR) $(EBTABLES_SOURCE_URL)/$(EBTABLES_SOURCE)
$(EBTABLES_BUILD_DIR)/.unpacked: $(DL_DIR)/$(EBTABLES_SOURCE)
zcat $(DL_DIR)/$(EBTABLES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(EBTABLES_BUILD_DIR)/.unpacked
$(EBTABLES_BUILD_DIR)/ebtables: $(EBTABLES_BUILD_DIR)/.unpacked
$(MAKE) -C $(EBTABLES_BUILD_DIR) \
CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
CFLAGS="$(TARGET_CFLAGS) -Wall"
$(TARGET_DIR)/$(EBTABLES_TARGET_BINARY): $(EBTABLES_BUILD_DIR)/ebtables
cp -af $(EBTABLES_BUILD_DIR)/ebtables $(TARGET_DIR)/$(EBTABLES_TARGET_BINARY)
$(STRIP) $(TARGET_DIR)/$(EBTABLES_TARGET_BINARY)
ebtables: $(TARGET_DIR)/$(EBTABLES_TARGET_BINARY)
ebtables-source: $(DL_DIR)/$(EBTABLES_SOURCE)
ebtables-clean:
#$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(EBTABLES_BUILD_DIR) uninstall
-$(MAKE) -C $(EBTABLES_BUILD_DIR) clean
ebtables-dirclean:
rm -rf $(EBTABLES_BUILD_DIR)
ifeq ($(strip $(BR2_PACKAGE_EBTABLES)),y)
TARGETS+=ebtables
endif

View File

@ -0,0 +1,17 @@
config BR2_PACKAGE_IPROUTE2
bool
depends BR2_PACKAGE_IPROUTE2_IP || BR2_PACKAGE_IPROUTE2_TC
default n
config BR2_PACKAGE_IPROUTE2_IP
tristate "iproute2 routing control (ip)"
default m
select BR2_PACKAGE_IPROUTE2
config BR2_PACKAGE_IPROUTE2_TC
tristate "iproute2 traffic control (tc)"
default m
select BR2_PACKAGE_IPROUTE2
select BR2_PACKAGE_KMOD_SCHED

87
package/iproute2/Makefile Normal file
View File

@ -0,0 +1,87 @@
#############################################################
#
# ebtables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=2.6.9
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://developer.osdl.org/dev/iproute2/download/
PKG_SOURCE:=$(PKG_NAME)-2.6.9-041019.tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/iproute2-2.6.9
PKG_CAT:=zcat
PKG_IP:=$(PACKAGE_DIR)/ip_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IP_DIR:=$(PKG_BUILD_DIR)/ipkg/ip
PKG_TC:=$(PACKAGE_DIR)/tc_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_TC_DIR:=$(PKG_BUILD_DIR)/ipkg/tc
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
$(SED) "s:-O2:${TARGET_CFLAGS}:g" $(PKG_BUILD_DIR)/Makefile
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
$(SED) "s,-I/usr/include/db3,," $(PKG_BUILD_DIR)/Makefile
$(SED) "s,^KERNEL_INCLUDE.*,KERNEL_INCLUDE=$(LINUX_DIR)/include," \
$(PKG_BUILD_DIR)/Makefile
$(SED) "s,^LIBC_INCLUDE.*,LIBC_INCLUDE=$(STAGING_DIR)/include," \
$(PKG_BUILD_DIR)/Makefile
# For now disable compiling of the misc directory because it seems to fail
rm -rf $(PKG_BUILD_DIR)/misc
$(SED) "s, misc,," $(PKG_BUILD_DIR)/Makefile
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/tc/tc: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all tc/tc
$(PKG_BUILD_DIR)/ip/ip: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all ip/ip
$(PKG_IP): $(PKG_BUILD_DIR)/ip/ip $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IP_DIR) ip.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IP_DIR)/usr/sbin
cp $< $(PKG_IP_DIR)/usr/sbin/
$(STRIP) $(PKG_IP_DIR)/usr/sbin/*
$(IPKG_BUILD) $(PKG_IP_DIR) $(PACKAGE_DIR)
$(PKG_TC): $(PKG_BUILD_DIR)/tc/tc $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_TC_DIR) tc.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_TC_DIR)/usr/sbin
cp $< $(PKG_TC_DIR)/usr/sbin/
$(STRIP) $(PKG_TC_DIR)/usr/sbin/*
$(IPKG_BUILD) $(PKG_TC_DIR) $(PACKAGE_DIR)
$(PACKAGE_DIR):
mkdir -p $(PACKAGE_DIR)
TARGETS:=
ifneq ($(BR2_PACKAGE_IPROUTE2_IP),)
TARGETS += $(PKG_IP)
endif
ifneq ($(BR2_PACKAGE_IPROUTE2_TC),)
TARGETS += $(PKG_TC)
endif
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(TARGETS)
install:
ifeq ($(BR2_PACKAGE_IPROUTE2_IP),y)
$(IPKG) install $(PKG_IP)
endif
ifeq ($(BR2_PACKAGE_IPROUTE2_TC),y)
$(IPKG) install $(PKG_TC)
endif
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,8 @@
Package: ip
Architecture: mipsel
Version: 2.6.9-1
Section: net
Priority: optional
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: iproute2 routing control utility

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
--- iproute2-2.6.9.old/ip/ipxfrm.c 2005-01-30 19:09:32.000000000 +0100
+++ iproute2-2.6.9/ip/ipxfrm.c 2005-01-30 19:10:31.000000000 +0100
@@ -392,7 +392,6 @@
switch (sel->proto) {
case IPPROTO_TCP:
case IPPROTO_UDP:
- case IPPROTO_SCTP:
default: /* XXX */
if (sel->sport_mask)
fprintf(fp, "sport %u ", ntohs(sel->sport));
@@ -787,7 +786,6 @@
switch (sel->proto) {
case IPPROTO_TCP:
case IPPROTO_UDP:
- case IPPROTO_SCTP:
break;
default:
fprintf(stderr, "\"sport\" and \"dport\" are invalid with proto=%s\n", strxf_proto(sel->proto));

View File

@ -0,0 +1,11 @@
--- iproute-2.6.9.old/tc/Makefile 2005-01-30 18:53:59.000000000 +0100
+++ iproute-2.6.9/tc/Makefile 2005-01-30 18:54:07.000000000 +0100
@@ -52,7 +52,7 @@
./$* >$@
rm $*
-all: libtc.a tc $(TCSO) $(NETEM_DIST)
+all: libtc.a tc $(TCSO)
tc: $(TCOBJ) $(LIBNETLINK) $(LIBUTIL) $(TCLIB)

View File

@ -0,0 +1,9 @@
Package: tc
Architecture: mipsel
Version: 2.6.9
Section: net
Priority: optional
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: iproute2 traffic control utility
Depends: kmod-sched

View File

@ -1,7 +1,24 @@
config BR2_PACKAGE_IPTABLES
bool "iptables"
tristate "iptables"
default y
help
Linux kernel (2.4+) firewall, NAT, and packet mangling tools.
http://www.iptables.org/
config BR2_PACKAGE_IPTABLES_EXTRA
tristate "extra modules"
default m
depends BR2_PACKAGE_IPTABLES
help
Extra modules for iptables (kernel and user space)
config BR2_PACKAGE_IP6TABLES
tristate "ip6tables"
default m
depends BR2_PACKAGE_IPTABLES
select BR2_PACKAGE_KMOD_IPV6
help
IPv6 firewalling

97
package/iptables/Makefile Normal file
View File

@ -0,0 +1,97 @@
include $(TOPDIR)/rules.mk
include kernelconfig.mk
PKG_NAME := iptables
PKG_VERSION := 1.2.11
PKG_RELEASE := 1
PKG_SOURCE_SITE := http://www.netfilter.org/files
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_CAT := bzcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPT := $(PACKAGE_DIR)/iptables_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPT_EXTRA := $(PACKAGE_DIR)/iptables-extra_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IP6T := $(PACKAGE_DIR)/ip6tables_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_IPT := $(PKG_BUILD_DIR)/ipkg/iptables
I_IPT_EXTRA := $(PKG_BUILD_DIR)/ipkg/iptables-extra
I_IP6T := $(PKG_BUILD_DIR)/ipkg/ip6tables
TARGETS := $(PKG_IPT)
ifneq ($(BR2_PACKAGE_IPTABLES_EXTRA),)
TARGETS += $(PKG_IPT_EXTRA)
endif
ifneq ($(BR2_PACKAGE_IP6TABLES),)
TARGETS += $(PKG_IP6T)
endif
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(PKG_BUILD_DIR)/modules
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/iptables: $(PKG_BUILD_DIR)/.patched
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(PKG_BUILD_DIR) \
KERNEL_DIR=$(LINUX_DIR) PREFIX=/usr \
CC=$(TARGET_CC) COPT_FLAGS="$(TARGET_CFLAGS)"
$(PKG_IPT): $(PKG_BUILD_DIR)/iptables
$(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IPT) control/iptables.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(I_IPT)/usr/sbin
cp -af $(PKG_BUILD_DIR)/iptables $(I_IPT)/usr/sbin/
$(STRIP) $(I_IPT)/usr/sbin/iptables
mkdir -p $(I_IPT)/usr/lib/iptables
(cd $(PKG_BUILD_DIR)/extensions; \
cp $(patsubst %,libipt_%.so,$(ext-y)) $(I_IPT)/usr/lib/iptables)
-$(STRIP) $(I_IPT)/usr/lib/iptables/*.so
mkdir -p $(I_IPT_EXTRA)/$(MODULES_SUBDIR)
cp $(MODULES_DIR)/kernel/net/ipv6/netfilter/*.o $(I_IPT_EXTRA)/$(MODULES_SUBDIR)
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(I_IPT) $(PACKAGE_DIR)
$(PKG_IPT_EXTRA): $(PKG_BUILD_DIR)/iptables
$(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IPT_EXTRA) control/iptables-extra.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(I_IPT_EXTRA)/usr/lib/iptables
(cd $(PKG_BUILD_DIR)/extensions; \
cp $(patsubst %,libipt_%.so,$(ext-m)) $(I_IPT_EXTRA)/usr/lib/iptables)
-$(STRIP) $(I_IPT_EXTRA)/usr/lib/iptables/*.so
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(I_IPT_EXTRA) $(PACKAGE_DIR)
$(PKG_IP6T): $(PKG_BUILD_DIR)/iptables
$(SCRIPT_DIR)/make-ipkg-dir.sh $(I_IP6T) control/ip6tables.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(I_IP6T)/usr/sbin
cp -af $(PKG_BUILD_DIR)/ip6tables $(I_IP6T)/usr/sbin/
$(STRIP) $(I_IP6T)/usr/sbin/ip6tables
mkdir -p $(I_IP6T)/usr/lib/iptables
(cd $(PKG_BUILD_DIR)/extensions; \
cp libip6t_*.so $(I_IP6T)/usr/lib/iptables)
-$(STRIP) $(I_IP6T)/usr/lib/iptables/*.so
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(I_IP6T) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(TARGETS)
install: compile
$(IPKG) install $(PKG_IPT)
ifeq ($(BR2_PACKAGE_IPTABLES_EXTRA),y)
$(IPKG) install $(PKG_IPT_EXTRA)
endif
ifeq ($(BR2_PACKAGE_IP6TABLES),y)
$(IPKG) install $(PKG_IP6T)
endif
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(PKG_IPT)

View File

@ -0,0 +1,9 @@
Package: ip6tables
Priority: optional
Depends: kmod-ipv6
Section: net
Version: 1.2.11-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: The netfilter firewalling software for IPv6

View File

@ -0,0 +1,9 @@
Package: iptables-extra
Priority: optional
Section: net
Version: 1.2.11-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Extra plugins for iptables
Depends: kmod-iptables-extra

View File

@ -0,0 +1,8 @@
Package: iptables
Priority: optional
Section: net
Version: 1.2.11-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: The netfilter firewalling software for IPv4

View File

@ -1,55 +0,0 @@
#############################################################
#
# iptables
#
#############################################################
IPTABLES_VER:=1.2.11
IPTABLES_SOURCE_URL:=http://www.netfilter.org/files
IPTABLES_SOURCE:=iptables-$(IPTABLES_VER).tar.bz2
IPTABLES_BUILD_DIR:=$(BUILD_DIR)/iptables-$(IPTABLES_VER)
$(DL_DIR)/$(IPTABLES_SOURCE):
$(WGET) -P $(DL_DIR) $(IPTABLES_SOURCE_URL)/$(IPTABLES_SOURCE)
$(IPTABLES_BUILD_DIR)/.unpacked: $(DL_DIR)/$(IPTABLES_SOURCE)
bzcat $(DL_DIR)/$(IPTABLES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(IPTABLES_BUILD_DIR)/.unpacked
$(IPTABLES_BUILD_DIR)/.configured: $(IPTABLES_BUILD_DIR)/.unpacked
# Allow patches. Needed for openwrt for instance.
toolchain/patch-kernel.sh $(IPTABLES_BUILD_DIR) package/iptables/ iptables-\*.patch
#
# $(SED) "s;\[ -f /usr/include/netinet/ip6.h \];grep -q '__UCLIBC_HAS_IPV6__ 1' \
# $(BUILD_DIR)/uClibc/include/bits/uClibc_config.h;" $(IPTABLES_BUILD_DIR)/Makefile
touch $(IPTABLES_BUILD_DIR)/.configured
$(IPTABLES_BUILD_DIR)/iptables: $(IPTABLES_BUILD_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(IPTABLES_BUILD_DIR) \
KERNEL_DIR=$(LINUX_DIR) PREFIX=/usr \
CC=$(TARGET_CC) COPT_FLAGS="$(TARGET_CFLAGS)"
$(TARGET_DIR)/usr/sbin/iptables: $(IPTABLES_BUILD_DIR)/iptables
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(IPTABLES_BUILD_DIR) \
KERNEL_DIR=$(LINUX_DIR) PREFIX=/usr \
CC=$(TARGET_CC) COPT_FLAGS="$(TARGET_CFLAGS)" \
DESTDIR=$(TARGET_DIR) install
$(STRIP) $(TARGET_DIR)/usr/sbin/iptables*
$(STRIP) $(TARGET_DIR)/usr/lib/iptables/*.so
rm -rf $(TARGET_DIR)/usr/man
iptables: kernel-headers $(TARGET_DIR)/usr/sbin/iptables
iptables-source: $(DL_DIR)/$(IPTABLES_SOURCE)
iptables-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(IPTABLES_BUILD_DIR) uninstall
-$(MAKE) -C $(IPTABLES_BUILD_DIR) clean
iptables-dirclean:
rm -rf $(IPTABLES_BUILD_DIR)
ifeq ($(strip $(BR2_PACKAGE_IPTABLES)),y)
TARGETS+=iptables
endif

View File

@ -0,0 +1,35 @@
include $(LINUX_DIR)/.config
# translate linux kernel config to filenames
ext-$(CONFIG_IP_NF_MATCH_LIMIT) += limit
ext-$(CONFIG_IP_NF_MATCH_MAC) += mac
ext-$(CONFIG_IP_NF_MATCH_PKTTYPE) += pkttype
ext-$(CONFIG_IP_NF_MATCH_MARK) += mark
ext-$(CONFIG_IP_NF_MATCH_MULTIPORT) += multiport
ext-$(CONFIG_IP_NF_MATCH_TOS) += tos
ext-$(CONFIG_IP_NF_MATCH_RECENT) += recent
ext-$(CONFIG_IP_NF_MATCH_ECN) += ecn
ext-$(CONFIG_IP_NF_MATCH_IPP2P) += ipp2p
ext-$(CONFIG_IP_NF_MATCH_DSCP) += dscp
ext-$(CONFIG_IP_NF_MATCH_AH_ESP) += ah esp
ext-$(CONFIG_IP_NF_MATCH_LENGTH) += length
ext-$(CONFIG_IP_NF_MATCH_TTL) += ttl
ext-$(CONFIG_IP_NF_MATCH_TCPMSS) += tcpmss
ext-$(CONFIG_IP_NF_MATCH_HELPER) += helper
ext-$(CONFIG_IP_NF_MATCH_STATE) += state
ext-$(CONFIG_IP_NF_MATCH_CONNTRACK) += conntrack
ext-$(CONFIG_IP_NF_MATCH_UNCLEAN) += unclean
ext-$(CONFIG_IP_NF_MATCH_OWNER) += owner
ext-$(CONFIG_IP_NF_MATCH_PHYSDEV) += physdev
ext-$(CONFIG_IP_NF_TARGET_MASQUERADE) += MASQUERADE
ext-$(CONFIG_IP_NF_TARGET_REDIRECT) += REDIRECT
ext-$(CONFIG_IP_NF_TARGET_TOS) += TOS
ext-$(CONFIG_IP_NF_TARGET_ECN) += ECN
ext-$(CONFIG_IP_NF_TARGET_DSCP) += DSCP
ext-$(CONFIG_IP_NF_TARGET_MARK) += MARK
ext-$(CONFIG_IP_NF_TARGET_LOG) += LOG
ext-$(CONFIG_IP_NF_TARGET_ULOG) += ULOG
ext-$(CONFIG_IP_NF_TARGET_TCPMSS) += TCPMSS

View File

@ -0,0 +1,538 @@
diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensions/libipt_ipp2p.c
--- iptables-1.2.11.old/extensions/libipt_ipp2p.c 1970-01-01 01:00:00.000000000 +0100
+++ iptables-1.2.11/extensions/libipt_ipp2p.c 2005-03-01 17:49:59.000000000 +0100
@@ -0,0 +1,482 @@
+
+#include <stdio.h>
+#include <netdb.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <ctype.h>
+
+#include <iptables.h>
+
+#include <linux/netfilter_ipv4/ipt_ipp2p.h>
+
+
+
+
+static void
+help(void)
+{
+ printf(
+ "IPP2P v%s options:\n"
+ " --ipp2p Grab all known p2p packets\n"
+ " --ipp2p-data Identify all known p2p download commands (obsolete)\n\n"
+ " --edk [TCP&UDP] All known eDonkey/eMule/Overnet packets\n"
+ " --dc [TCP] All known Direct Connect packets\n"
+ " --kazaa [TCP&UDP] All known KaZaA packets\n"
+ " --gnu [TCP&UDP] All known Gnutella packets\n"
+ " --bit [TCP&UDP] All known BitTorrent packets\n"
+ " --apple [TCP] All known AppleJuice packets (beta - just a few tests until now)\n"
+ " --winmx [TCP] All known WinMX (beta - need feedback)\n"
+ " --soul [TCP] All known SoulSeek (beta - need feedback!)\n"
+ " --ares [TCP] All known Ares - use with DROP only (beta - need feedback!)\n\n"
+ " --edk-data [TCP] eDonkey/eMule/Overnet download commands (obsolete)\n"
+ " --dc-data [TCP] Direct Connect download command (obsolete)\n"
+ " --kazaa-data [TCP] KaZaA download command (obsolete)\n"
+ " --gnu-data [TCP] Gnutella download command (obsolete)\n"
+ "\nNote that the follwing options will have the same meaning:\n"
+ " '--ipp2p' is equal to '--edk --dc --kazaa --gnu'\n"
+ " '--ipp2p-data' is equal to '--edk-data --dc-data --kazaa-data --gnu-data'\n"
+ "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this:\n"
+ " --udp search UDP packets only\n"
+ " --tcp search TCP packets only\n"
+ " --udp --tcp search UDP and TCP packets\n"
+ "\nSee README included with this package for more details or visit http://www.ipp2p.org\n"
+ "\nExamples:\n"
+ " iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01\n"
+ " iptables -A FORWARD -m ipp2p --udp --kazaa --bit -j DROP\n"
+ " iptables -A FORWARD -m ipp2p --tcp --edk --soul -j DROP\n\n"
+ , IPP2P_VERSION);
+}
+
+
+
+static struct option opts[] = {
+ { "ipp2p", 0, 0, '1' },
+ { "edk", 0, 0, '2' },
+ { "ipp2p-data", 0, 0, '3' },
+ { "kazaa-data", 0, 0, '4' },
+ { "edk-data", 0, 0, '5' },
+ { "dc-data", 0, 0, '6' },
+ { "dc", 0, 0, '7' },
+ { "gnu-data", 0, 0, '8' },
+ { "gnu", 0, 0, '9' },
+ { "kazaa", 0, 0, 'a' },
+ { "bit", 0, 0, 'b' },
+ { "apple", 0, 0, 'c' },
+ { "soul", 0, 0, 'd' },
+ { "winmx", 0, 0, 'e' },
+ { "ares", 0, 0, 'f' },
+ { "debug", 0, 0, 'g' },
+ { "udp", 0, 0, 'h' },
+ { "tcp", 0, 0, 'i' },
+ {0}
+};
+
+
+
+static void
+init(struct ipt_entry_match *m, unsigned int *nfcache)
+{
+ struct ipt_p2p_info *info = (struct ipt_p2p_info *)m->data;
+
+ *nfcache |= NFC_UNKNOWN;
+
+ /*init the module with default values*/
+ info->cmd = 0;
+ info->debug = 0;
+ info->proto = IPP2P_PROTO_DEFAULT;
+
+}
+
+
+static int
+parse(int c, char **argv, int invert, unsigned int *flags,
+ const struct ipt_entry *entry,
+ unsigned int *nfcache,
+ struct ipt_entry_match **match)
+{
+ struct ipt_p2p_info *info = (struct ipt_p2p_info *)(*match)->data;
+
+ switch (c) {
+ case '1': /*cmd: ipp2p*/
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags) != 0)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += SHORT_HAND_IPP2P;
+ info->cmd = *flags;
+ break;
+
+ case '2': /*cmd: edk*/
+ if ((*flags & IPP2P_EDK) == IPP2P_EDK)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--edk' may only be "
+ "specified once");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_DATA_EDK) == IPP2P_DATA_EDK)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--edk' OR `--edk-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_EDK;
+ info->cmd = *flags;
+ break;
+
+ case '3': /*cmd: ipp2p-data*/
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags) != 0)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += SHORT_HAND_DATA;
+ info->cmd = *flags;
+ break;
+
+ case '4': /*cmd: kazaa-data*/
+ if ((*flags & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--kazaa-data' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_KAZAA) == IPP2P_KAZAA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_DATA_KAZAA;
+ info->cmd = *flags;
+ break;
+
+ case '5': /*cmd: edk-data*/
+ if ((*flags & IPP2P_DATA_EDK) == IPP2P_DATA_EDK)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--edk-data' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_EDK) == IPP2P_EDK)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--edk' OR `--edk-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_DATA_EDK;
+ info->cmd = *flags;
+ break;
+
+ case '6': /*cmd: dc-data*/
+ if ((*flags & IPP2P_DATA_DC) == IPP2P_DATA_DC)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--dc-data' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_DC) == IPP2P_DC)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--dc' OR `--dc-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_DATA_DC;
+ info->cmd = *flags;
+ break;
+
+ case '7': /*cmd: dc*/
+ if ((*flags & IPP2P_DC) == IPP2P_DC)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--dc' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_DATA_DC) == IPP2P_DATA_DC)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--dc' OR `--dc-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_DC;
+ info->cmd = *flags;
+ break;
+
+
+ case '8': /*cmd: gnu-data*/
+ if ((*flags & IPP2P_DATA_GNU) == IPP2P_DATA_GNU)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--gnu-data' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_GNU) == IPP2P_GNU)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_DATA_GNU;
+ info->cmd = *flags;
+ break;
+
+ case '9': /*cmd: gnu*/
+ if ((*flags & IPP2P_GNU) == IPP2P_GNU)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--gnu' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_DATA_GNU) == IPP2P_DATA_GNU)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_GNU;
+ info->cmd = *flags;
+ break;
+
+ case 'a': /*cmd: kazaa*/
+ if ((*flags & IPP2P_KAZAA) == IPP2P_KAZAA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--kazaa' may only be "
+ "specified once!");
+ if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p-data' may only be "
+ "specified alone!");
+ if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ipp2p' may only be "
+ "specified alone!");
+ if ((*flags & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_KAZAA;
+ info->cmd = *flags;
+ break;
+
+ case 'b': /*cmd: bit*/
+ if ((*flags & IPP2P_BIT) == IPP2P_BIT)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--bit' may only be "
+ "specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_BIT;
+ info->cmd = *flags;
+ break;
+
+ case 'c': /*cmd: apple*/
+ if ((*flags & IPP2P_APPLE) == IPP2P_APPLE)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--apple' may only be "
+ "specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_APPLE;
+ info->cmd = *flags;
+ break;
+
+
+ case 'd': /*cmd: soul*/
+ if ((*flags & IPP2P_SOUL) == IPP2P_SOUL)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--soul' may only be "
+ "specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_SOUL;
+ info->cmd = *flags;
+ break;
+
+
+ case 'e': /*cmd: winmx*/
+ if ((*flags & IPP2P_WINMX) == IPP2P_WINMX)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--winmx' may only be "
+ "specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_WINMX;
+ info->cmd = *flags;
+ break;
+
+ case 'f': /*cmd: ares*/
+ if ((*flags & IPP2P_ARES) == IPP2P_ARES)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: `--ares' may only be "
+ "specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ *flags += IPP2P_ARES;
+ info->cmd = *flags;
+ break;
+
+ case 'g': /*cmd: debug*/
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ info->debug = 1;
+ break;
+
+ case 'h': /*cmd: udp*/
+ if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: --udp may only be specified once!");
+
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ info->proto += IPP2P_PROTO_UDP;
+ break;
+
+
+ case 'i': /*cmd: tcp*/
+ if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP)
+ exit_error(PARAMETER_PROBLEM,
+ "ipp2p: --tcp may only be specified once!");
+ if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
+ info->proto += IPP2P_PROTO_TCP;
+ break;
+
+
+ default:
+ exit_error(PARAMETER_PROBLEM,
+ "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
+ return 0;
+ }
+ return 1;
+}
+
+
+static void
+final_check(unsigned int flags)
+{
+ if (!flags)
+ exit_error(PARAMETER_PROBLEM,
+ "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
+}
+
+
+
+static void
+print(const struct ipt_ip *ip,
+ const struct ipt_entry_match *match,
+ int numeric)
+{
+ struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
+
+ printf("ipp2p v%s", IPP2P_VERSION);
+ if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf(" --ipp2p");
+ if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf(" --ipp2p-data");
+ if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf(" --kazaa");
+ if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf(" --kazaa-data");
+ if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf(" --gnu-data");
+ if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf(" --gnu");
+ if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf(" --edk");
+ if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf(" --edk-data");
+ if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf(" --dc-data");
+ if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf(" --dc");
+ if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf(" --bit");
+ if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf(" --apple");
+ if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf(" --soul");
+ if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf(" --winmx");
+ if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf(" --ares");
+ if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP) printf(" --udp");
+ if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP) printf(" --tcp");
+ if (info->debug != 0) printf(" --debug");
+ printf(" ");
+}
+
+
+
+static void
+save(const struct ipt_ip *ip, const struct ipt_entry_match *match)
+{
+ struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
+
+ if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf("--ipp2p ");
+ if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf("--ipp2p-data ");
+ if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf("--kazaa ");
+ if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf("--kazaa-data ");
+ if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf("--gnu-data ");
+ if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf("--gnu ");
+ if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf("--edk ");
+ if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf("--edk-data ");
+ if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf("--dc-data ");
+ if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf("--dc ");
+ if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf("--bit ");
+ if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf("--apple ");
+ if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf("--soul ");
+ if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf("--winmx ");
+ if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf("--ares ");
+ if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP) printf("--udp ");
+ if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP) printf("--tcp ");
+ if (info->debug != 0) printf("--debug ");
+}
+
+
+
+
+static
+struct iptables_match ipp2p
+= { NULL,
+ "ipp2p",
+ IPTABLES_VERSION,
+ IPT_ALIGN(sizeof(struct ipt_p2p_info)),
+ IPT_ALIGN(sizeof(struct ipt_p2p_info)),
+ &help,
+ &init,
+ &parse,
+ &final_check,
+ &print,
+ &save,
+ opts
+};
+
+
+
+void _init(void)
+{
+ register_match(&ipp2p);
+}
+
diff -urN iptables-1.2.11.old/extensions/Makefile iptables-1.2.11/extensions/Makefile
--- iptables-1.2.11.old/extensions/Makefile 2004-06-17 12:22:54.000000000 +0200
+++ iptables-1.2.11/extensions/Makefile 2005-03-01 17:51:19.000000000 +0100
@@ -8,6 +8,10 @@
PF_EXT_SLIB:=ah connlimit connmark conntrack dscp ecn esp helper icmp iprange length limit mac mark multiport owner physdev pkttype realm rpc sctp standard state tcp tcpmss tos ttl udp unclean CLASSIFY CONNMARK DNAT DSCP ECN LOG MARK MASQUERADE MIRROR NETMAP NOTRACK REDIRECT REJECT SAME SNAT TARPIT TCPMSS TOS TRACE TTL ULOG
PF6_EXT_SLIB:=eui64 hl icmpv6 length limit mac mark multiport owner standard tcp udp HL LOG MARK TRACE
+
+# ipp2p
+PF_EXT_SLIB += ipp2p
+
# Optionals
PF_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
PF6_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test6),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
diff -urN iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h
--- iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h 1970-01-01 01:00:00.000000000 +0100
+++ iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h 2005-03-01 17:48:03.000000000 +0100
@@ -0,0 +1,34 @@
+#ifndef __IPT_IPP2P_H
+#define __IPT_IPP2P_H
+#define IPP2P_VERSION "0.7.1"
+
+struct ipt_p2p_info {
+ int cmd;
+ int debug;
+ int proto;
+};
+
+#endif //__IPT_IPP2P_H
+
+#define SHORT_HAND_IPP2P 1 /* --ipp2p switch*/
+#define SHORT_HAND_DATA 4 /* --ipp2p-data switch*/
+#define SHORT_HAND_NONE 5 /* no short hand*/
+
+#define IPP2P_EDK 2
+#define IPP2P_DATA_KAZAA 8
+#define IPP2P_DATA_EDK 16
+#define IPP2P_DATA_DC 32
+#define IPP2P_DC 64
+#define IPP2P_DATA_GNU 128
+#define IPP2P_GNU 256
+#define IPP2P_KAZAA 512
+#define IPP2P_BIT 1024
+#define IPP2P_APPLE 2048
+#define IPP2P_SOUL 4096
+#define IPP2P_WINMX 8192
+#define IPP2P_ARES 16384
+
+#define IPP2P_PROTO_DEFAULT 1
+#define IPP2P_PROTO_UDP 2
+#define IPP2P_PROTO_TCP 4
+

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_LINKSYS_UTILS
tristate "Linksys binary utilites"
default y
help
Binary-only utilities from Linksys (et, wl, nas)

View File

@ -0,0 +1,43 @@
#############################################################
#
# ebtables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=linksys-utils
PKG_VERSION:=3.37.6
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://mywrt.sourceforge.net/files
PKG_SOURCE:=linksys-utils-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_IPK): $(PKG_BUILD_DIR)/.unpacked $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/et $(PKG_IPK_DIR)/usr/sbin/
cp $(PKG_BUILD_DIR)/nas $(PKG_IPK_DIR)/usr/sbin/
cp $(PKG_BUILD_DIR)/wl $(PKG_IPK_DIR)/usr/sbin/
$(STRIP) $(PKG_IPK_DIR)/usr/sbin/*
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
$(PACKAGE_DIR):
mkdir -p $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install:
$(IPKG) install $(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,8 @@
Package: linksys-utils
Priority: optional
Section: libs
Version: 3.37.6-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Linksys binary utils (et, wl, nas)

View File

@ -1,7 +1,63 @@
config BR2_PACKAGE_LINUX
bool "linux"
default y
config BR2_PACKAGE_KMOD_ARPT
tristate "ARP firewalling support"
default m
help
The Linux kernel.
Kernel modules for ARP firewalling
config BR2_PACKAGE_KMOD_EBT
tristate "Ethernet Bridge firewalling support"
default m
help
Kernel modules for bridge firewalling
config BR2_PACKAGE_KMOD_IPT4
tristate "Extra modules for iptables"
default m
help
Extra kernel modules for IPv4 firewalling
config BR2_PACKAGE_KMOD_IPV6
tristate "IPv6 support"
default m
help
Kernel modules for IPv6 protocol support
config BR2_PACKAGE_KMOD_IPT6
tristate "Kernel modules for ip6tables"
default m
depends BR2_PACKAGE_KMOD_IPV6
help
IPv6 firewalling support
config BR2_PACKAGE_KMOD_USB
tristate "USB/SCSI support"
default m
help
Kernel modules for USB/SCSI support
Includes usb-storage and printer
config BR2_PACKAGE_KMOD_CRYPTO
tristate "CryptoAPI modules"
default m
help
Kernel modules for cryptographic algorithms
config BR2_PACKAGE_KMOD_MPPE
tristate "PPP MPPE/MPPC module"
default m
select BR2_PACKAGE_KMOD_CRYPTO
help
Support for Microsoft PPP Encryption/Compression
config BR2_PACKAGE_KMOD_TUN
tristate "Universal TUN/TAP driver"
default m
help
Kernel support for the TUN/TAP tunneling device
config BR2_PACKAGE_KMOD_SCHED
tristate "Traffic schedulers"
default m
help
Kernel schedulers for IP traffic
http://www.kernel.org/

74
package/linux/Makefile Normal file
View File

@ -0,0 +1,74 @@
include $(TOPDIR)/rules.mk
include ./linux.mk
PKG_BUILD_DIR := $(BUILD_DIR)/linux-modules
PKG_RELEASE := 1
TARGETS :=
INSTALL_TARGETS :=
define KMOD_template
PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(LINUX_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_$(1) := $(PKG_BUILD_DIR)/ipkg/$(2)
ifneq ($(BR2_PACKAGE_KMOD_$(1)),)
TARGETS += $$(PKG_$(1))
endif
ifeq ($(BR2_PACLAGE_KMOD_$(1)),y)
INSTALL_TARGETS += $$(PKG_$(1))
endif
$$(PKG_$(1)): $(LINUX_DIR)/.modules_done
mkdir -p $$(I_$(1))/lib/modules/$(LINUX_VERSION)
$(SCRIPT_DIR)/make-ipkg-dir.sh $$(I_$(1)) control/kmod-$(2).control $(LINUX_VERSION)-$(PKG_RELEASE) $(ARCH)
cp $(3) $$(I_$(1))/lib/modules/$(LINUX_VERSION)
$(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR)
endef
$(eval $(call KMOD_template,ARPT,arptables,\
$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.o \
))
$(eval $(call KMOD_template,EBT,ebtables,\
$(MODULES_DIR)/kernel/net/bridge/netfilter/*.o \
))
$(eval $(call KMOD_template,IPT4,iptables-extra,\
$(MODULES_DIR)/kernel/net/ipv4/netfilter/ip*.o \
))
$(eval $(call KMOD_template,IPT6,ip6tables,\
$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.o \
))
$(eval $(call KMOD_template,IPV6,ipv6,\
$(MODULES_DIR)/kernel/net/ipv6/ipv6.o \
))
$(eval $(call KMOD_template,USB,usb,\
$(MODULES_DIR)/kernel/drivers/scsi/*.o \
$(MODULES_DIR)/kernel/drivers/usb/*.o \
$(MODULES_DIR)/kernel/drivers/usb/*/*.o \
))
$(eval $(call KMOD_template,CRYPTO,crypto,\
$(MODULES_DIR)/kernel/crypto/*.o \
))
$(eval $(call KMOD_template,MPPE,mppe,\
$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.o \
))
$(eval $(call KMOD_template,TUN,tun,\
$(MODULES_DIR)/kernel/drivers/net/tun.o \
))
$(eval $(call KMOD_template,SCHED,sched,\
$(MODULES_DIR)/kernel/net/sched/*.o \
))
$(TARGETS): $(PACKAGE_DIR)
$(PACKAGE_DIR):
mkdir -p $(PACKAGE_DIR)
source: linux-source
prepare: $(LINUX_DIR)/.configured
compile: $(LINUX_DIR)/.modules_done $(TARGETS)
install: compile $(TARGET_MODULES_DIR)
@[ "$(INSTALL_TARGETS)" != "" ] && $(IPKG) install $(INSTALL_TARGETS) || true
clean: linux-dirclean
rm -f $(TARGETS)

View File

@ -0,0 +1,8 @@
Package: kmod-arptables
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: ARP firewalling kernel modules

View File

@ -0,0 +1,8 @@
Package: kmod-crypto
Priority: optional
Section: sys
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: CryptoAPI kernel modules

View File

@ -0,0 +1,8 @@
Package: kmod-ebtables
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Ethernet bridge firewalling kernel modules

View File

@ -0,0 +1,9 @@
Package: kmod-ip6tables
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Kernel modules for ip6tables
Depends: kmod-ipv6

View File

@ -0,0 +1,8 @@
Package: kmod-iptables-extra
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Extra kernel modules for iptables

View File

@ -0,0 +1,8 @@
Package: kmod-ipv6
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Kernel modules for the IPv6 protocol

View File

@ -0,0 +1,8 @@
Package: kmod-mppe
Priority: optional
Section: net
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Microsoft PPP Encryption/Compression support

View File

@ -0,0 +1,8 @@
Package: kmod-sched
Priority: optional
Section: sys
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Kernel schedulers for IP traffic

View File

@ -0,0 +1,8 @@
Package: kmod-tun
Priority: optional
Section: sys
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Kernel TUN/TAP extension

View File

@ -0,0 +1,8 @@
Package: kmod-usb
Priority: optional
Section: sys
Version: 2.4.29-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: Kernel modules for USB/SCSI support

View File

@ -324,6 +324,7 @@ CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_IPP2P=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
@ -829,7 +830,7 @@ CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set

View File

@ -11,7 +11,6 @@
# 4xx patches needed to integrate feature patches
#
#############################################################
ifneq ($(filter $(TARGETS),linux),)
LINUX_FORMAT=zImage
LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
@ -20,16 +19,13 @@ LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
-e 's/sh[234]/sh/' \
)
LINUX_VERSION=2.4.29
LINUX_DIR=$(BUILD_DIR)/linux-$(LINUX_VERSION)
LINUX_SITE=http://www.kernel.org/pub/linux/kernel/v2.4
LINUX_SOURCE=linux-$(LINUX_VERSION).tar.bz2
LINUX_KCONFIG=package/linux/linux.config
LINUX_KERNEL=$(BUILD_DIR)/buildroot-kernel
LINUX_PATCHES=$(PACKAGE_DIR)/linux/kernel-patches
LINUX_KCONFIG=./linux.config
LINUX_PATCHES=./kernel-patches
LINUX_BINLOC=arch/$(LINUX_KARCH)/brcm-boards/bcm947xx/compressed/vmlinuz
# Used by pcmcia-cs and others
LINUX_SOURCE_DIR=$(LINUX_DIR)
LINUX_SOURCE_DIR=$(LINUX_DIR)-$(LINUX_VERSION)
# kernel stuff extracted from linksys firmware GPL sourcetree
# WRT54GS_3_37_2_1109_US (shared,include,wl,et)
@ -46,6 +42,7 @@ $(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE) $(DL_DIR)/$(LINKSYS_KERNEL_TGZ
bzcat $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
# extract linksys binary kernel stuff and include/shared files
zcat $(DL_DIR)/$(LINKSYS_KERNEL_TGZ) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
ln -sf $(LINUX_DIR)-$(LINUX_VERSION) $(LINUX_DIR)
touch $(LINUX_DIR)/.unpacked
$(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
@ -54,6 +51,12 @@ $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
-cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config
#ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS_LZMA),y)
# $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config
#endif
#ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
# $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config
#endif
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" \
$(LINUX_DIR)/Makefile \
$(LINUX_DIR)/arch/mips/Makefile
@ -76,7 +79,6 @@ $(LINUX_KERNEL): $(LINUX_DIR)/$(LINUX_BINLOC)
$(LINUX_DIR)/.modules_done: $(LINUX_KERNEL)
rm -rf $(BUILD_DIR)/modules
$(MAKE) -C $(LINUX_DIR) DEPMOD=true INSTALL_MOD_PATH=$(BUILD_DIR)/modules modules_install
tar -C $(BUILD_DIR)/modules/lib -cjf openwrt-kmodules.tar.bz2 modules
touch $(LINUX_DIR)/.modules_done
$(STAGING_DIR)/include/linux/version.h: $(LINUX_DIR)/.configured
@ -100,15 +102,9 @@ linuxclean: clean
-$(MAKE) -C $(LINUX_DIR) clean
linux-dirclean:
rm -f $(BUILD_DIR)/openwrt-kmodules.tar.bz2
rm -rf $(LINUX_DIR)-$(LINUX_VERSION)
rm -rf $(LINUX_DIR)
rm -rf $(BUILD_DIR)/modules
rm -rf $(BUILD_DIR)/linksys-kernel
endif
#############################################################
#
# Toplevel Makefile options
#
##############################################################
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
TARGETS+=linux
endif

7
package/lzo/Config.in Normal file
View File

@ -0,0 +1,7 @@
config BR2_PACKAGE_LZO
tristate "lzo"
default m
help
A library implementing transparent compression/decompression
http://www.oberhumer.com/opensource/lzo/

69
package/lzo/Makefile Normal file
View File

@ -0,0 +1,69 @@
include $(TOPDIR)/rules.mk
PKG_NAME := lzo
PKG_VERSION := 1.08
PKG_RELEASE := 1
PKG_SOURCE_SITE := http://www.oberhumer.com/opensource/lzo/download/
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := $(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) . ./patches
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/ \
--exec-prefix=/ \
--bindir=/bin \
--sbindir=/sbin \
--libexecdir=/lib \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-shared \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/src/liblzo.la: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR)
$(STAGING_DIR)/lib/liblzo.a: $(PKG_BUILD_DIR)/src/liblzo.la
$(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) \
DESTDIR="$(STAGING_DIR)" \
install
$(PACKAGE_DIR)/$(PKG_IPK): $(STAGING_DIR)/lib/liblzo.a
mkdir -p $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_BUILD_DIR)/ipkg/lzo lzo.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_BUILD_DIR)/ipkg/lzo/usr/lib
cp -a $(STAGING_DIR)/lib/liblzo.so* $(PKG_BUILD_DIR)/ipkg/lzo/usr/lib
$(STRIP) $(PKG_BUILD_DIR)/ipkg/lzo/usr/lib/*
$(IPKG_BUILD) $(PKG_BUILD_DIR)/ipkg/lzo $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(STAGING_DIR)/lib/liblzo.a $(PACKAGE_DIR)/$(PKG_IPK)
install: $(PKG_ZLIB)
$(IPKG) install $(PACKAGE_DIR)/$(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(STAGING_DIR)/lib/liblzo*
rm -f $(PACKAGE_DIR)/lzo\*.ipk

8
package/lzo/lzo.control Normal file
View File

@ -0,0 +1,8 @@
Package: lzo
Priority: optional
Section: libs
Version: 1.0.8-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: an implementation of the deflate compression method (library)

View File

@ -0,0 +1,43 @@
For some reason the lzo autoconf script uses a local macro that does
a test for cross-compiles, and assumes that if the build target name
and the host target name are the same that --host was not specified to
the configure script. In the uClibc buildroot, this is not the case.
--- lzo-1.08/aclocal.m4 2002-07-12 18:31:52.000000000 -0700
+++ lzo-1.08/aclocal.m4.new 2004-03-10 15:32:42.000000000 -0700
@@ -205,12 +205,6 @@
[
AC_REQUIRE([AC_PROG_CC])
-if test "X$cross_compiling" = Xyes; then
- if test "X$build" = "X$host"; then
- AC_MSG_ERROR([you are cross compiling - please use the \`--host=' option])
- fi
-fi
-
])
--- lzo-1.08/configure-dist 2004-03-11 02:18:28.000000000 -0600
+++ lzo-1.08/configure 2004-03-11 02:19:16.000000000 -0600
@@ -2282,13 +2282,13 @@
-if test "X$cross_compiling" = Xyes; then
- if test "X$build" = "X$host"; then
- { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
-echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
+#if test "X$cross_compiling" = Xyes; then
+# if test "X$build" = "X$host"; then
+# { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
+#echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
+# { (exit 1); exit 1; }; }
+# fi
+#fi

View File

@ -0,0 +1,7 @@
config BR2_PACKAGE_OPENSSL
tristate "openssl"
default m
help
A library implementing the SSL and TLS protocols
http://www.openssl.org/

73
package/openssl/Makefile Normal file
View File

@ -0,0 +1,73 @@
include $(TOPDIR)/rules.mk
PKG_NAME := openssl
PKG_VERSION := 0.9.7e
PKG_RELEASE := 1
PKG_SOURCE_SITE := http://www.openssl.org/source
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := $(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
OPENSSL_NO_CIPHERS:=no-idea no-mdc2 no-rc5 no-rc2 no-md2 no-md4
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
$(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
$(PKG_BUILD_DIR)/Configure
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); \
CFLAGS="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5" \
PATH=$(TARGET_PATH) ./Configure linux-$(ARCH) --prefix=/ \
--openssldir=/usr/lib/ssl -L$(STAGING_DIR)/lib -ldl \
-I$(STAGING_DIR)/include $(OPENSSL_NO_CIPHERS) \
shared no-krb5 no-ec no-engine zlib-dynamic no-hw no-threads )
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/apps/openssl: $(PKG_BUILD_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) all build-shared
# Work around openssl build bug to link libssl.so with libcrypto.so.
-rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
$(MAKE) CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) do_linux-shared
$(STAGING_DIR)/lib/libssl.so: $(PKG_BUILD_DIR)/apps/openssl
$(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(PKG_BUILD_DIR) install_sw
cp -fa $(PKG_BUILD_DIR)/libcrypto.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libcrypto.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so)
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so.0)
cp -fa $(PKG_BUILD_DIR)/libssl.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libssl.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so)
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0)
$(PACKAGE_DIR)/$(PKG_IPK): $(STAGING_DIR)/lib/libssl.so
mkdir -p $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib
cp -a $(STAGING_DIR)/lib/libssl.so* $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib
cp -a $(STAGING_DIR)/lib/libcrypto.so* $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib
$(STRIP) $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib/*
$(IPKG_BUILD) $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(STAGING_DIR)/lib/libssl.so $(PACKAGE_DIR)/$(PKG_IPK)
install: $(PKG_ZLIB)
$(IPKG) install $(PACKAGE_DIR)/$(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(STAGING_DIR)/lib/libssl*
rm -f $(STAGING_DIR)/lib/libcrypto*
rm -f $(PACKAGE_DIR)/$(PKG_NAME)\*.ipk

View File

@ -0,0 +1,8 @@
Package: openssl
Priority: optional
Section: libs
Version: 0.9.7e-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: OpenSSL Secure Socket Layer library

View File

@ -0,0 +1,95 @@
#############################################################
#
# openssl
#
#############################################################
# TARGETS
OPENSSL_SITE:=http://www.openssl.org/source
OPENSSL_SOURCE:=openssl-0.9.7d.tar.gz
OPENSSL_DIR:=$(BUILD_DIR)/openssl-0.9.7d
OPENSSL_IPK_DIR=$(OPENWRT_IPK_DIR)/openssl
OPENSSL_PATCH=$(OPENSSL_IPK_DIR)/openssl.patch
OPENSSL_IPK_BUILD_DIR=$(BUILD_DIR)/openssl-0.9.7d-ipk
LIBSSL_IPK=$(BUILD_DIR)/libssl_0.9.7d_mipsel.ipk
$(DL_DIR)/$(OPENSSL_SOURCE):
$(WGET) -P $(DL_DIR) $(OPENSSL_SITE)/$(OPENSSL_SOURCE)
$(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) $(OPENSSL_PATCH)
gunzip -c $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
cat $(OPENSSL_PATCH) | patch -p1 -d $(OPENSSL_DIR)
# sigh... we have to resort to this just to set a gcc flag.
$(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
$(OPENSSL_DIR)/Configure
touch $(OPENSSL_DIR)/.unpacked
$(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked
(cd $(OPENSSL_DIR); \
CFLAGS="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5" \
PATH=$(TARGET_PATH) ./Configure linux-$(ARCH) --prefix=/ \
--openssldir=/usr/lib/ssl -L$(STAGING_DIR)/lib -ldl \
-I$(STAGING_DIR)/include $(OPENSSL_OPTS) no-threads \
shared no-idea no-mdc2 no-rc5)
$(OPENSSL_DIR)/apps/openssl: $(OPENSSL_DIR)/Makefile
$(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared
# Work around openssl build bug to link libssl.so with libcrypto.so.
-rm $(OPENSSL_DIR)/libssl.so.*.*.*
$(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) do_linux-shared
$(STAGING_DIR)/lib/libcrypto.a: $(OPENSSL_DIR)/apps/openssl
$(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(OPENSSL_DIR) install
cp -fa $(OPENSSL_DIR)/libcrypto.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libcrypto.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so)
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so.0)
cp -fa $(OPENSSL_DIR)/libssl.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libssl.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so)
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0)
$(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7: $(STAGING_DIR)/lib/libcrypto.a
mkdir -p $(TARGET_DIR)/usr/lib
cp -fa $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/usr/lib/
cp -fa $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/usr/lib/
#cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/
-$(STRIP) $(TARGET_DIR)/usr/lib/libssl.so.0.9.7
-$(STRIP) $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7
$(TARGET_DIR)/usr/lib/libssl.a: $(STAGING_DIR)/lib/libcrypto.a
mkdir -p $(TARGET_DIR)/usr/include
cp -a $(STAGING_DIR)/include/openssl $(TARGET_DIR)/usr/include/
cp -dpf $(STAGING_DIR)/lib/libssl.a $(TARGET_DIR)/usr/lib/
cp -dpf $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/
touch -c $(TARGET_DIR)/usr/lib/libssl.a
openssl-headers: $(TARGET_DIR)/usr/lib/libssl.a
openssl: uclibc $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7
$(LIBSSL_IPK): uclibc $(STAGING_DIR)/lib/libcrypto.a
mkdir -p $(OPENSSL_IPK_BUILD_DIR)/CONTROL
cp $(OPENSSL_IPK_DIR)/control $(OPENSSL_IPK_BUILD_DIR)/CONTROL/control
mkdir -p $(OPENSSL_IPK_BUILD_DIR)/usr/lib
cp -fa $(STAGING_DIR)/lib/libcrypto.so* $(OPENSSL_IPK_BUILD_DIR)/usr/lib/
cp -fa $(STAGING_DIR)/lib/libssl.so* $(OPENSSL_IPK_BUILD_DIR)/usr/lib/
-$(STRIP) $(OPENSSL_IPK_BUILD_DIR)/usr/lib/libssl.so.0.9.7
-$(STRIP) $(OPENSSL_IPK_BUILD_DIR)/usr/lib/libcrypto.so.0.9.7
cd $(BUILD_DIR); $(IPKG_BUILD) $(OPENSSL_IPK_BUILD_DIR)
openssl-ipk: $(LIBSSL_IPK)
openssl-source: $(DL_DIR)/$(OPENSSL_SOURCE)
openssl-clean:
rm -f $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/openssl
rm -f $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/lib/libcrypto.so*
rm -f $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/lib/libssl.so*
rm -rf $(OPENSSL_IPK_BUILD_DIR)
$(MAKE) -C $(OPENSSL_DIR) clean
openssl-dirclean:
rm -rf $(OPENSSL_DIR)

View File

@ -0,0 +1,238 @@
--- openssl-0.9.7.orig/Configure
+++ openssl-0.9.7/Configure
@@ -1,4 +1,4 @@
-:
+#!/usr/bin/perl
eval 'exec perl -S $0 ${1+"$@"}'
if $running_under_some_shell;
##
@@ -373,6 +373,40 @@
# assembler versions -- currently defunct:
##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer:::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${alpha_asm}",
+# Sane Linux configuration values, stolen from the Debian package....
+"linux-alpha","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-alpha-ev4","gcc:-DTERMIO -O3 -mcpu=ev4 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-alpha-ev5","gcc:-DTERMIO -O3 -mcpu=ev5 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-freebsd-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-freebsd-i386", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::-pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-hppa","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-ia64","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+#"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC",
+"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-i386-i486","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i486 -mcpu=i486 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-i386-i586","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i586 -mcpu=i586 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i686 -mcpu=i686 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-m68k","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mipsel", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-netbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-netbsd-m68k", "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-openbsd-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-openbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-openbsd-mips","gcc:-O2 -DL_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-powerpc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_UNROLL DES_RISC2 DES_PTR MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-s390","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sh3", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sh4", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sh3eb", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sh4eb", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sparc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sparc-v8","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v8 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-sparc-v9","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v9 -Wa,-Av8plus -fomit-frame-pointer -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-cris", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
# bn86-elf.o file file since it is hand tweaked assembler.
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--- openssl-0.9.7.orig/crypto/md5/asm/md5-sparcv9.S
+++ openssl-0.9.7/crypto/md5/asm/md5-sparcv9.S
@@ -72,14 +72,14 @@
#define Dval R8
#if defined(MD5_BLOCK_DATA_ORDER)
-# if defined(OPENSSL_SYSNAME_ULTRASPARC)
+/*# if defined(OPENSSL_SYSNAME_ULTRASPARC)*/
# define LOAD lda
# define X(i) [%i1+i*4]%asi
# define md5_block md5_block_asm_data_order_aligned
# define ASI_PRIMARY_LITTLE 0x88
-# else
+/*# else
# error "MD5_BLOCK_DATA_ORDER is supported only on UltraSPARC!"
-# endif
+# endif*/
#else
# define LOAD ld
# define X(i) [%i1+i*4]
--- openssl-0.9.7.orig/crypto/opensslconf.h
+++ openssl-0.9.7/crypto/opensslconf.h
@@ -4,17 +4,38 @@
/* OpenSSL was configured with the following options: */
#ifndef OPENSSL_DOING_MAKEDEPEND
+#ifndef OPENSSL_NO_IDEA
+# define OPENSSL_NO_IDEA
+#endif
+#ifndef OPENSSL_NO_MDC2
+# define OPENSSL_NO_MDC2
+#endif
+#ifndef OPENSSL_NO_RC5
+# define OPENSSL_NO_RC5
+#endif
#ifndef OPENSSL_NO_KRB5
# define OPENSSL_NO_KRB5
#endif
#endif /* OPENSSL_DOING_MAKEDEPEND */
+#ifndef OPENSSL_THREADS
+# define OPENSSL_THREADS
+#endif
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
asks for it. This is a transient feature that is provided for those
who haven't had the time to do the appropriate changes in their
applications. */
#ifdef OPENSSL_ALGORITHM_DEFINES
+# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
+# define NO_IDEA
+# endif
+# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
+# define NO_MDC2
+# endif
+# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
+# define NO_RC5
+# endif
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
# define NO_KRB5
# endif
@@ -27,7 +48,7 @@
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
-#define OPENSSLDIR "/usr/local/ssl"
+#define OPENSSLDIR "/usr/lib/ssl"
#endif
#endif
@@ -79,7 +100,7 @@
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
#define CONFIG_HEADER_BN_H
-#undef BN_LLONG
+#define BN_LLONG
/* Should we define BN_DIV2W here? */
@@ -98,7 +119,7 @@
#define CONFIG_HEADER_RC4_LOCL_H
/* if this is defined data[i] is used instead of *data, this is a %20
* speedup on x86 */
-#undef RC4_INDEX
+#define RC4_INDEX
#endif
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
@@ -112,14 +133,14 @@
/* the following is tweaked from a config script, that is why it is a
* protected undef/define */
#ifndef DES_PTR
-#undef DES_PTR
+#define DES_PTR
#endif
/* This helps C compiler generate the correct code for multiple functional
* units. It reduces register dependancies at the expense of 2 more
* registers */
#ifndef DES_RISC1
-#undef DES_RISC1
+#define DES_RISC1
#endif
#ifndef DES_RISC2
@@ -133,7 +154,7 @@
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
* Very mucy CPU dependant */
#ifndef DES_UNROLL
-#undef DES_UNROLL
+#define DES_UNROLL
#endif
/* These default values were supplied by
--- openssl-0.9.7.orig/ssl/ssl_algs.c
+++ openssl-0.9.7/ssl/ssl_algs.c
@@ -109,3 +109,8 @@
return(1);
}
+#undef SSLeay_add_ssl_algorithms
+int SSLeay_add_ssl_algorithms(void)
+ {
+ return SSL_library_init();
+ }
--- openssl-0.9.7.orig/tools/c_rehash.in
+++ openssl-0.9.7/tools/c_rehash.in
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
# Perl c_rehash script, scan all files in a directory
--- openssl-0.9.7.orig/util/clean-depend.pl
+++ openssl-0.9.7/util/clean-depend.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl
# Clean the dependency list in a makefile of standard includes...
# Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
--- openssl-0.9.7.orig/util/extract-names.pl
+++ openssl-0.9.7/util/extract-names.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl
$/ = ""; # Eat a paragraph at once.
while(<STDIN>) {
--- openssl-0.9.7.orig/util/mkdef.pl
+++ openssl-0.9.7/util/mkdef.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl
#
# generate a .def file
#
--- openssl-0.9.7.orig/util/mkerr.pl
+++ openssl-0.9.7/util/mkerr.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl
my $config = "crypto/err/openssl.ec";
my $debug = 0;
--- openssl-0.9.7.orig/util/mkstack.pl
+++ openssl-0.9.7/util/mkstack.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl
# This is a utility that searches out "DECLARE_STACK_OF()"
# declarations in .h and .c files, and updates/creates/replaces
--- openssl-0.9.7.orig/util/pod2man.pl
+++ openssl-0.9.7/util/pod2man.pl
@@ -1,4 +1,4 @@
-: #!/usr/bin/perl-5.005
+#!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if $running_under_some_shell;
--- openssl-0.9.7.orig/util/selftest.pl
+++ openssl-0.9.7/util/selftest.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl
#
# Run the test suite and generate a report
#

View File

@ -0,0 +1,35 @@
diff -urN openssl-0.9.7e.old/Makefile.org openssl-0.9.7e/Makefile.org
--- openssl-0.9.7e.old/Makefile.org 2004-09-28 22:52:14.000000000 +0200
+++ openssl-0.9.7e/Makefile.org 2005-03-03 15:55:11.000000000 +0100
@@ -175,8 +175,8 @@
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
SHLIB_MARK=
-DIRS= crypto fips ssl $(SHLIB_MARK) sigs apps test tools
-SHLIBDIRS= fips crypto ssl
+DIRS= crypto ssl $(SHLIB_MARK) sigs apps test tools
+SHLIBDIRS= crypto ssl
# dirs in crypto to build
SDIRS= objects \
@@ -229,7 +229,6 @@
libcrypto.a.sha1: libcrypto.a
if egrep 'define OPENSSL_FIPS' $(TOP)/include/openssl/opensslconf.h > /dev/null; then \
$(RANLIB) libcrypto.a; \
- fips/sha1/fips_standalone_sha1 libcrypto.a > libcrypto.a.sha1; \
fi
sub_all:
--- openssl-0.9.7e/crypto/rand/rand_lib.c 2004-07-30 16:38:00.000000000 +0200
+++ openssl-0.9.7e.patched/crypto/rand/rand_lib.c 2005-02-18 15:46:22.000000000 +0100
@@ -63,8 +63,10 @@
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
+#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#include <openssl/fips_rand.h>
+#endif
#ifndef OPENSSL_NO_ENGINE
/* non-NULL if default_RAND_meth is ENGINE-provided */

10
package/openvpn/Config.in Normal file
View File

@ -0,0 +1,10 @@
config BR2_PACKAGE_OPENVPN
tristate "OpenVPN"
default m
select BR2_PACKAGE_KMOD_TUN
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LZO
help
Open Source VPN solution using SSL
http://openvpn.net/

69
package/openvpn/Makefile Normal file
View File

@ -0,0 +1,69 @@
#############################################################
#
# ebtables
#
#############################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=openvpn
PKG_VERSION:=2.0_rc16
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://puzzle.dl.sourceforge.net/sourceforge/openvpn
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
$(DL_DIR)/$(PKG_SOURCE):
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_URL)/$(PKG_SOURCE)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--program-prefix="" \
--disable-pthread \
--disable-debug \
--disable-plugins \
--disable-management \
--disable-socks \
--disable-http \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/usr/sbin/openvpn: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR)
$(PKG_IPK): $(PKG_BUILD_DIR)/usr/sbin/openvpn
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/openvpn $(PKG_IPK_DIR)/usr/sbin/
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install:
$(IPKG) install $(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)

View File

@ -0,0 +1,9 @@
Package: openvpn
Priority: optional
Section: net
Version: 2.0_rc16-1
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Depends: lzo, openssl, kmod-tun
Source: buildroot internal
Description: Open Source VPN solution using SSL

9
package/openwrt/Makefile Normal file
View File

@ -0,0 +1,9 @@
include $(TOPDIR)/rules.mk
include ./openwrt.mk
source: openwrt-source
prepare: $(LINKSYS_SHARED_DIR)/.source
compile: $(TARGET_DIR)/$(LINKSYS_SHARED_TARGET_BINARY)
install: compile openwrt
clean: openwrt-dirclean

View File

@ -97,11 +97,13 @@ linksys-wlconf-dirclean:
rm -rf $(LINKSYS_WLCONF_DIR)
# mtd tool
OPENWRT_MTD_SOURCE=package/openwrt/mtd.c
OPENWRT_MTD_SOURCE=./mtd.c
OPENWRT_MTD_TARGET_BINARY:=sbin/mtd
$(TARGET_DIR)/$(OPENWRT_MTD_TARGET_BINARY):
$(TARGET_CC) -o $(TARGET_DIR)/$(OPENWRT_MTD_TARGET_BINARY) $(OPENWRT_MTD_SOURCE)
$(TARGET_CC) -o $@ $(OPENWRT_MTD_SOURCE)
$(STRIP) $@
openwrt-mtd: $(TARGET_DIR)/$(OPENWRT_MTD_TARGET_BINARY)
@ -109,58 +111,22 @@ openwrt-mtd-clean:
rm $(TARGET_DIR)/$(OPENWRT_MTD_TARGET_BINARY)
# jffs2root tool
OPENWRT_JFFS2ROOT_SOURCE=package/openwrt/jffs2root.c
OPENWRT_JFFS2ROOT_SOURCE=./jffs2root.c
OPENWRT_JFFS2ROOT_TARGET_BINARY:=sbin/jffs2root
$(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY): openwrt
$(TARGET_CC) -o $(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY) $(OPENWRT_JFFS2ROOT_SOURCE)
$(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY):
$(TARGET_CC) -o $@ $(OPENWRT_JFFS2ROOT_SOURCE)
$(STRIP) $@
openwrt-jffs2root: $(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY)
openwrt-jffs2root-clean:
rm $(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY)
# trx tool
OPENWRT_TRX_SOURCE=package/openwrt/trx.c
OPENWRT_TRX_TARGET=$(STAGING_DIR)/bin/trx
$(OPENWRT_TRX_TARGET):
$(CC) -o $(OPENWRT_TRX_TARGET) $(OPENWRT_TRX_SOURCE)
openwrt-trx: $(OPENWRT_TRX_TARGET)
openwrt-trx-clean:
rm $(OPENWRT_TRX_TARGET)
# addpattern tool
OPENWRT_ADDPATTERN_SOURCE=package/openwrt/addpattern.c
OPENWRT_ADDPATTERN_TARGET=$(STAGING_DIR)/bin/addpattern
$(OPENWRT_ADDPATTERN_TARGET):
$(CC) -o $(OPENWRT_ADDPATTERN_TARGET) $(OPENWRT_ADDPATTERN_SOURCE)
openwrt-addpattern: $(OPENWRT_ADDPATTERN_TARGET)
openwrt-addpattern-clean:
rm $(OPENWRT_ADDPATTERN_TARGET)
# sstrip tool
OPENWRT_SSTRIP_SOURCE=package/openwrt/sstrip.c
OPENWRT_SSTRIP_TARGET=$(STAGING_DIR)/bin/sstrip
$(OPENWRT_SSTRIP_TARGET):
$(CC) -o $(OPENWRT_SSTRIP_TARGET) $(OPENWRT_SSTRIP_SOURCE)
openwrt-sstrip: $(OPENWRT_SSTRIP_TARGET)
openwrt-sstrip-clean:
rm $(OPENWRT_SSTRIP_TARGET)
SSTRIP=$(OPENWRT_SSTRIP_TARGET)
linksys: linksys-shared linksys-nvram linksys-wlconf
openwrt: linksys openwrt-mtd openwrt-trx openwrt-addpattern openwrt-sstrip
openwrt: linksys openwrt-mtd openwrt-jffs2root
openwrt-dirclean: linksys-shared-dirclean linksys-nvram-dirclean linksys-wlconf-dirclean

View File

@ -1,9 +0,0 @@
config BR2_PACKAGE_SED
bool "sed"
default n
help
Super-useful stream editor.
http://sed.sourceforge.net/
Most people will answer Y.

View File

@ -1,136 +0,0 @@
#############################################################
#
# sed
#
#############################################################
SED_VER:=4.1.2
SED_SOURCE:=sed-$(SED_VER).tar.gz
SED_SITE:=ftp://ftp.gnu.org/gnu/sed
SED_CAT:=zcat
SED_DIR1:=$(TOOL_BUILD_DIR)/sed-$(SED_VER)
SED_DIR2:=$(BUILD_DIR)/sed-$(SED_VER)
SED_BINARY:=sed/sed
SED_TARGET_BINARY:=bin/sed
ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
SED_CPPFLAGS=-D_FILE_OFFSET_BITS=64
endif
SED:=$(STAGING_DIR)/bin/sed -i -e
HOST_SED_TARGET=$(shell package/sed/sedcheck.sh)
$(DL_DIR)/$(SED_SOURCE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(SED_SITE)/$(SED_SOURCE)
sed-source: $(DL_DIR)/$(SED_SOURCE)
#############################################################
#
# build sed for use on the host system
#
#############################################################
$(SED_DIR1)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
mkdir -p $(TOOL_BUILD_DIR)
mkdir -p $(STAGING_DIR)/bin;
$(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
touch $(SED_DIR1)/.unpacked
$(SED_DIR1)/.configured: $(SED_DIR1)/.unpacked
(cd $(SED_DIR1); rm -rf config.cache; \
./configure \
--prefix=$(STAGING_DIR) \
--prefix=/usr \
);
touch $(SED_DIR1)/.configured
$(SED_DIR1)/$(SED_BINARY): $(SED_DIR1)/.configured
$(MAKE) -C $(SED_DIR1)
# This stuff is needed to work around GNU make deficiencies
build-sed-host-binary: $(SED_DIR1)/$(SED_BINARY)
@if [ -L $(STAGING_DIR)/$(SED_TARGET_BINARY) ] ; then \
rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); fi;
@if [ ! -f $(STAGING_DIR)/$(SED_TARGET_BINARY) -o $(STAGING_DIR)/$(SED_TARGET_BINARY) \
-ot $(SED_DIR1)/$(SED_BINARY) ] ; then \
set -x; \
mkdir -p $(STAGING_DIR)/bin; \
$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) install; \
mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \
rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \
$(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; fi
use-sed-host-binary:
@if [ -x /usr/bin/sed ]; then SED="/usr/bin/sed"; else \
if [ -x /bin/sed ]; then SED="/bin/sed"; fi; fi; \
mkdir -p $(STAGING_DIR)/bin; \
rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); \
ln -s $$SED $(STAGING_DIR)/$(SED_TARGET_BINARY)
host-sed: $(HOST_SED_TARGET)
host-sed-clean:
-$(MAKE) -C $(SED_DIR1) clean
host-sed-toolclean:
rm -rf $(SED_DIR1)
#############################################################
#
# build sed for use on the target system
#
#############################################################
$(SED_DIR2)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
$(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(SED_DIR2)/.unpacked
$(SED_DIR2)/.configured: $(SED_DIR2)/.unpacked
(cd $(SED_DIR2); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="$(SED_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(DISABLE_NLS) \
);
touch $(SED_DIR2)/.configured
$(SED_DIR2)/$(SED_BINARY): $(SED_DIR2)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(SED_DIR2)
# This stuff is needed to work around GNU make deficiencies
sed-target_binary: $(SED_DIR2)/$(SED_BINARY)
@if [ -L $(TARGET_DIR)/$(SED_TARGET_BINARY) ] ; then \
rm -f $(TARGET_DIR)/$(SED_TARGET_BINARY); fi;
@if [ ! -f $(SED_DIR2)/$(SED_BINARY) -o $(TARGET_DIR)/$(SED_TARGET_BINARY) \
-ot $(SED_DIR2)/$(SED_BINARY) ] ; then \
set -x; \
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) install; \
mv $(TARGET_DIR)/usr/bin/sed $(TARGET_DIR)/bin/; \
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi
sed: uclibc sed-target_binary
sed-clean:
-$(MAKE) -C $(SED_DIR2) clean
sed-dirclean:
rm -rf $(SED_DIR2)
ifeq ($(strip $(BR2_PACKAGE_SED)),y)
TARGETS+=sed
endif

View File

@ -1,21 +0,0 @@
#!/bin/sh
if [ -x /usr/bin/sed ]; then
SED="/usr/bin/sed";
else
if [ -x /bin/sed ]; then
SED="/bin/sed";
fi;
fi;
echo "HELLO" > .sedtest
$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
if [ $? != 0 ] ; then
echo build-sed-host-binary
else
echo use-sed-host-binary
fi;
rm -f .sedtest

View File

@ -1,5 +1,7 @@
config BR2_PACKAGE_ZLIB
bool "zlib"
default n
tristate "zlib"
default y
help
zlib library
A library implementing the 'deflate' compression method
http://www.zlib.net/

62
package/zlib/Makefile Normal file
View File

@ -0,0 +1,62 @@
include $(TOPDIR)/rules.mk
PKG_NAME := zlib
PKG_VERSION := 1.2.2
PKG_RELEASE := 1
PKG_SOURCE_SITE := http://www.zlib.net/
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := zlib_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) . $(PKG_NAME).patch
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--prefix=/ \
--shared)
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/libz.so: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_LARGEFILE)" \
libz.a libz.so
$(STAGING_DIR)/lib/libz.so: $(PKG_BUILD_DIR)/libz.so
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(STAGING_DIR)" \
install
$(PACKAGE_DIR)/$(PKG_IPK): $(STAGING_DIR)/lib/libz.so
mkdir -p $(PACKAGE_DIR)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_BUILD_DIR)/ipkg/zlib zlib.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_BUILD_DIR)/ipkg/zlib/usr/lib
cp -a $(PKG_BUILD_DIR)/libz.so* $(PKG_BUILD_DIR)/ipkg/zlib/usr/lib
$(STRIP) $(PKG_BUILD_DIR)/ipkg/zlib/usr/lib/*
$(IPKG_BUILD) $(PKG_BUILD_DIR)/ipkg/zlib $(PACKAGE_DIR)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(STAGING_DIR)/lib/libz.so $(PACKAGE_DIR)/$(PKG_IPK)
install: $(PKG_ZLIB)
$(IPKG) install $(PACKAGE_DIR)/$(PKG_IPK)
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(STAGING_DIR)/lib/libz* $(STAGING_DIR)/include/zlib*
rm -f $(PACKAGE_DIR)/zlib\*.ipk

View File

@ -0,0 +1,8 @@
Package: zlib
Priority: optional
Section: libs
Version: 1.2.2-3
Architecture: mipsel
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: an implementation of the deflate compression method (library)

Some files were not shown because too many files have changed in this diff Show More