initial commit

This commit is contained in:
Olaf Rempel 2007-06-15 15:11:23 +02:00
commit bee14671a4
38 changed files with 3233 additions and 0 deletions

459
Makefile Normal file
View File

@ -0,0 +1,459 @@
PATH := /opt/brcm/hndtools-mipsel-uclibc-3.2.3/bin:/opt/brcm/hndtools-mipsel-linux-3.2.3/bin:$(PATH)
export PATH
export TOOLCHAIN := /opt/brcm/hndtools-mipsel-uclibc-3.2.3
# #####################################################################
export BUILD := i386-pc-linux-gnu
export TARGET := mipsel-uclibc
export HOST := mipsel-linux
export CROSS_COMPILE := mipsel-uclibc-
export CONFIGURE := ./configure --target=$(TARGET) --build=$(BUILD) --host=$(HOST)
export CC := $(CROSS_COMPILE)gcc
export AR := $(CROSS_COMPILE)ar
export AS := $(CROSS_COMPILE)as
export LD := $(CROSS_COMPILE)ld
export LDD := $(CROSS_COMPILE)ldd
export NM := $(CROSS_COMPILE)nm
export RANLIB := $(CROSS_COMPILE)ranlib
export STRIP := $(CROSS_COMPILE)strip
export SIZE := $(CROSS_COMPILE)size
export WGET := /usr/bin/wget --passive-ftp -nd
_SRCBASE=$(shell /bin/pwd)
_CONFIGS=$(_SRCBASE)/configs
_DOWNLOAD_DIR=$(_SRCBASE)/download
_SOURCE=$(_SRCBASE)/source
_STATE=$(_SRCBASE)/state
_TOOLS=$(_SRCBASE)/tools
_STAGE1_SKEL=stage1.skel
_STAGE1=$(shell /bin/pwd)/stage1
_STAGE1_IMG=stage1.img
_STAGE2_SKEL=stage2.skel
_STAGE2=$(shell /bin/pwd)/stage2
# #####################################################################
# build firmware and filesystem
all: stage1 stage2
# stage1 (firmware)
_STAGE1_TARGETS=kernel-zImage busybox-stage1 cramfs tools
# stage2 (filesystem)
_STAGE2_TARGETS=kernel-modules busybox-stage2 strace bridge-utils iproute2 pppd
# fetch all needed sources
fetch: stage1-fetch stage2-fetch
# trigger rebuild of all packages
clean: stage1-clean stage2-clean
# remove all builddirs
distclean: stage1-distclean stage2-distclean
# #####################################################################
_BUILD_TOOLS=$(_TOOLS)
tools: tools-clean $(_STATE)/tools.all-done
tools-fetch:
$(_STATE)/tools.all-done:
make -C $(_BUILD_TOOLS) all
touch $(_STATE)/tools.all-done
tools-install: $(_STATE)/tools.all-done
tools-clean:
rm -f $(_STATE)/tools.*
tools-distclean: tools-clean
make -C $(_BUILD_TOOLS) clean
# #####################################################################
_PACKAGE_KERNEL=$(_DOWNLOAD_DIR)/linux-2.4.20.tar.bz2
_DOWNLOAD_KERNEL=ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2
_BUILD_KERNEL=$(_SOURCE)/linux-2.4.20
_KERNELHEADERS=$(_BUILD_KERNEL)/include
kernel: $(_STATE)/kernel-zImage.all-done $(_STATE)/kernel-modules.all-done
kernel-zImage: kernel-zImage-clean $(_STATE)/kernel-zImage.all-done
kernel-modules: kernel-modules-clean $(_STATE)/kernel-modules.all-done
kernel-zImage-fetch: $(_PACKAGE_KERNEL)
kernel-modules-fetch: $(_PACKAGE_KERNEL)
$(_PACKAGE_KERNEL):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_KERNEL)
$(_STATE)/kernel.unpacked: $(_PACKAGE_KERNEL)
tar -C $(_SOURCE) -xjf $(_PACKAGE_KERNEL)
(cd $(_BUILD_KERNEL); bzcat $(_CONFIGS)/kernel-vanilla2siemens_small.patch.bz2 | patch -lp1 );
(cd $(_BUILD_KERNEL); tar -xjf $(_CONFIGS)/wl-rel_3_01_05.tar.bz2 );
touch $(_STATE)/kernel.unpacked
$(_STATE)/kernel.configured: $(_STATE)/kernel.unpacked
cp $(_CONFIGS)/kernel-config $(_BUILD_KERNEL)/.config
make -C $(_BUILD_KERNEL) oldconfig
touch $(_STATE)/kernel.configured
$(_STATE)/kernel.dep: $(_STATE)/kernel.configured
make -C $(_BUILD_KERNEL) dep
touch $(_STATE)/kernel.dep
$(_STATE)/kernel-zImage.all-done: $(_STATE)/kernel.dep
make -C $(_BUILD_KERNEL) zImage
touch $(_STATE)/kernel-zImage.all-done
$(_STATE)/kernel-modules.all-done: $(_STATE)/kernel-zImage.all-done
make -C $(_BUILD_KERNEL) modules
touch $(_STATE)/kernel-modules.all-done
kernel-zImage-install: $(_STAGE1) $(_STATE)/kernel-zImage.all-done
kernel-modules-install: $(_STAGE2) $(_STATE)/kernel-modules.all-done
make -C $(_BUILD_KERNEL) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(_STAGE2)
rm -rf $(_STAGE2)/lib/modules/2.4.20/build
rm -rf $(_STAGE2)/lib/modules/2.4.20/pcmcia
kernel-clean: kernel-zImage-clean kernel-modules-clean
kernel-distclean:
rm -r $(_STATE)/kernel.*
make -C $(_BUILD_KERNEL) mrproper
kernel-zImage-clean:
rm -f $(_STATE)/kernel-zImage.all-done
kernel-zImage-distclean: kernel-distclean
kernel-modules-clean:
rm -f $(_STATE)/kernel-modules.all-done
kernel-modules-distclean: kernel-distclean
# #####################################################################
_PACKAGE_CRAMFS=$(_DOWNLOAD_DIR)/cramfs-1.1.tar.gz
_DOWNLOAD_CRAMFS=http://mesh.dl.sourceforge.net/sourceforge/cramfs/cramfs-1.1.tar.gz
_BUILD_CRAMFS=$(_SOURCE)/cramfs-1.1
cramfs: cramfs-clean $(_STATE)/cramfs.all_done
cramfs-fetch: $(_PACKAGE_CRAMFS)
$(_PACKAGE_CRAMFS):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_CRAMFS)
$(_STATE)/cramfs.unpacked: $(_PACKAGE_CRAMFS)
tar -C $(_SOURCE) -xzf $(_PACKAGE_CRAMFS)
touch $(_STATE)/cramfs.unpacked
$(_STATE)/cramfs.all_done: $(_STATE)/cramfs.unpacked
make -C $(_BUILD_CRAMFS) all
touch $(_STATE)/cramfs.all_done
cramfs-install: $(_STATE)/cramfs.all_done
cramfs-clean:
rm -f $(_STATE)/cramfs.*
cramfs-distclean: strace-clean
rm -rf $(_BUILD_CRAMFS)
# #####################################################################
_PACKAGE_BUSYBOX=$(_DOWNLOAD_DIR)/busybox-1.00.tar.bz2
_DOWNLOAD_BUSYBOX=http://www.busybox.net/downloads/busybox-1.00.tar.bz2
_BUILD_BUSYBOX=$(_SOURCE)/busybox-1.00
_BUILD_BUSYBOX_STAGE1=$(_SOURCE)/busybox-stage1
busybox-stage1: busybox-stage1-clean $(_STATE)/busybox-stage1.all_done
busybox-stage1-fetch: $(_PACKAGE_BUSYBOX)
$(_PACKAGE_BUSYBOX):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_BUSYBOX)
$(_STATE)/busybox-stage1.unpacked: $(_PACKAGE_BUSYBOX)
tar -C $(_SOURCE) -xjf $(_PACKAGE_BUSYBOX)
rm -rf $(_BUILD_BUSYBOX_STAGE1)
mv $(_BUILD_BUSYBOX) $(_BUILD_BUSYBOX_STAGE1)
touch $(_STATE)/busybox-stage1.unpacked
$(_STATE)/busybox-stage1.configured: $(_STATE)/busybox-stage1.unpacked
cp $(_CONFIGS)/busybox-stage1.conf $(_BUILD_BUSYBOX_STAGE1)/.config
touch $(_STATE)/busybox-stage1.configured
$(_STATE)/busybox-stage1.compiled: $(_STATE)/busybox-stage1.configured
make -C $(_BUILD_BUSYBOX_STAGE1) all
touch $(_STATE)/busybox-stage1.compiled
$(_STATE)/busybox-stage1.all_done: $(_STATE)/busybox-stage1.compiled
make -C $(_BUILD_BUSYBOX_STAGE1) install
chmod 4775 $(_BUILD_BUSYBOX_STAGE1)/_install/bin/busybox
touch $(_STATE)/busybox-stage1.all_done
busybox-stage1-install: $(_STAGE1) $(_STATE)/busybox-stage1.all_done
cp -r $(_BUILD_BUSYBOX_STAGE1)/_install/* $(_STAGE1)
busybox-stage1-clean:
rm -f $(_STATE)/busybox-stage1.*
busybox-stage1-distclean: busybox-stage1-clean
rm -rf $(_BUILD_BUSYBOX_STAGE1)
# #####################################################################
_BUILD_BUSYBOX_STAGE2=$(_SOURCE)/busybox-stage2
busybox-stage2: busybox-stage2-clean $(_STATE)/busybox-stage2.all_done
busybox-stage2-fetch: $(_PACKAGE_BUSYBOX)
$(_STATE)/busybox-stage2.unpacked: $(_PACKAGE_BUSYBOX)
tar -C $(_SOURCE) -xjf $(_PACKAGE_BUSYBOX)
rm -rf $(_BUILD_BUSYBOX_STAGE2)
mv $(_BUILD_BUSYBOX) $(_BUILD_BUSYBOX_STAGE2)
touch $(_STATE)/busybox-stage2.unpacked
$(_STATE)/busybox-stage2.configured: $(_STATE)/busybox-stage2.unpacked
cp $(_CONFIGS)/busybox-stage2.conf $(_BUILD_BUSYBOX_STAGE2)/.config
touch $(_STATE)/busybox-stage2.configured
$(_STATE)/busybox-stage2.compiled: $(_STATE)/busybox-stage2.configured
make -C $(_BUILD_BUSYBOX_STAGE2) all
touch $(_STATE)/busybox-stage2.compiled
$(_STATE)/busybox-stage2.all_done: $(_STATE)/busybox-stage2.compiled
make -C $(_BUILD_BUSYBOX_STAGE2) install
chmod 4775 $(_BUILD_BUSYBOX_STAGE2)/_install/bin/busybox
touch $(_STATE)/busybox-stage2.all_done
busybox-stage2-install: $(_STAGE2) $(_STATE)/busybox-stage2.all_done
cp -r $(_BUILD_BUSYBOX_STAGE2)/_install/* $(_STAGE2)
busybox-stage2-clean:
rm -f $(_STATE)/busybox-stage2.*
busybox-stage2-distclean: busybox-stage2-clean
rm -rf $(_BUILD_BUSYBOX_STAGE2)
# #####################################################################
_PACKAGE_STRACE=$(_DOWNLOAD_DIR)/strace-4.5.7.tar.bz2
_DOWNLOAD_STRACE=http://mesh.dl.sourceforge.net/sourceforge/strace/strace-4.5.7.tar.bz2
_BUILD_STRACE=$(_SOURCE)/strace-4.5.7
strace: strace-clean $(_STATE)/strace.all_done
strace-fetch: $(_PACKAGE_STRACE)
$(_PACKAGE_STRACE):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_STRACE)
$(_STATE)/strace.unpacked: $(_PACKAGE_STRACE)
tar -C $(_SOURCE) -xjf $(_PACKAGE_STRACE)
touch $(_STATE)/strace.unpacked
$(_STATE)/strace.configured: $(_STATE)/strace.unpacked
(cd $(_BUILD_STRACE); $(CONFIGURE) --prefix=/usr );
touch $(_STATE)/strace.configured
$(_STATE)/strace.compiled: $(_STATE)/strace.configured
make -C $(_BUILD_STRACE) all
touch $(_STATE)/strace.compiled
$(_STATE)/strace.all_done: $(_STATE)/strace.compiled
$(STRIP) --strip-all $(_BUILD_STRACE)/strace
touch $(_STATE)/strace.all_done
strace-install: $(_STAGE2) $(_STATE)/strace.all_done
cp $(_BUILD_STRACE)/strace $(_STAGE2)/usr/bin
strace-clean:
rm -f $(_STATE)/strace.*
strace-distclean: strace-clean
rm -rf $(_BUILD_STRACE)
# #####################################################################
_PACKAGE_BRIDGE_UTILS=$(_DOWNLOAD_DIR)/bridge-utils-1.0.4.tar.gz
_DOWNLOAD_BRIDGE_UTILS=http://mesh.dl.sourceforge.net/sourceforge/bridge/bridge-utils-1.0.4.tar.gz
_BUILD_BRIDGE_UTILS=$(_SOURCE)/bridge-utils-1.0.4
bridge-utils: bridge-utils-clean $(_STATE)/bridge-utils.all_done
bridge-utils-fetch: $(_PACKAGE_BRIDGE_UTILS)
$(_PACKAGE_BRIDGE_UTILS):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_BRIDGE_UTILS)
$(_STATE)/bridge-utils.unpacked: $(_PACKAGE_BRIDGE_UTILS)
tar -C $(_SOURCE) -xzf $(_PACKAGE_BRIDGE_UTILS)
touch $(_STATE)/bridge-utils.unpacked
$(_STATE)/bridge-utils.configured: $(_STATE)/bridge-utils.unpacked
(cd $(_BUILD_BRIDGE_UTILS); $(CONFIGURE) --prefix=/usr --with-linux-headers=$(_KERNELHEADERS));
touch $(_STATE)/bridge-utils.configured
$(_STATE)/bridge-utils.compiled: $(_STATE)/bridge-utils.configured
make -C $(_BUILD_BRIDGE_UTILS) all
touch $(_STATE)/bridge-utils.compiled
$(_STATE)/bridge-utils.all_done: $(_STATE)/bridge-utils.compiled
$(STRIP) --strip-all $(_BUILD_BRIDGE_UTILS)/brctl/brctl
touch $(_STATE)/bridge-utils.all_done
bridge-utils-install: $(_STAGE2) $(_STATE)/bridge-utils.all_done
cp $(_BUILD_BRIDGE_UTILS)/brctl/brctl $(_STAGE2)/usr/sbin
bridge-utils-clean:
rm -f $(_STATE)/bridge-utils.*
bridge-utils-distclean: bridge-utils-clean
rm -rf $(_BUILD_BRIDGE_UTILS)
# #####################################################################
_PACKAGE_IPROUTE2=$(_DOWNLOAD_DIR)/iproute2-2.6.10-050209.tar.gz
_DOWNLOAD_IPROUTE2=http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.10-050209.tar.gz
_BUILD_IPROUTE2=$(_SOURCE)/iproute2-2.6.9-050209
iproute2: iproute2-clean $(_STATE)/iproute2.all_done
iproute2-fetch: $(_PACKAGE_IPROUTE2)
$(_PACKAGE_IPROUTE2):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_IPROUTE2)
$(_STATE)/iproute2.unpacked: $(_PACKAGE_IPROUTE2)
tar -C $(_SOURCE) -xzf $(_PACKAGE_IPROUTE2)
touch $(_STATE)/iproute2.unpacked
$(_STATE)/iproute2.configured: $(_STATE)/iproute2.unpacked
(cd $(_BUILD_IPROUTE2); $(CONFIGURE) --prefix=/usr);
touch $(_STATE)/iproute2.configured
$(_STATE)/iproute2.compiled: $(_STATE)/iproute2.configured
make -C $(_BUILD_IPROUTE2) CC=$(CC) all
touch $(_STATE)/iproute2.compiled
$(_STATE)/iproute2.all_done: $(_STATE)/iproute2.compiled
$(STRIP) --strip-all $(_BUILD_IPROUTE2)/ip/ip
$(STRIP) --strip-all $(_BUILD_IPROUTE2)/tc/tc
touch $(_STATE)/iproute2.all_done
iproute2-install: $(_STAGE2) $(_STATE)/iproute2.all_done
cp $(_BUILD_IPROUTE2)/ip/ip $(_STAGE2)/sbin
cp $(_BUILD_IPROUTE2)/tc/tc $(_STAGE2)/sbin
iproute2-clean:
rm -f $(_STATE)/iproute2.*
iproute2-distclean: iproute2-clean
rm -rf $(_BUILD_IPROUTE2)
# #####################################################################
_PACKAGE_PPPD=$(_DOWNLOAD_DIR)/ppp-2.4.2.tar.gz
_DOWNLOAD_PPPD=ftp://ftp.samba.org/pub/ppp/ppp-2.4.2.tar.gz
_BUILD_PPPD=$(_SOURCE)/ppp-2.4.2
pppd: pppd-clean $(_STATE)/pppd.all_done
pppd-fetch: $(_PACKAGE_PPPD)
$(_PACKAGE_PPPD):
$(WGET) -P $(_DOWNLOAD_DIR) $(_DOWNLOAD_PPPD)
$(_STATE)/pppd.unpacked: $(_PACKAGE_PPPD)
tar -C $(_SOURCE) -xzf $(_PACKAGE_PPPD)
touch $(_STATE)/pppd.unpacked
$(_STATE)/pppd.configured: $(_STATE)/pppd.unpacked
(cd $(_BUILD_PPPD); $(CONFIGURE) --prefix=/usr);
sed -i -e "s/^FILTER=y/#FILTER=y/" $(_BUILD_PPPD)/pppd/Makefile
sed -i -e "s/^CC\t= gcc/#CC\t= gcc/" $(_BUILD_PPPD)/pppd/plugins/Makefile
sed -i -e "s/^\tgcc/\t\$$\(CC\)/" -e "s/^\tar/\t\$$\(AR\)/" $(_BUILD_PPPD)/pppd/plugins/rp-pppoe/Makefile
touch $(_STATE)/pppd.configured
$(_STATE)/pppd.compiled: $(_STATE)/pppd.configured
make -C $(_BUILD_PPPD) all
touch $(_STATE)/pppd.compiled
$(_STATE)/pppd.all_done: $(_STATE)/pppd.compiled
$(STRIP) --strip-all $(_BUILD_PPPD)/chat/chat
$(STRIP) --strip-all $(_BUILD_PPPD)/pppd/pppd
$(STRIP) --strip-all $(_BUILD_PPPD)/pppd/plugins/rp-pppoe/rp-pppoe.so
$(STRIP) --strip-all $(_BUILD_PPPD)/pppstats/pppstats
touch $(_STATE)/pppd.all_done
pppd-install: $(_STAGE2) $(_STATE)/pppd.all_done
cp $(_BUILD_PPPD)/chat/chat $(_STAGE2)/usr/bin
cp $(_BUILD_PPPD)/pppd/pppd $(_STAGE2)/usr/sbin
cp $(_BUILD_PPPD)/pppd/plugins/rp-pppoe/rp-pppoe.so $(_STAGE2)/etc/ppp/plugins/
cp $(_BUILD_PPPD)/pppstats/pppstats $(_STAGE2)/usr/bin
pppd-clean:
rm -f $(_STATE)/pppd.*
pppd-distclean: pppd-clean
rm -rf $(_BUILD_PPPD)
# #####################################################################
_STAGE1_REAL_TARGETS:=$(patsubst %,%-install,$(_STAGE1_TARGETS))
_STAGE1_FETCH_TARGETS:=$(patsubst %,%-fetch,$(_STAGE1_TARGETS))
_STAGE1_CLEAN_TARGETS:=$(patsubst %,%-clean,$(_STAGE1_TARGETS))
_STAGE1_DISTCLEAN_TARGETS:=$(patsubst %,%-distclean,$(_STAGE1_TARGETS))
$(_STAGE1):
mkdir -p $(_STAGE1)
cp -r $(_STAGE1_SKEL)/* $(_STAGE1)
$(_STAGE1_IMG):
mkdir -p $(_STAGE1_IMG)
stage1: $(_STAGE1) $(_STAGE1_IMG) $(_STAGE1_REAL_TARGETS)
$(_BUILD_CRAMFS)/mkcramfs $(_STAGE1) $(_STAGE1_IMG)/stage1.cramfs
$(_TOOLS)/trx -o $(_STAGE1_IMG)/firmware.trx \
$(_BUILD_KERNEL)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz \
$(_STAGE1_IMG)/stage1.cramfs
$(_TOOLS)/gen_image $(_STAGE1_IMG)/firmware.trx > $(_STAGE1_IMG)/firmware.img
stage1-fetch: $(_STAGE1_FETCH_TARGETS)
stage1-clean: $(_STAGE1_CLEAN_TARGETS)
rm -rf $(_STAGE1) $(_STAGE1_IMG)
stage1-distclean: $(_STAGE1_DISTCLEAN_TARGETS)
rm -rf $(_STAGE1) $(_STAGE1_IMG)
# #####################################################################
_STAGE2_REAL_TARGETS:=$(patsubst %,%-install,$(_STAGE2_TARGETS))
_STAGE2_FETCH_TARGETS:=$(patsubst %,%-fetch,$(_STAGE2_TARGETS))
_STAGE2_CLEAN_TARGETS:=$(patsubst %,%-clean,$(_STAGE2_TARGETS))
_STAGE2_DISTCLEAN_TARGETS:=$(patsubst %,%-distclean,$(_STAGE2_TARGETS))
$(_STAGE2):
mkdir -p $(_STAGE2)
cp -r $(_STAGE2_SKEL)/* $(_STAGE2)
stage2: $(_STAGE2) $(_STAGE2_REAL_TARGETS)
cp -r $(_STAGE2_SKEL)/* $(_STAGE2)
cp -r $(TOOLCHAIN)/lib/*.so* $(_STAGE2)/lib/
stage2-fetch: $(_STAGE2_FETCH_TARGETS)
stage2-clean: $(_STAGE2_CLEAN_TARGETS)
stage2-distclean: $(_STAGE2_DISTCLEAN_TARGETS)
rm -rf $(_STAGE2)
# #####################################################################
sync:
mount /dev/sda1 /mnt/usbdisk
rsync -a -c --delete --progress --stats $(_STAGE2)/ /mnt/usbdisk
umount /mnt/usbdisk

333
configs/busybox-stage1.conf Normal file
View File

@ -0,0 +1,333 @@
#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y
#
# General Configuration
#
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
# CONFIG_FEATURE_VERBOSE_USAGE is not set
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_FEATURE_DEVFS=y
# CONFIG_FEATURE_DEVPTS is not set
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_SUID is not set
# CONFIG_SELINUX is not set
#
# Build Options
#
CONFIG_STATIC=y
# CONFIG_LFS is not set
USING_CROSS_COMPILER=y
CROSS_COMPILER_PREFIX="mipsel-uclibc-"
EXTRA_CFLAGS_OPTIONS=""
#
# Installation Options
#
CONFIG_INSTALL_NO_USR=y
PREFIX="./_install"
#
# Archival Utilities
#
# CONFIG_AR is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_CPIO is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_GUNZIP is not set
# CONFIG_GZIP is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
# CONFIG_TAR is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNZIP is not set
#
# Coreutils
#
# CONFIG_BASENAME is not set
# CONFIG_CAL is not set
# CONFIG_CAT is not set
# CONFIG_CHGRP is not set
# CONFIG_CHMOD is not set
# CONFIG_CHOWN is not set
CONFIG_CHROOT=y
# CONFIG_CMP is not set
# CONFIG_CP is not set
# CONFIG_CUT is not set
# CONFIG_DATE is not set
# CONFIG_DD is not set
# CONFIG_DF is not set
# CONFIG_DIRNAME is not set
# CONFIG_DOS2UNIX is not set
# CONFIG_DU is not set
# CONFIG_ECHO is not set
# CONFIG_ENV is not set
# CONFIG_EXPR is not set
CONFIG_FALSE=y
#
# false (forced enabled for use with shell)
#
# CONFIG_FOLD is not set
# CONFIG_HEAD is not set
# CONFIG_HOSTID is not set
# CONFIG_ID is not set
# CONFIG_INSTALL is not set
# CONFIG_LENGTH is not set
# CONFIG_LN is not set
# CONFIG_LOGNAME is not set
# CONFIG_LS is not set
# CONFIG_MD5SUM is not set
# CONFIG_MKDIR is not set
# CONFIG_MKFIFO is not set
# CONFIG_MKNOD is not set
# CONFIG_MV is not set
# CONFIG_OD is not set
# CONFIG_PRINTF is not set
# CONFIG_PWD is not set
# CONFIG_REALPATH is not set
# CONFIG_RM is not set
# CONFIG_RMDIR is not set
# CONFIG_SEQ is not set
# CONFIG_SHA1SUM is not set
CONFIG_SLEEP=y
# CONFIG_FEATURE_FANCY_SLEEP is not set
# CONFIG_SORT is not set
# CONFIG_STTY is not set
# CONFIG_SYNC is not set
# CONFIG_TAIL is not set
# CONFIG_TEE is not set
CONFIG_TEST=y
#
# test (forced enabled for use with shell)
#
# CONFIG_FEATURE_TEST_64 is not set
# CONFIG_TOUCH is not set
# CONFIG_TR is not set
CONFIG_TRUE=y
#
# true (forced enabled for use with shell)
#
# CONFIG_TTY is not set
# CONFIG_UNAME is not set
# CONFIG_UNIQ is not set
# CONFIG_USLEEP is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
# CONFIG_WATCH is not set
# CONFIG_WC is not set
# CONFIG_WHO is not set
# CONFIG_WHOAMI is not set
# CONFIG_YES is not set
#
# Console Utilities
#
# CONFIG_CHVT is not set
# CONFIG_CLEAR is not set
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
# CONFIG_LOADFONT is not set
# CONFIG_LOADKMAP is not set
# CONFIG_OPENVT is not set
# CONFIG_RESET is not set
# CONFIG_SETKEYCODES is not set
#
# Debian Utilities
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_READLINK is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_WHICH is not set
#
# Editors
#
# CONFIG_AWK is not set
# CONFIG_PATCH is not set
# CONFIG_SED is not set
# CONFIG_VI is not set
#
# Finding Utilities
#
# CONFIG_FIND is not set
# CONFIG_GREP is not set
# CONFIG_XARGS is not set
#
# Init Utilities
#
CONFIG_INIT=y
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_INITRD is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
CONFIG_FEATURE_EXTRA_QUIET=y
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
# CONFIG_REBOOT is not set
# CONFIG_MESG is not set
#
# Login/Password Management Utilities
#
CONFIG_USE_BB_PWD_GRP=y
# CONFIG_ADDGROUP is not set
# CONFIG_DELGROUP is not set
# CONFIG_ADDUSER is not set
# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
# CONFIG_LOGIN is not set
# CONFIG_PASSWD is not set
# CONFIG_SU is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set
#
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
# CONFIG_CROND is not set
# CONFIG_CRONTAB is not set
# CONFIG_DC is not set
# CONFIG_DEVFSD is not set
# CONFIG_LAST is not set
# CONFIG_HDPARM is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_MT is not set
# CONFIG_RX is not set
# CONFIG_STRINGS is not set
# CONFIG_TIME is not set
# CONFIG_WATCHDOG is not set
#
# Linux Module Utilities
#
# CONFIG_INSMOD is not set
# CONFIG_LSMOD is not set
# CONFIG_MODPROBE is not set
# CONFIG_RMMOD is not set
#
# Networking Utilities
#
# CONFIG_FEATURE_IPV6 is not set
# CONFIG_ARPING is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_HOSTNAME is not set
# CONFIG_HTTPD is not set
# CONFIG_IFCONFIG is not set
# CONFIG_IFUPDOWN is not set
# CONFIG_INETD is not set
# CONFIG_IP is not set
# CONFIG_IPCALC is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
# CONFIG_IPTUNNEL is not set
# CONFIG_NAMEIF is not set
# CONFIG_NC is not set
# CONFIG_NETSTAT is not set
# CONFIG_NSLOOKUP is not set
# CONFIG_PING is not set
# CONFIG_ROUTE is not set
# CONFIG_TELNET is not set
# CONFIG_TELNETD is not set
# CONFIG_TFTP is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_VCONFIG is not set
# CONFIG_WGET is not set
#
# udhcp Server/Client
#
# CONFIG_UDHCPD is not set
# CONFIG_UDHCPC is not set
#
# Process Utilities
#
# CONFIG_FREE is not set
# CONFIG_KILL is not set
# CONFIG_PIDOF is not set
# CONFIG_PS is not set
# CONFIG_RENICE is not set
# CONFIG_TOP is not set
# CONFIG_UPTIME is not set
# CONFIG_SYSCTL is not set
#
# Another Bourne-like Shell
#
# CONFIG_FEATURE_SH_IS_ASH is not set
CONFIG_FEATURE_SH_IS_HUSH=y
# CONFIG_FEATURE_SH_IS_LASH is not set
# CONFIG_FEATURE_SH_IS_MSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
# CONFIG_ASH is not set
CONFIG_HUSH=y
# CONFIG_LASH is not set
# CONFIG_MSH is not set
#
# Bourne Shell Options
#
CONFIG_FEATURE_SH_EXTRA_QUIET=y
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
# CONFIG_FEATURE_COMMAND_EDITING is not set
#
# System Logging Utilities
#
# CONFIG_SYSLOGD is not set
# CONFIG_LOGGER is not set
#
# Linux System Utilities
#
# CONFIG_DMESG is not set
# CONFIG_FBSET is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
# CONFIG_FDISK is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
# CONFIG_GETOPT is not set
# CONFIG_HEXDUMP is not set
# CONFIG_HWCLOCK is not set
# CONFIG_LOSETUP is not set
# CONFIG_MKSWAP is not set
# CONFIG_MORE is not set
CONFIG_PIVOT_ROOT=y
# CONFIG_RDATE is not set
# CONFIG_SWAPONOFF is not set
CONFIG_MOUNT=y
# CONFIG_NFSMOUNT is not set
CONFIG_UMOUNT=y
# CONFIG_FEATURE_MOUNT_FORCE is not set
#
# Common options for mount/umount
#
# CONFIG_FEATURE_MOUNT_LOOP is not set
# CONFIG_FEATURE_MTAB_SUPPORT is not set
#
# Debugging Options
#
# CONFIG_DEBUG is not set

424
configs/busybox-stage2.conf Normal file
View File

@ -0,0 +1,424 @@
#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y
#
# General Configuration
#
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_FEATURE_VERBOSE_USAGE=y
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_FEATURE_DEVFS=y
CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SUID=y
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_SELINUX is not set
#
# Build Options
#
# CONFIG_STATIC is not set
# CONFIG_LFS is not set
USING_CROSS_COMPILER=y
CROSS_COMPILER_PREFIX="mipsel-uclibc-"
EXTRA_CFLAGS_OPTIONS=""
#
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
PREFIX="./_install"
#
# Archival Utilities
#
# CONFIG_AR is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_CPIO is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_GUNZIP is not set
# CONFIG_GZIP is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
# CONFIG_TAR is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNZIP is not set
#
# Coreutils
#
CONFIG_BASENAME=y
# CONFIG_CAL is not set
CONFIG_CAT=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
CONFIG_CHROOT=y
# CONFIG_CMP is not set
CONFIG_CP=y
CONFIG_CUT=y
CONFIG_DATE=y
#
# date (forced enabled for use with watch)
#
CONFIG_FEATURE_DATE_ISOFMT=y
CONFIG_DD=y
CONFIG_DF=y
CONFIG_DIRNAME=y
# CONFIG_DOS2UNIX is not set
# CONFIG_DU is not set
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
CONFIG_EXPR=y
CONFIG_FALSE=y
# CONFIG_FOLD is not set
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
# CONFIG_HOSTID is not set
CONFIG_ID=y
# CONFIG_INSTALL is not set
# CONFIG_LENGTH is not set
CONFIG_LN=y
# CONFIG_LOGNAME is not set
CONFIG_LS=y
CONFIG_FEATURE_LS_FILETYPES=y
CONFIG_FEATURE_LS_FOLLOWLINKS=y
CONFIG_FEATURE_LS_RECURSIVE=y
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
# CONFIG_FEATURE_LS_USERNAME is not set
# CONFIG_FEATURE_LS_COLOR is not set
# CONFIG_MD5SUM is not set
CONFIG_MKDIR=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MV=y
# CONFIG_OD is not set
# CONFIG_PRINTF is not set
CONFIG_PWD=y
# CONFIG_REALPATH is not set
CONFIG_RM=y
CONFIG_RMDIR=y
CONFIG_SEQ=y
# CONFIG_SHA1SUM is not set
CONFIG_SLEEP=y
# CONFIG_FEATURE_FANCY_SLEEP is not set
CONFIG_SORT=y
# CONFIG_STTY is not set
CONFIG_SYNC=y
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
# CONFIG_TEE is not set
CONFIG_TEST=y
#
# test (forced enabled for use with shell)
#
# CONFIG_FEATURE_TEST_64 is not set
CONFIG_TOUCH=y
CONFIG_TR=y
CONFIG_TRUE=y
# CONFIG_TTY is not set
CONFIG_UNAME=y
CONFIG_UNIQ=y
# CONFIG_USLEEP is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
CONFIG_WATCH=y
CONFIG_WC=y
# CONFIG_WHO is not set
# CONFIG_WHOAMI is not set
# CONFIG_YES is not set
#
# Common options for cp and mv
#
# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
#
# Common options for ls and more
#
CONFIG_FEATURE_AUTOWIDTH=y
#
# Common options for df, du, ls
#
# CONFIG_FEATURE_HUMAN_READABLE is not set
#
# Console Utilities
#
# CONFIG_CHVT is not set
CONFIG_CLEAR=y
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
# CONFIG_LOADFONT is not set
# CONFIG_LOADKMAP is not set
# CONFIG_OPENVT is not set
CONFIG_RESET=y
# CONFIG_SETKEYCODES is not set
#
# Debian Utilities
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_READLINK is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_WHICH is not set
#
# Editors
#
# CONFIG_AWK is not set
# CONFIG_PATCH is not set
# CONFIG_SED is not set
# CONFIG_VI is not set
#
# Finding Utilities
#
CONFIG_FIND=y
CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_NEWER=y
CONFIG_FEATURE_FIND_INUM=y
# CONFIG_GREP is not set
# CONFIG_XARGS is not set
#
# Init Utilities
#
CONFIG_INIT=y
CONFIG_FEATURE_USE_INITTAB=y
# CONFIG_FEATURE_INITRD is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
CONFIG_FEATURE_EXTRA_QUIET=y
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
CONFIG_REBOOT=y
# CONFIG_MESG is not set
#
# Login/Password Management Utilities
#
CONFIG_USE_BB_PWD_GRP=y
# CONFIG_ADDGROUP is not set
# CONFIG_DELGROUP is not set
# CONFIG_ADDUSER is not set
# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
# CONFIG_FEATURE_U_W_TMP is not set
CONFIG_LOGIN=y
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
# CONFIG_SU is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set
#
# Common options for adduser, deluser, login, su
#
CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_SHADOW=y
#
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
CONFIG_CROND=y
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_CRONTAB=y
# CONFIG_DC is not set
# CONFIG_DEVFSD is not set
# CONFIG_LAST is not set
# CONFIG_HDPARM is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_MT is not set
# CONFIG_RX is not set
# CONFIG_STRINGS is not set
CONFIG_TIME=y
# CONFIG_WATCHDOG is not set
#
# Linux Module Utilities
#
CONFIG_INSMOD=y
CONFIG_FEATURE_2_4_MODULES=y
# CONFIG_FEATURE_2_6_MODULES is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
CONFIG_LSMOD=y
CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y
# CONFIG_MODPROBE is not set
CONFIG_RMMOD=y
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
#
# Networking Utilities
#
# CONFIG_FEATURE_IPV6 is not set
CONFIG_ARPING=y
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
CONFIG_HOSTNAME=y
CONFIG_HTTPD=y
# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP=y
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
CONFIG_FEATURE_HTTPD_CGI=y
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
CONFIG_FEATURE_IFCONFIG_HW=y
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
# CONFIG_IFUPDOWN is not set
# CONFIG_INETD is not set
# CONFIG_IP is not set
# CONFIG_IPCALC is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
# CONFIG_IPTUNNEL is not set
# CONFIG_NAMEIF is not set
CONFIG_NC=y
CONFIG_NETSTAT=y
CONFIG_NSLOOKUP=y
CONFIG_PING=y
CONFIG_FEATURE_FANCY_PING=y
CONFIG_ROUTE=y
# CONFIG_TELNET is not set
CONFIG_TELNETD=y
# CONFIG_FEATURE_TELNETD_INETD is not set
# CONFIG_TFTP is not set
CONFIG_TRACEROUTE=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
CONFIG_VCONFIG=y
# CONFIG_WGET is not set
#
# udhcp Server/Client
#
CONFIG_UDHCPD=y
CONFIG_UDHCPC=y
CONFIG_DUMPLEASES=y
CONFIG_FEATURE_UDHCP_SYSLOG=y
# CONFIG_FEATURE_UDHCP_DEBUG is not set
#
# Process Utilities
#
CONFIG_FREE=y
CONFIG_KILL=y
CONFIG_KILLALL=y
CONFIG_PIDOF=y
CONFIG_PS=y
# CONFIG_RENICE is not set
CONFIG_TOP=y
FEATURE_CPU_USAGE_PERCENTAGE=y
CONFIG_UPTIME=y
# CONFIG_SYSCTL is not set
#
# Another Bourne-like Shell
#
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_LASH is not set
# CONFIG_FEATURE_SH_IS_MSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
CONFIG_ASH=y
#
# Ash Shell Options
#
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
CONFIG_ASH_MATH_SUPPORT=y
CONFIG_ASH_MATH_SUPPORT_64=y
CONFIG_ASH_GETOPTS=y
# CONFIG_ASH_CMDCMD is not set
# CONFIG_ASH_MAIL is not set
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_HUSH is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set
#
# Bourne Shell Options
#
CONFIG_FEATURE_SH_EXTRA_QUIET=y
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
CONFIG_FEATURE_COMMAND_EDITING=y
CONFIG_FEATURE_COMMAND_HISTORY=15
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
CONFIG_FEATURE_SH_FANCY_PROMPT=y
#
# System Logging Utilities
#
CONFIG_SYSLOGD=y
CONFIG_FEATURE_ROTATE_LOGFILE=y
# CONFIG_FEATURE_REMOTE_LOG is not set
# CONFIG_FEATURE_IPC_SYSLOG is not set
CONFIG_KLOGD=y
CONFIG_LOGGER=y
#
# Linux System Utilities
#
CONFIG_DMESG=y
# CONFIG_FBSET is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
# CONFIG_FDISK is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
# CONFIG_GETOPT is not set
CONFIG_HEXDUMP=y
# CONFIG_HWCLOCK is not set
# CONFIG_LOSETUP is not set
# CONFIG_MKSWAP is not set
CONFIG_MORE=y
CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_PIVOT_ROOT=y
# CONFIG_RDATE is not set
# CONFIG_SWAPONOFF is not set
CONFIG_MOUNT=y
# CONFIG_NFSMOUNT is not set
CONFIG_UMOUNT=y
# CONFIG_FEATURE_MOUNT_FORCE is not set
#
# Common options for mount/umount
#
# CONFIG_FEATURE_MOUNT_LOOP is not set
# CONFIG_FEATURE_MTAB_SUPPORT is not set
#
# Debugging Options
#
# CONFIG_DEBUG is not set

826
configs/kernel-config Normal file
View File

@ -0,0 +1,826 @@
#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_MIPS=y
CONFIG_MIPS32=y
# CONFIG_MIPS64 is not set
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set
#
# Machine selection
#
# CONFIG_ACER_PICA_61 is not set
# CONFIG_MIPS_DB1000 is not set
# CONFIG_MIPS_DB1100 is not set
# CONFIG_MIPS_DB1500 is not set
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_MIPS_PB1500 is not set
# CONFIG_BAGET_MIPS is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_MIPS_COBALT is not set
# CONFIG_DECSTATION is not set
# CONFIG_MIPS_EV64120 is not set
# CONFIG_MIPS_EV96100 is not set
# CONFIG_MIPS_IVR is not set
# CONFIG_HP_LASERJET is not set
# CONFIG_IBM_WORKPAD is not set
# CONFIG_LASAT is not set
# CONFIG_MIPS_ITE8172 is not set
# CONFIG_MIPS_ATLAS is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_SEAD is not set
# CONFIG_MOMENCO_OCELOT is not set
# CONFIG_MOMENCO_OCELOT_G is not set
# CONFIG_DDB5074 is not set
# CONFIG_DDB5476 is not set
# CONFIG_DDB5477 is not set
# CONFIG_NEC_OSPREY is not set
# CONFIG_NEC_EAGLE is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_NINO is not set
# CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set
# CONFIG_SGI_IP32 is not set
# CONFIG_SIBYTE_SB1xxx_SOC is not set
CONFIG_MIPS_BRCM=y
CONFIG_BCM947XX=y
CONFIG_BCM4710=y
CONFIG_BCM4310=y
CONFIG_BCM4704=y
# CONFIG_BCM5365 is not set
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_JMR3927 is not set
# CONFIG_VICTOR_MPC30X is not set
# CONFIG_ZAO_CAPCELLA is not set
# CONFIG_HIGHMEM is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
CONFIG_CMDLINE="root=/dev/mtdblock2 console=ttyS0,115200"
CONFIG_PCI=y
CONFIG_NONCOHERENT_IO=y
CONFIG_NEW_TIME_C=y
CONFIG_NEW_IRQ=y
CONFIG_HND=y
# CONFIG_MIPS_AU1000 is not set
#
# CPU selection
#
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS64 is not set
# CONFIG_CPU_R3000 is not set
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_VR41XX is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_R5000 is not set
# CONFIG_CPU_R5432 is not set
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_SB1 is not set
CONFIG_CPU_HAS_PREFETCH=y
# CONFIG_VTAG_ICACHE is not set
# CONFIG_64BIT_PHYS_ADDR is not set
# CONFIG_CPU_ADVANCED is not set
CONFIG_CPU_HAS_LLSC=y
# CONFIG_CPU_HAS_LLDSCD is not set
# CONFIG_CPU_HAS_WB is not set
CONFIG_CPU_HAS_SYNC=y
#
# General setup
#
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_NET=y
# CONFIG_PCI_NAMES is not set
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_TC is not set
# CONFIG_MCA is not set
# CONFIG_SBUS is not set
CONFIG_HOTPLUG=y
#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_PRINT_SYSCALLS is not set
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_MIPS32_COMPAT is not set
# CONFIG_MIPS32_O32 is not set
# CONFIG_MIPS32_N32 is not set
# CONFIG_BINFMT_ELF32 is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_PM is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CHAR=y
# CONFIG_MTD_BLOCK is not set
CONFIG_MTD_BLOCK_RO=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
# CONFIG_MTD_CFI_B1 is not set
CONFIG_MTD_CFI_B2=y
# CONFIG_MTD_CFI_B4 is not set
CONFIG_MTD_CFI_I1=y
# CONFIG_MTD_CFI_I2 is not set
# CONFIG_MTD_CFI_I4 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_SSTSTD=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_OBSOLETE_CHIPS is not set
# CONFIG_MTD_AMDSTD is not set
# CONFIG_MTD_SHARP is not set
# CONFIG_MTD_JEDEC is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_BCM947XX=y
# CONFIG_MTD_PB1000 is not set
# CONFIG_MTD_PB1500 is not set
# CONFIG_MTD_PB1100 is not set
# CONFIG_MTD_CSTM_MIPS_IXX is not set
# CONFIG_MTD_OCELOT is not set
# CONFIG_MTD_LASAT is not set
# CONFIG_MTD_PCI is not set
#
# Self-contained MTD device drivers
#
CONFIG_MTD_SFLASH=y
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_DOC1000 is not set
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOCPROBE is not set
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_MSYS is not set
# CONFIG_NOROOT is not set
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_STATS is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_ROUTE_LARGE_TABLES is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_H323 is not set
CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_MMS is not set
# CONFIG_IP_NF_CT_PROTO_GRE is not set
# CONFIG_IP_NF_PPTP is not set
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_POOL is not set
CONFIG_IP_NF_MATCH_MAC=m
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_MPORT=m
# CONFIG_IP_NF_MATCH_TOS is not set
CONFIG_IP_NF_MATCH_TIME=m
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_DSCP is not set
# CONFIG_IP_NF_MATCH_AH_ESP is not set
CONFIG_IP_NF_MATCH_LENGTH=m
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_MATCH_TCPMSS is not set
# CONFIG_IP_NF_MATCH_HELPER is not set
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
# CONFIG_IP_NF_MATCH_UNCLEAN is not set
# CONFIG_IP_NF_MATCH_OWNER is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
# CONFIG_IP_NF_TARGET_MIRROR is not set
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_AUTOFW is not set
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
# CONFIG_IP_NF_MANGLE is not set
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
CONFIG_VLAN_8021Q=m
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
CONFIG_BRIDGE=m
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
# CONFIG_NET_SCH_CBQ is not set
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_CSZ is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
# CONFIG_NET_SCH_TEQL is not set
CONFIG_NET_SCH_TBF=m
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_POLICE=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set
#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=4
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_SCSI_DEBUG_QUEUES is not set
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_DEBUG is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# Askey Wireless Networking Devices
#
# CONFIG_ASKEY_WLAN_APS is not set
#
# Broadcom HND network devices
#
CONFIG_HND=y
# CONFIG_IL is not set
CONFIG_ET=m
# CONFIG_ET_4413 is not set
CONFIG_ET_47XX=y
CONFIG_WL=m
CONFIG_WL_AP=y
CONFIG_WL_STA=y
# CONFIG_WL_OID is not set
CONFIG_LED=m
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
# CONFIG_PPP_FILTER is not set
CONFIG_PPP_ASYNC=m
# CONFIG_PPP_SYNC_TTY is not set
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input core support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set
#
# Joysticks
#
# CONFIG_INPUT_GAMEPORT is not set
# CONFIG_QIC02_TAPE is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_AMD_PM768 is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_TMPFS is not set
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG 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
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_NFS_FS is not set
# CONFIG_NFS_V3 is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
# CONFIG_NLS is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_LONG_TIMEOUT is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_UHCI is not set
# CONFIG_USB_UHCI_ALT is not set
CONFIG_USB_OHCI=y
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_BLUETOOTH is not set
# CONFIG_USB_MIDI is not set
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=m
# CONFIG_USB_HID is not set
# CONFIG_USB_HIDINPUT is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_DC2XX is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_USS720 is not set
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set
#
# Bluetooth support
#
# CONFIG_BLUEZ is not set
#
# Kernel hacking
#
CONFIG_CROSSCOMPILE=y
# CONFIG_KERNPROF is not set
# CONFIG_MCOUNT is not set
# CONFIG_DEBUG is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_MIPS_UNCACHED is not set
# CONFIG_KTRACE is not set
# CONFIG_HWSIM is not set
#
# Library routines
#
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZLIB_DEFLATE is not set

Binary file not shown.

Binary file not shown.

20
stage1.skel/etc/init.d/rcS Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
sleep 2
mount -t proc proc /proc
mount -t ext2 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt/
while [ $? -ne 0 ]; do
sleep 5
mount -t ext2 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt/
sleep 5
done
cd /mnt
/sbin/pivot_root . initrd
mount -t proc proc /proc
mount -t devfs none /dev
kill -1 1

0
stage2.skel/etc/TZ Normal file
View File

5
stage2.skel/etc/fstab Normal file
View File

@ -0,0 +1,5 @@
none /dev devfs defaults 0 0
none /dev/pts devpts defaults 0 0
none /proc proc defaults 0 0
/dev/scsi/host0/bus0/target0/lun0/part1 / ext2 rw,noatime 0 0

1
stage2.skel/etc/group Normal file
View File

@ -0,0 +1 @@
root:x:0:

1
stage2.skel/etc/hosts Normal file
View File

@ -0,0 +1 @@
127.0.0.1 localhost

View File

@ -0,0 +1,9 @@
# httpd.conf has the following format:
# ip:10.10. # Allow any address that begins with 10.10.
# ip:172.20. # Allow 172.20.x.x
# /cgi-bin:foo:bar # Require user foo, pwd bar on urls starting with /cgi-bin
# /:foo:bar # Require user foo, pwd bar on urls starting with /
#
# To open up the server:
# ip:* # Allow any IP address
# /:* # no password required for urls starting with / (all)

View File

@ -0,0 +1,96 @@
# start up network
[ "$NETWORK" != "yes" ] && exit 0
# loading needed drivers
insmod et
insmod wl
# starting devices
ifconfig eth0 up
ifconfig eth1 up
# create vlans
insmod 8021q
vconfig add eth0 0
vconfig add eth0 1
ifconfig eth0.0 up
ifconfig eth0.1 up
# create bridge on demand
if [ "$BRIDGE" != "" ]; then
insmod bridge
brctl addbr br0
brctl stp br0 off
brctl setfd br0 2
ifconfig br0 up
else
NET_BRIDGE=""
fi
# enslave bridge devices
for dev in $BRIDGE; do
case "$dev" in
LAN) echo "adding eth0.0 to br0"
NET_LAN=""
brctl addif br0 eth0.0
;;
WAN) echo "adding eth0.1 to br0"
NET_WAN=""
brctl addif br0 eth0.1
;;
WLAN) echo "adding eth1 to br0"
NET_WLAN=""
brctl addif br0 eth1
;;
*)
;;
esac
done
if [ "$NET_BRIDGE" != "" ]; then
echo "Setting up br0"
if [ "$NET_BRIDGE" = "dhcp" ]; then
DEFAULTGW=""
udhcpc -i br0 -b -q -s /etc/udhcpc.sh
else
ifconfig br0 $NET_BRIDGE up
fi
fi
if [ "$NET_LAN" != "" ]; then
echo "Setting up eth0.0"
if [ "$NET_LAN" = "dhcp" ]; then
DEFAULTGW=""
udhcpc -i eth0.0 -b -q -s /etc/udhcpc.sh
else
ifconfig eth0.0 $NET_LAN up
fi
fi
if [ "$NET_WAN" != "" ]; then
echo "Setting up eth0.1"
if [ "$NET_WAN" = "dhcp" ]; then
DEFAULTGW=""
udhcpc -i eth0.1 -b -q -s /etc/udhcpc.sh
else
ifconfig eth0.1 $NET_WAN up
fi
fi
if [ "$NET_WLAN" != "" ]; then
echo "Setting up eth1"
if [ "$NET_WLAN" = "dhcp" ]; then
DEFAULTGW=""
udhcpc -i eth1 -b -q -s /etc/udhcpc.sh
else
ifconfig eth1 $NET_WLAN up
fi
fi
if [ "$DEFAULTGW" != "" ]; then
echo "Setting up default gateway"
route add default gw $DEFAULTGW
fi

View File

@ -0,0 +1,8 @@
# start up network
[ "$PPPOE" != "yes" ] && exit 0
insmod slhc
insmod ppp_generic
insmod pppox
insmod pppoe

View File

@ -0,0 +1,6 @@
# start telnet daemon
[ "$TELNETD" != "yes" ] && exit 0
echo "Starting telnet daemon"
/usr/sbin/telnetd

View File

@ -0,0 +1,6 @@
# start webserver daemon
[ "$HTTPD" != "yes" ] && exit 0
echo "Starting webserver"
/usr/sbin/httpd -c /etc/httpd.conf -h /var/www/

46
stage2.skel/etc/init.d/rcS Executable file
View File

@ -0,0 +1,46 @@
#!/bin/sh
echo "un-mounting flash"
umount /initrd/proc
umount /initrd/dev
umount /initrd
echo "remount / writeable"
mount -o remount,rw,noatime /
echo "mounting remaining filesystems"
mount -a
echo "starting syslogd"
klogd
syslogd -m 0
echo "setting up loopback"
ifconfig lo 127.0.0.1 up
route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
# source config
. /etc/rc.conf
if [ -n $HOSTNAME ]; then
/bin/hostname $HOSTNAME
fi
# start init scripts
for i in /etc/init.d/S??*; do
# skip symlinks
[ ! -f $i ] && continue;
case "$i" in
*.sh) # source shellscript for speed
trap - INT QUIT TSTP
set start
. $i
;;
*) # no shell, fork
$i start
;;
esac
done
echo "System startup completed"

5
stage2.skel/etc/inittab Normal file
View File

@ -0,0 +1,5 @@
::sysinit:/etc/init.d/rcS
::askfirst:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::restart:/sbin/init

0
stage2.skel/etc/issue Normal file
View File

1
stage2.skel/etc/passwd Normal file
View File

@ -0,0 +1 @@
root:x:0:0:root:/root:/bin/sh

View File

View File

@ -0,0 +1,2 @@
lock
plugin /etc/ppp/plugins/rp-pppoe.so

View File

@ -0,0 +1 @@
chap-secrets

45
stage2.skel/etc/rc.conf Normal file
View File

@ -0,0 +1,45 @@
#################
# system config #
#################
# hostname
HOSTNAME="gigaset.lan"
###################
# ip - networking #
###################
# bring up these devices
NETWORK="yes"
# list of bridged devices (LAN / WAN / WLAN)
BRIDGE="LAN WLAN"
# set ip address ("dhcp" or "<ip> netmask <netmask> broadcast <broadcast>")
NET_BRIDGE="10.10.20.250 netmask 255.255.0.0 broadcast 10.10.255.255"
NET_LAN=""
NET_WAN=""
NET_WLAN="192.168.10.250 netmask 255.255.255.0 broadcast 192.168.10.255"
# default gateway (if not using dhcp)
DEFAULTGW="10.10.250.250"
#################
# wlan settings #
#################
####################
# ppp - networking #
####################
PPPOE="yes"
PPPOE_DEV="eth0.1"
############
# services #
############
# start telnetd
TELNETD="yes"
# start httpd
HTTPD="yes"

View File

@ -0,0 +1,2 @@
nameserver 10.10.0.1
nameserver 10.10.0.2

1
stage2.skel/etc/shadow Normal file
View File

@ -0,0 +1 @@
root:$1$$iC.dUsGpxNNJGeOm1dFio/:10933:0:99999:7:::

28
stage2.skel/etc/udhcpc.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
case "$1" in
deconfig)
ifconfig $interface 0.0.0.0 up
;;
bound)
ifconfig $interface $ip netmask $subnet broadcast $broadcast up
echo "search $domain" > /etc/resolv.conf
for i in $dns; do
echo "nameserver $i" >> /etc/resolv.conf
done
for i in $router; do
route add default gw $i
done
;;
renew)
;;
nak)
;;
*)
;;
esac

BIN
stage2.skel/usr/sbin/wl Executable file

Binary file not shown.

View File

@ -0,0 +1 @@
welcome to busybox embedded webserver

27
tools/Makefile Normal file
View File

@ -0,0 +1,27 @@
CFLAGS := -O2 -Wall
all: gen_image split_image untrx split_linux
gen_image: gen_image.o crc32.o
gcc gen_image.o crc32.o -o gen_image
gen_image.o: gen_image.c
gcc $(CFLAGS) -I. -c gen_image.c
crc32.o: crc32.c
gcc $(CFLAGS) -c crc32.c
split_image: split_image.c
gcc $(CFLAGS) -I. split_image.c -o split_image
untrx: untrx.c
gcc $(CFLAGS) -I. untrx.c -o untrx
split_linux: split_linux.c
gcc $(CFLAGS) -I. split_linux.c -o split_linux
clean:
rm -f gen_image.o crc32.o gen_image split_image untrx split_linux
dist:
tar -czf image-tools.tar.gz Makefile trxhdr.h typedefs.h gen_image.c crc32.c split_image.c untrx.c split_linux.c

63
tools/crc32.c Normal file
View File

@ -0,0 +1,63 @@
/*
* efone - Distributed internet phone system.
*
* (c) 1999,2000 Krzysztof Dabrowski
* (c) 1999,2000 ElysiuM deeZine
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* based on implementation by Finn Yannick Jacobs
*/
#include <stdio.h>
#include <stdlib.h>
/* crc_tab[]
* this crcTable is being build by chksum_crc32GenTab().
* so make sure, you call it before using the other
* functions!
*/
u_int32_t crc_tab[256];
/* chksum_crc()
* to a given block, this one calculates the
* crc32-checksum until the length is
* reached. the crc32-checksum will be
* the result.
*/
u_int32_t chksum_crc32 (unsigned char *block, unsigned int length) {
register unsigned long crc;
unsigned long i;
crc = 0xFFFFFFFF;
for (i = 0; i < length; i++) {
crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *block++) & 0xFF];
}
return (crc ^ 0xFFFFFFFF);
}
/* chksum_crc32gentab()
* to a global crc_tab[256], this one will
* calculate the crcTable for crc32-checksums.
* it is generated to the polynom [..]
*/
void chksum_crc32gentab () {
unsigned long crc, poly;
int i, j;
poly = 0xEDB88320L;
for (i = 0; i < 256; i++) {
crc = i;
for (j = 8; j > 0; j--) {
if (crc & 1) {
crc = (crc >> 1) ^ poly;
} else {
crc >>= 1;
}
}
crc_tab[i] = crc;
}
}

