commit bee14671a4025bdb53608e89e924afc22d897e0a Author: Olaf Rempel Date: Fri Jun 15 15:11:23 2007 +0200 initial commit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dc82d9e --- /dev/null +++ b/Makefile @@ -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 diff --git a/configs/busybox-stage1.conf b/configs/busybox-stage1.conf new file mode 100644 index 0000000..44eb440 --- /dev/null +++ b/configs/busybox-stage1.conf @@ -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 diff --git a/configs/busybox-stage2.conf b/configs/busybox-stage2.conf new file mode 100644 index 0000000..5c79edb --- /dev/null +++ b/configs/busybox-stage2.conf @@ -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 diff --git a/configs/kernel-config b/configs/kernel-config new file mode 100644 index 0000000..6bd44e6 --- /dev/null +++ b/configs/kernel-config @@ -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 diff --git a/configs/kernel-vanilla2siemens_small.patch.bz2 b/configs/kernel-vanilla2siemens_small.patch.bz2 new file mode 100644 index 0000000..36c9679 Binary files /dev/null and b/configs/kernel-vanilla2siemens_small.patch.bz2 differ diff --git a/configs/wl-rel_3_01_05.tar.bz2 b/configs/wl-rel_3_01_05.tar.bz2 new file mode 100644 index 0000000..a1ee994 Binary files /dev/null and b/configs/wl-rel_3_01_05.tar.bz2 differ diff --git a/stage1.skel/etc/init.d/rcS b/stage1.skel/etc/init.d/rcS new file mode 100755 index 0000000..f33a45f --- /dev/null +++ b/stage1.skel/etc/init.d/rcS @@ -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 diff --git a/stage2.skel/etc/TZ b/stage2.skel/etc/TZ new file mode 100644 index 0000000..e69de29 diff --git a/stage2.skel/etc/fstab b/stage2.skel/etc/fstab new file mode 100644 index 0000000..cbd019a --- /dev/null +++ b/stage2.skel/etc/fstab @@ -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 diff --git a/stage2.skel/etc/group b/stage2.skel/etc/group new file mode 100644 index 0000000..1dbf901 --- /dev/null +++ b/stage2.skel/etc/group @@ -0,0 +1 @@ +root:x:0: diff --git a/stage2.skel/etc/hosts b/stage2.skel/etc/hosts new file mode 100644 index 0000000..ba712fe --- /dev/null +++ b/stage2.skel/etc/hosts @@ -0,0 +1 @@ +127.0.0.1 localhost diff --git a/stage2.skel/etc/httpd.conf b/stage2.skel/etc/httpd.conf new file mode 100644 index 0000000..3a5cbe6 --- /dev/null +++ b/stage2.skel/etc/httpd.conf @@ -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) diff --git a/stage2.skel/etc/init.d/S10network.sh b/stage2.skel/etc/init.d/S10network.sh new file mode 100755 index 0000000..fd1ddb5 --- /dev/null +++ b/stage2.skel/etc/init.d/S10network.sh @@ -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 diff --git a/stage2.skel/etc/init.d/S11ppp.sh b/stage2.skel/etc/init.d/S11ppp.sh new file mode 100755 index 0000000..856e2e3 --- /dev/null +++ b/stage2.skel/etc/init.d/S11ppp.sh @@ -0,0 +1,8 @@ +# start up network +[ "$PPPOE" != "yes" ] && exit 0 + +insmod slhc +insmod ppp_generic +insmod pppox +insmod pppoe + diff --git a/stage2.skel/etc/init.d/S70telnetd.sh b/stage2.skel/etc/init.d/S70telnetd.sh new file mode 100755 index 0000000..bb3b865 --- /dev/null +++ b/stage2.skel/etc/init.d/S70telnetd.sh @@ -0,0 +1,6 @@ +# start telnet daemon + +[ "$TELNETD" != "yes" ] && exit 0 + +echo "Starting telnet daemon" +/usr/sbin/telnetd diff --git a/stage2.skel/etc/init.d/S71httpd.sh b/stage2.skel/etc/init.d/S71httpd.sh new file mode 100755 index 0000000..b718269 --- /dev/null +++ b/stage2.skel/etc/init.d/S71httpd.sh @@ -0,0 +1,6 @@ +# start webserver daemon + +[ "$HTTPD" != "yes" ] && exit 0 + +echo "Starting webserver" +/usr/sbin/httpd -c /etc/httpd.conf -h /var/www/ diff --git a/stage2.skel/etc/init.d/rcS b/stage2.skel/etc/init.d/rcS new file mode 100755 index 0000000..9daf30e --- /dev/null +++ b/stage2.skel/etc/init.d/rcS @@ -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" diff --git a/stage2.skel/etc/inittab b/stage2.skel/etc/inittab new file mode 100644 index 0000000..d7fc669 --- /dev/null +++ b/stage2.skel/etc/inittab @@ -0,0 +1,5 @@ +::sysinit:/etc/init.d/rcS +::askfirst:/bin/sh +::ctrlaltdel:/sbin/reboot +::shutdown:/bin/umount -a -r +::restart:/sbin/init \ No newline at end of file diff --git a/stage2.skel/etc/issue b/stage2.skel/etc/issue new file mode 100644 index 0000000..e69de29 diff --git a/stage2.skel/etc/passwd b/stage2.skel/etc/passwd new file mode 100644 index 0000000..eb85a55 --- /dev/null +++ b/stage2.skel/etc/passwd @@ -0,0 +1 @@ +root:x:0:0:root:/root:/bin/sh diff --git a/stage2.skel/etc/ppp/chap-secrets b/stage2.skel/etc/ppp/chap-secrets new file mode 100644 index 0000000..e69de29 diff --git a/stage2.skel/etc/ppp/options b/stage2.skel/etc/ppp/options new file mode 100644 index 0000000..549e4a5 --- /dev/null +++ b/stage2.skel/etc/ppp/options @@ -0,0 +1,2 @@ +lock +plugin /etc/ppp/plugins/rp-pppoe.so diff --git a/stage2.skel/etc/ppp/pap-secrets b/stage2.skel/etc/ppp/pap-secrets new file mode 120000 index 0000000..bf6b9e7 --- /dev/null +++ b/stage2.skel/etc/ppp/pap-secrets @@ -0,0 +1 @@ +chap-secrets \ No newline at end of file diff --git a/stage2.skel/etc/rc.conf b/stage2.skel/etc/rc.conf new file mode 100644 index 0000000..2115f44 --- /dev/null +++ b/stage2.skel/etc/rc.conf @@ -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 " netmask 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" + diff --git a/stage2.skel/etc/resolv.conf b/stage2.skel/etc/resolv.conf new file mode 100644 index 0000000..961b302 --- /dev/null +++ b/stage2.skel/etc/resolv.conf @@ -0,0 +1,2 @@ +nameserver 10.10.0.1 +nameserver 10.10.0.2 diff --git a/stage2.skel/etc/shadow b/stage2.skel/etc/shadow new file mode 100644 index 0000000..41a7c71 --- /dev/null +++ b/stage2.skel/etc/shadow @@ -0,0 +1 @@ +root:$1$$iC.dUsGpxNNJGeOm1dFio/:10933:0:99999:7::: diff --git a/stage2.skel/etc/udhcpc.sh b/stage2.skel/etc/udhcpc.sh new file mode 100755 index 0000000..2db5392 --- /dev/null +++ b/stage2.skel/etc/udhcpc.sh @@ -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 \ No newline at end of file diff --git a/stage2.skel/usr/sbin/wl b/stage2.skel/usr/sbin/wl new file mode 100755 index 0000000..598aac7 Binary files /dev/null and b/stage2.skel/usr/sbin/wl differ diff --git a/stage2.skel/var/www/index.html b/stage2.skel/var/www/index.html new file mode 100644 index 0000000..7746c0b --- /dev/null +++ b/stage2.skel/var/www/index.html @@ -0,0 +1 @@ +welcome to busybox embedded webserver diff --git a/tools/Makefile b/tools/Makefile new file mode 100644 index 0000000..edf4741 --- /dev/null +++ b/tools/Makefile @@ -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 diff --git a/tools/crc32.c b/tools/crc32.c new file mode 100644 index 0000000..d6d4912 --- /dev/null +++ b/tools/crc32.c @@ -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 +#include + +/* 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; + } +} diff --git a/tools/gen_image.c b/tools/gen_image.c new file mode 100644 index 0000000..cd8cb50 --- /dev/null +++ b/tools/gen_image.c @@ -0,0 +1,124 @@ +/* + * creates LOAD/Flash images for Siemens SE505 + * + * (c) 01/2005 Olaf Rempel + */ + +#include +#include +#include +#include + +#include +#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; +} + diff --git a/tools/split_image.c b/tools/split_image.c new file mode 100644 index 0000000..3c41d04 --- /dev/null +++ b/tools/split_image.c @@ -0,0 +1,134 @@ +/* + * split LOAD/Flash images from Siemens SE505 + * + * (c) 01/2005 Olaf Rempel + */ + +#include +#include +#include +#include + +#include +#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; +} + diff --git a/tools/split_linux.c b/tools/split_linux.c new file mode 100644 index 0000000..6294a83 --- /dev/null +++ b/tools/split_linux.c @@ -0,0 +1,106 @@ +/* + * split LOAD/Flash images from Siemens SE505 + * + * (c) 01/2005 Olaf Rempel + */ + +#include +#include +#include + +#define __USE_GNU +#include + +#include +#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; +} + diff --git a/tools/trx b/tools/trx new file mode 100755 index 0000000..65068d6 Binary files /dev/null and b/tools/trx differ diff --git a/tools/trxhdr.h b/tools/trxhdr.h new file mode 100644 index 0000000..893c39a --- /dev/null +++ b/tools/trxhdr.h @@ -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 + +#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 + diff --git a/tools/typedefs.h b/tools/typedefs.h new file mode 100644 index 0000000..00d765a --- /dev/null +++ b/tools/typedefs.h @@ -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 /* sys/types.h and linux/types.h are oil and water */ + +#else + +#include + +#endif + +#endif /* !_WIN32 && !PMON && !_CFE_ */ + +#if defined(MACOSX) && defined(KERNEL) +#include +#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_ */ diff --git a/tools/untrx.c b/tools/untrx.c new file mode 100644 index 0000000..75fa445 --- /dev/null +++ b/tools/untrx.c @@ -0,0 +1,90 @@ +/* + * extract file from trx file + * + * (c) 01/2005 Olaf Rempel + */ + +#include +#include +#include +#include + +#include +#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; +} +