summaryrefslogtreecommitdiff
path: root/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'busybox')
-rw-r--r--busybox/switchbox-1.00/defconfig346
-rw-r--r--busybox/switchbox-1.00/linuxrc68
-rw-r--r--busybox/switchbox_1.00.oe44
3 files changed, 458 insertions, 0 deletions
diff --git a/busybox/switchbox-1.00/defconfig b/busybox/switchbox-1.00/defconfig
index e69de29bb2..5a702fea5f 100644
--- a/busybox/switchbox-1.00/defconfig
+++ b/busybox/switchbox-1.00/defconfig
@@ -0,0 +1,346 @@
+#
+# 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 is not set
+# CONFIG_FEATURE_DEVPTS is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+CONFIG_STATIC=y
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="armv5b-softfloat-linux-"
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+CONFIG_INSTALL_NO_USR=y
+PREFIX="/"
+
+#
+# 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=y
+# CONFIG_CHGRP is not set
+# CONFIG_CHMOD is not set
+# CONFIG_CHOWN is not set
+# CONFIG_CHROOT is not set
+# CONFIG_CMP is not set
+# CONFIG_CP is not set
+# CONFIG_CUT is not set
+# CONFIG_DATE is not set
+CONFIG_DD=y
+# CONFIG_DF is not set
+# CONFIG_DIRNAME is not set
+# CONFIG_DOS2UNIX is not set
+# CONFIG_DU is not set
+CONFIG_ECHO=y
+# CONFIG_ENV is not set
+# CONFIG_EXPR is not set
+# CONFIG_FALSE is not set
+# 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=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=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+# 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_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 is not set
+# 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 is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# 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 is not set
+# 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=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+
+#
+# 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=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 is not set
+# CONFIG_ASH_ALIAS is not set
+# CONFIG_ASH_MATH_SUPPORT is not set
+# CONFIG_ASH_GETOPTS is not set
+# 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 is not set
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+# 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
+# FDISK_SUPPORT_LARGE_DISKS 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/busybox/switchbox-1.00/linuxrc b/busybox/switchbox-1.00/linuxrc
index e69de29bb2..1368b418a7 100644
--- a/busybox/switchbox-1.00/linuxrc
+++ b/busybox/switchbox-1.00/linuxrc
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+mounted=
+
+/bin/mount -t proc proc /proc
+/bin/echo "0x0100" > /proc/sys/kernel/real-root-dev
+
+/bin/sleep 10
+
+if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sda2 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/sda2 ..."
+ /bin/echo "Firmware Version: `/bin/cat /mnt/tmpmnt/.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0802" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sdb2 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/sdb2 ..."
+ /bin/echo "Firmware Version: `/bin/cat /mnt/tmpmnt/.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0812" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] && /bin/mount -rt jffs2 /dev/mtdblock4 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/mtdblock4 ..."
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x1f04" > /proc/sys/kernel/real-root-dev
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] ; then
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/ram0 ..."
+ /bin/echo "Firmware Version: `/bin/cat /.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0100" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+fi
+
+if [ -z "$mounted" ] ; then
+ /bin/echo "Root filesystem cannot be found - dropping into shell ..."
+ echo "5" > /proc/sys/kernel/panic
+ exec /bin/sh
+fi
+
+/bin/umount /proc
+
+exit 0
diff --git a/busybox/switchbox_1.00.oe b/busybox/switchbox_1.00.oe
index e69de29bb2..2536e46eef 100644
--- a/busybox/switchbox_1.00.oe
+++ b/busybox/switchbox_1.00.oe
@@ -0,0 +1,44 @@
+DESCRIPTION = "SwitchBox version ${PV}. \
+SwitchBox is a minimal version of BusyBox with just enough functionality \
+to switch between different root filesystem options on an Unslung NSLU2 device."
+HOMEPAGE = "http://www.busybox.net"
+LICENSE = "GPL"
+SECTION = "base"
+PRIORITY = "required"
+PR = "r1"
+
+SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
+ file://defconfig \
+ file://linuxrc \
+ file://switchbox.patch;patch=1"
+
+S = "${WORKDIR}/busybox-${PV}"
+
+LDFLAGS =+ "-static"
+
+export EXTRA_CFLAGS = "${CFLAGS}"
+EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
+
+PACKAGES = "${PN}"
+FILES_${PN} = "/"
+FILES_${PN}-doc = ""
+FILES_${PN}-dev = ""
+FILES_${PN}-locale = ""
+
+inherit cml1
+
+do_configure () {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ cml1_do_configure
+}
+
+do_compile () {
+ unset CFLAGS
+ base_do_compile
+}
+
+do_install () {
+ oe_runmake 'PREFIX=${D}' install
+ install -m 0755 ${WORKDIR}/linuxrc ${D}/
+ mkdir -p ${D}/proc ${D}/mnt/tmpmnt
+}