124
tools/gen_image.c Normal file
View File

@ -0,0 +1,124 @@
/*
* creates LOAD/Flash images for Siemens SE505
*
* (c) 01/2005 Olaf Rempel <razzor at kopf minus tisch dot de>
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include "trxhdr.h"
extern u_int32_t chksum_crc32(unsigned char *block, unsigned int length);
extern void chksum_crc32gentab();
int main(int argc, char *argv[]) {
struct trx_header trx;
int i, cnt;
FILE *fp;
char *buf;
if (argc <= 1) {
printf("USAGE: gen_image file.trx file.trx ... > outfile\n");
exit(-1);
}
// this is.. ugly, but works :)
if ((buf = malloc(FILE_MAX_LEN)) == NULL) {
perror("malloc");
exit(-1);
}
// init main header
memset(&trx, 0, sizeof(struct trx_header));
trx.magic = FILE_MAGIC;
// copy header
memcpy(buf, &trx, sizeof(struct trx_header));
cnt = sizeof(struct trx_header);
for (i = 1; i < argc; i++) {
// open file
if ((fp = fopen(argv[i], "r")) < 0) {
perror(argv[i]);
free(buf);
exit(-1);
}
// read header
if ((cnt = fread(&trx, 1, sizeof(struct trx_header), fp)) < 0) {
perror(argv[i]);
fclose(fp);
free(buf);
exit(-1);
} else if (cnt < sizeof(struct trx_header)) {
fprintf(stderr, "Truncated file: %s\n", argv[i]);
fclose(fp);
free(buf);
exit(-1);
} else if (trx.magic == TRX_MAGIC) {
if (trx.len > TRX_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad TRX Header: %s\n", argv[i]);
fclose(fp);
free(buf);
exit(-1);
}
} else if (trx.magic == PMON_MAGIC) {
if (trx.len > PMON_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad PMON Header: %s\n", argv[i]);
fclose(fp);
free(buf);
exit(-1);
}
} else if (trx.magic == NVAR_MAGIC) {
if (trx.len > NVRAM_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad NVRAM Header: %s\n", argv[i]);
fclose(fp);
free(buf);
exit(-1);
}
} else {
fprintf(stderr, "Unknown Header Type: %s\n", argv[i]);
fclose(fp);
free(buf);
exit(-1);
}
// copy header
memcpy(buf + cnt, &trx, sizeof(struct trx_header));
cnt += sizeof(struct trx_header);
// copy file to buffer
while (!feof(fp))
cnt += fread(buf + cnt, 1, 65536, fp);
// close file
fclose(fp);
}
chksum_crc32gentab();
// copy main header again
memcpy(&trx, buf, sizeof(struct trx_header));
trx.len = cnt;
// create chksum without first 3 fields
trx.crc32 = chksum_crc32(buf +12, cnt);
memcpy(buf, &trx, sizeof(struct trx_header));
// flush to output
write(1, buf, cnt);
free(buf);
return 0;
}

134
tools/split_image.c Normal file
View File

@ -0,0 +1,134 @@
/*
* split LOAD/Flash images from Siemens SE505
*
* (c) 01/2005 Olaf Rempel <razzor at kopf minus tisch dot de>
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include "trxhdr.h"
#define BUFSIZE 32768
int main(int argc, char *argv[]) {
struct trx_header trx;
int i = 1, len, cnt;
FILE *fp, *out;
char *buf, filename[128];
if (argc <= 1) {
printf("USAGE: split_image firmware.img\n");
exit(-1);
}
// open file
if ((fp = fopen(argv[1], "r")) < 0) {
perror(argv[1]);
exit(-1);
}
// read main header
if ((cnt = fread(&trx, 1, sizeof(struct trx_header), fp)) < 0) {
perror(argv[1]);
fclose(fp);
exit(-1);
} else if (cnt < sizeof(struct trx_header)) {
fprintf(stderr, "Truncated file: %s\n", argv[1]);
fclose(fp);
exit(-1);
} else if (trx.magic != FILE_MAGIC || trx.len > FILE_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad LOAD Header: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
len = trx.len - sizeof(struct trx_header);
if ((buf = malloc(BUFSIZE)) == NULL) {
perror("malloc");
exit(-1);
}
while (len > 0) {
// read header
if ((cnt = fread(&trx, 1, sizeof(struct trx_header), fp)) < 0) {
perror(argv[1]);
free(buf);
fclose(fp);
exit(-1);
} else if (cnt < sizeof(struct trx_header)) {
fprintf(stderr, "Truncated file: %s\n", argv[1]);
free(buf);
fclose(fp);
exit(-1);
} else if (trx.magic == TRX_MAGIC) {
if (trx.len > TRX_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad TRX Header: %s\n", argv[1]);
free(buf);
fclose(fp);
exit(-1);
}
} else if (trx.magic == PMON_MAGIC) {
if (trx.len > PMON_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad PMON Header: %s\n", argv[1]);
free(buf);
fclose(fp);
exit(-1);
}
} else if (trx.magic == NVAR_MAGIC) {
if (trx.len > NVRAM_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad NVRAM Header: %s\n", argv[1]);
free(buf);
fclose(fp);
exit(-1);
}
} else {
fprintf(stderr, "Unknown Header Type: %s\n", argv[1]);
free(buf);
fclose(fp);
exit(-1);
}
// bad bad (unknown length)
snprintf(filename, sizeof(filename), "%s.%d.trx", argv[1], i++);
// open file
if ((out = fopen(filename, "w")) < 0) {
perror(filename);
free(buf);
exit(-1);
}
printf("%s : %d bytes\n", filename, trx.len);
fwrite(&trx, 1, sizeof(struct trx_header), out);
len -= trx.len;
trx.len -= sizeof(struct trx_header);
while (trx.len > 0 && cnt > 0) {
cnt = fread(buf, 1, (trx.len <= BUFSIZE ? trx.len : BUFSIZE), fp);
fwrite(buf, 1, cnt, out);
trx.len -= cnt;
}
fclose(out);
}
free(buf);
fclose(fp);
return 0;
}

106
tools/split_linux.c Normal file
View File

@ -0,0 +1,106 @@
/*
* split LOAD/Flash images from Siemens SE505
*
* (c) 01/2005 Olaf Rempel <razzor at kopf minus tisch dot de>
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define __USE_GNU
#include <string.h>
#include <sys/types.h>
#include "trxhdr.h"
#define BUFSIZE 32768
#define CRAMFS_MAGIC "\x45\x3D\xCD\x28"
int main(int argc, char *argv[]) {
struct trx_header trx;
int len, cnt;
FILE *fp, *out;
char *buf, *p, filename[128];
u_int32_t *fs;
if (argc <= 1) {
printf("USAGE: split_linux linux.trx\n");
exit(-1);
}
// open file
if ((fp = fopen(argv[1], "r")) < 0) {
perror(argv[1]);
exit(-1);
}
// read main header
if ((cnt = fread(&trx, 1, sizeof(struct trx_header), fp)) < 0) {
perror(argv[1]);
fclose(fp);
exit(-1);
} else if (cnt < sizeof(struct trx_header)) {
fprintf(stderr, "Truncated file: %s\n", argv[1]);
fclose(fp);
exit(-1);
} else if (trx.magic != TRX_MAGIC || trx.len > TRX_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad TRX Header: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
len = trx.len - sizeof(struct trx_header);
// big & ugly
if ((buf = malloc(TRX_MAX_LEN)) == NULL) {
perror("malloc");
exit(-1);
}
// slurp in
len = fread(buf, 1, TRX_MAX_LEN, fp);
// search header
if ((p = memmem(buf, len, CRAMFS_MAGIC, 4)) == NULL) {
fprintf(stderr, "No CRAMFS Header found\n");
free(buf);
fclose(fp);
exit(-1);
}
cnt = (int)(p - buf);
// open file
snprintf(filename, sizeof(filename), "%s.kernel", argv[1]);
if ((out = fopen(filename, "w")) < 0) {
perror(filename);
free(buf);
exit(-1);
}
printf("%s: %d bytes\n", filename, cnt);
fwrite(buf, 1, cnt, out);
fclose(out);
// open file
snprintf(filename, sizeof(filename), "%s.cramfs", argv[1]);
if ((out = fopen(filename, "w")) < 0) {
perror(filename);
free(buf);
exit(-1);
}
// "echte" fs laenge auslesen
fs = (u_int32_t *)(p +4);
printf("%s: %d bytes\n", filename, *fs);
fwrite(p, 1, *fs, out);
fclose(out);
free(buf);
fclose(fp);
return 0;
}

BIN
tools/trx Executable file

Binary file not shown.

70
tools/trxhdr.h Normal file
View File

@ -0,0 +1,70 @@
/*
* TRX image file header format.
*
* Copyright 2001-2003, Broadcom Corporation
* All Rights Reserved.
*
* THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
* KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
* SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
*
* $Id: trxhdr.h,v 1.2 2004/03/31 02:25:17 jerry Exp $
*/
#include <typedefs.h>
#define TRX_MAGIC 0x30524448 /* "HDR0" */
#define TRX_VERSION 1
#define TRX_MAX_LEN 0x3A0000
#define TRX_NO_HEADER 1 /* Do not write TRX header */
struct trx_header {
uint32 magic; /* "HDR0" */
uint32 len; /* Length of file including header */
uint32 crc32; /* 32-bit CRC from flag_version to end of file */
uint32 flag_version; /* 0:15 flags, 16:31 version */
uint32 offsets[3]; /* Offsets of partitions from start of header */
};
/* Compatibility */
typedef struct trx_header TRXHDR, *PTRXHDR;
/* THE FOLLOWING ADDED BY Jerry Lee,2002/06/27, for upload 3-in-1 image files */
#define ULE_PMON_CS 1
#define ULE_OS_CS 2
#define ULE_NVRAM_CS 3
#define ULE_FILE_CS 4
#define ULE_PMON_MAGIC 5
#define ULE_OS_MAGIC 6
#define ULE_NVRAM_MAGIC 7
#define ULE_FILE_MAGIC 8
#define ULE_PMON_LEN 9
#define ULE_OS_LEN 10
#define ULE_NVRAM_LEN 11
#define ULE_FILE_LEN 12
#define ULE_SYS_SOCK 13
#define ULE_SYS_MTD 14
#define ULE_SYS_MEM 15
#define ULE_NVRAM_PARSE 16
/* uploaded file */
#define FILE_MAGIC 0x44414F4C // "LOAD"
#define FILE_MAX_LEN 0x3C0400 // below 0x400000(4 MB)
/* PMON image */
#define PMON_MAGIC 0x4E4F4D50 // "PMON"
#define PMON_MAX_LEN 0x40000 // 256 KB
/* NVRAM image */
#define NVAR_MAGIC 0x5241564E // "NVAR"
#define NVRAM_MAX_LEN 0x20000 // 128 KB
// for fw_magic checking
#define VENDOR_MASK 0xF0000000
#define MODEL_MASK 0x0F000000
#define TYPE_MASK 0x00FF8000
#define RELEASE_MASK 0x00007FFF

293
tools/typedefs.h Normal file
View File

@ -0,0 +1,293 @@
/*
* Copyright 2004, Broadcom Corporation
* All Rights Reserved.
*
* THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
* KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
* SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
* $Id: typedefs.h,v 1.2 2004/04/11 17:07:42 jerry Exp $
*/
#ifndef _TYPEDEFS_H_
#define _TYPEDEFS_H_
/* Define 'SITE_TYPEDEFS' in the compile to include a site specific
* typedef file "site_typedefs.h".
*
* If 'SITE_TYPEDEFS' is not defined, then the "Inferred Typedefs"
* section of this file makes inferences about the compile environment
* based on defined symbols and possibly compiler pragmas.
*
* Following these two sections is the "Default Typedefs"
* section. This section is only prcessed if 'USE_TYPEDEF_DEFAULTS' is
* defined. This section has a default set of typedefs and a few
* proprocessor symbols (TRUE, FALSE, NULL, ...).
*/
#ifdef SITE_TYPEDEFS
/*******************************************************************************
* Site Specific Typedefs
*******************************************************************************/
#include "site_typedefs.h"
#else
/*******************************************************************************
* Inferred Typedefs
*******************************************************************************/
/* Infer the compile environment based on preprocessor symbols and pramas.
* Override type definitions as needed, and include configuration dependent
* header files to define types.
*/
#ifdef __cplusplus
#define TYPEDEF_BOOL
#ifndef FALSE
#define FALSE false
#endif
#ifndef TRUE
#define TRUE true
#endif
#else /* ! __cplusplus */
/* for Windows build, define bool as a uchar instead of the default int */
#if defined(_WIN32)
#define TYPEDEF_BOOL
typedef unsigned char bool;
#endif /* _WIN32 */
#endif /* ! __cplusplus */
#ifdef _MSC_VER /* Microsoft C */
#define TYPEDEF_INT64
#define TYPEDEF_UINT64
typedef signed __int64 int64;
typedef unsigned __int64 uint64;
#endif
#if defined(MACOSX) && defined(KERNEL)
#define TYPEDEF_BOOL
#endif
#if defined(linux)
#define TYPEDEF_UINT
#define TYPEDEF_USHORT
#define TYPEDEF_ULONG
#endif
#if !defined(linux) && !defined(_WIN32) && !defined(PMON) && !defined(_CFE_)
#define TYPEDEF_UINT
#define TYPEDEF_USHORT
#endif
/* Do not support the (u)int64 types with strict ansi for GNU C */
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
#define TYPEDEF_INT64
#define TYPEDEF_UINT64
#endif
/* ICL accepts unsigned 64 bit type only, and complains in ANSI mode
* for singned or unsigned */
#if defined(__ICL)
#define TYPEDEF_INT64
#if defined(__STDC__)
#define TYPEDEF_UINT64
#endif
#endif /* __ICL */
#if !defined(_WIN32) && !defined(PMON) && !defined(_CFE_)
/* pick up ushort & uint from standard types.h */
#if defined(linux) && defined(__KERNEL__)
#include <linux/types.h> /* sys/types.h and linux/types.h are oil and water */
#else
#include <sys/types.h>
#endif
#endif /* !_WIN32 && !PMON && !_CFE_ */
#if defined(MACOSX) && defined(KERNEL)
#include <IOKit/IOTypes.h>
#endif
/* use the default typedefs in the next section of this file */
#define USE_TYPEDEF_DEFAULTS
#endif /* SITE_TYPEDEFS */
/*******************************************************************************
* Default Typedefs
*******************************************************************************/
#ifdef USE_TYPEDEF_DEFAULTS
#undef USE_TYPEDEF_DEFAULTS
#ifndef TYPEDEF_BOOL
typedef int bool;
#endif
/*----------------------- define uchar, ushort, uint, ulong ----------------*/
#ifndef TYPEDEF_UCHAR
typedef unsigned char uchar;
#endif
#ifndef TYPEDEF_USHORT
typedef unsigned short ushort;
#endif
#ifndef TYPEDEF_UINT
typedef unsigned int uint;
#endif
#ifndef TYPEDEF_ULONG
typedef unsigned long ulong;
#endif
/*----------------------- define [u]int8/16/32/64 --------------------------*/
#ifndef TYPEDEF_UINT8
typedef unsigned char uint8;
#endif
#ifndef TYPEDEF_UINT16
typedef unsigned short uint16;
#endif
#ifndef TYPEDEF_UINT32
typedef unsigned int uint32;
#endif
#ifndef TYPEDEF_UINT64
typedef unsigned long long uint64;
#endif
#ifndef TYPEDEF_INT8
typedef signed char int8;
#endif
#ifndef TYPEDEF_INT16
typedef signed short int16;
#endif
#ifndef TYPEDEF_INT32
typedef signed int int32;
#endif
#ifndef TYPEDEF_INT64
typedef signed long long int64;
#endif
/*----------------------- define float32/64, float_t -----------------------*/
#ifndef TYPEDEF_FLOAT32
typedef float float32;
#endif
#ifndef TYPEDEF_FLOAT64
typedef double float64;
#endif
/*
* abstracted floating point type allows for compile time selection of
* single or double precision arithmetic. Compiling with -DFLOAT32
* selects single precision; the default is double precision.
*/
#ifndef TYPEDEF_FLOAT_T
#if defined(FLOAT32)
typedef float32 float_t;
#else /* default to double precision floating point */
typedef float64 float_t;
#endif
#endif /* TYPEDEF_FLOAT_T */
/*----------------------- define macro values -----------------------------*/
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef NULL
#define NULL 0
#endif
#ifndef OFF
#define OFF 0
#endif
#ifndef ON
#define ON 1
#endif
/*----------------------- define PTRSZ, INLINE ----------------------------*/
#ifndef PTRSZ
#define PTRSZ sizeof (char*)
#endif
#ifndef INLINE
#ifdef _MSC_VER
#define INLINE __inline
#elif __GNUC__
#define INLINE __inline__
#else
#define INLINE
#endif /* _MSC_VER */
#endif /* INLINE */
#undef TYPEDEF_BOOL
#undef TYPEDEF_UCHAR
#undef TYPEDEF_USHORT
#undef TYPEDEF_UINT
#undef TYPEDEF_ULONG
#undef TYPEDEF_UINT8
#undef TYPEDEF_UINT16
#undef TYPEDEF_UINT32
#undef TYPEDEF_UINT64
#undef TYPEDEF_INT8
#undef TYPEDEF_INT16
#undef TYPEDEF_INT32
#undef TYPEDEF_INT64
#undef TYPEDEF_FLOAT32
#undef TYPEDEF_FLOAT64
#undef TYPEDEF_FLOAT_T
#endif /* USE_TYPEDEF_DEFAULTS */
#endif /* _TYPEDEFS_H_ */

90
tools/untrx.c Normal file
View File

@ -0,0 +1,90 @@
/*
* extract file from trx file
*
* (c) 01/2005 Olaf Rempel <razzor at kopf minus tisch dot de>
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include "trxhdr.h"
#define BUFSIZE 32768
int main(int argc, char *argv[]) {
struct trx_header trx;
int cnt;
FILE *fp;
char *buf;
if (argc <= 1) {
printf("USAGE: untrx file.trx > file\n");
exit(-1);
}
// open file
if ((fp = fopen(argv[1], "r")) < 0) {
perror(argv[1]);
exit(-1);
}
// read header
if ((cnt = fread(&trx, 1, sizeof(struct trx_header), fp)) < 0) {
perror(argv[1]);
fclose(fp);
exit(-1);
} else if (cnt < sizeof(struct trx_header)) {
fprintf(stderr, "Truncated file: %s\n", argv[1]);
fclose(fp);
exit(-1);
} else if (trx.magic == TRX_MAGIC) {
if (trx.len > TRX_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad TRX Header: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
} else if (trx.magic == PMON_MAGIC) {
if (trx.len > PMON_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad PMON Header: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
} else if (trx.magic == NVAR_MAGIC) {
if (trx.len > NVRAM_MAX_LEN || trx.len < sizeof(struct trx_header)) {
fprintf(stderr, "Bad NVRAM Header: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
} else {
fprintf(stderr, "Unknown Header Type: %s\n", argv[1]);
fclose(fp);
exit(-1);
}
trx.len -= sizeof(struct trx_header);
if ((buf = malloc(BUFSIZE)) == NULL) {
perror("malloc");
exit(-1);
}
while (trx.len > 0 && !feof(fp)) {
cnt = fread(buf, 1, BUFSIZE, fp);
write(1, buf, cnt);
trx.len -= cnt;
}
free(buf);
fclose(fp);
return 0;
}