--- /dev/null
+#!/bin/sh
+MDEV=/sbin/mdev
+DESC="Busybox mdev setup"
+
+# Complain if thing's aren't right
+if [ ! -e /proc/filesystems ]; then
+ echo "mdev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "mdev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "mdev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "mdev requires hotplug support, not started."
+ exit 1
+fi
+
+# We need to unmount /dev/pts/ and remount it later over the tmpfs
+if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+fi
+
+if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+fi
+
+# Create tmpfs for /dev
+echo "Creating tmpfs at /dev"
+mount -t tmpfs tmpfs /dev -o size=800k
+
+# Register mdev as hotplug event helper
+echo "$MDEV" > /proc/sys/kernel/hotplug
+
+# Populate /dev from /sys info
+echo "Populating /dev using mdev"
+$MDEV -s
+
+# Touch .udev to inform scripts that /dev needs no further setup
+touch /dev/.udev
+
+# Mount devpts
+TTYGRP=5
+TTYMODE=620
+mkdir -m 755 -p /dev/pts
+if [ ! -e /dev/ptmx ]; then
+ mknod -m 666 /dev/ptmx c 5 2
+fi
+mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
+
+# Make shm directory
+mkdir -m 755 -p /dev/shm
+
+# Make extraneous links
+ln -sf /proc/self/fd /dev/fd
+ln -sf /proc/self/fd/0 /dev/stdin
+ln -sf /proc/self/fd/1 /dev/stdout
+ln -sf /proc/self/fd/2 /dev/stderr
+ln -sf /proc/kcore /dev/core
+ln -sf /proc/asound/oss/sndstat /dev/sndstat
+
+exit 0
#
# CONFIG_NITPICK is not set
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
-CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
# Finding Utilities
#
# CONFIG_FIND is not set
-CONFIG_FEATURE_FIND_EXEC=y
+# CONFIG_FEATURE_FIND_PRINT0 is not set
+# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_PERM is not set
+# CONFIG_FEATURE_FIND_TYPE is not set
+# CONFIG_FEATURE_FIND_XDEV is not set
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_EXEC is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_FEATURE_GREP_CONTEXT=y
# CONFIG_XARGS is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
#
# Init Utilities
# Linux Module Utilities
#
# CONFIG_INSMOD 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_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_RMMOD is not set
# CONFIG_LSMOD is not set
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODPROBE is not set
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
+# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
# CONFIG_FEATURE_2_4_MODULES is not set
-CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_2_6_MODULES is not set
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
#
#
CONFIG_DMESG=y
# CONFIG_FBSET is not set
+# CONFIG_FEATURE_FBSET_FANCY is not set
+# CONFIG_FEATURE_FBSET_READMODE is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
CONFIG_FDISK=y
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_GETOPT is not set
CONFIG_HEXDUMP=y
CONFIG_HWCLOCK=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LOSETUP is not set
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_EXEC=y
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_V0 is not set
CONFIG_MORE=y
# CONFIG_SWITCH_ROOT is not set
# CONFIG_UMOUNT is not set
# CONFIG_FEATURE_UMOUNT_ALL is not set
+# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
#
# Miscellaneous Utilities
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
# CONFIG_FEATURE_INETD_RPC is not set
# CONFIG_IP is not set
+# CONFIG_FEATURE_IP_ADDRESS is not set
+# CONFIG_FEATURE_IP_LINK is not set
+# CONFIG_FEATURE_IP_ROUTE is not set
+# CONFIG_FEATURE_IP_TUNNEL is not set
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
#
# CONFIG_APP_UDHCPD is not set
CONFIG_APP_UDHCPC=y
-CONFIG_APP_DUMPLEASES=y
+# CONFIG_APP_DUMPLEASES is not set
CONFIG_FEATURE_UDHCP_SYSLOG=y
# CONFIG_FEATURE_UDHCP_DEBUG is not set
# CONFIG_VCONFIG is not set
LICENSE = "GPL"
SECTION = "base"
PRIORITY = "required"
-PR = "r1.3"
+PR = "r1.5"
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
file://dhcp-hostname.patch;patch=1 \
file://default.script \
file://syslog.conf \
file://mount.busybox \
- file://umount.busybox"
+ file://umount.busybox \
+ file://busybox-mdev.sh \
+ file://mdev.conf \
+ "
SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1"
export EXTRA_CFLAGS = "${CFLAGS}"
EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
-PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
+PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-mdev"
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
+FILES_${PN}-mdev = "${sysconfdir}/init.d/busybox-mdev.sh ${sysconfdir}/mdev.conf"
FILES_${PN} += " ${datadir}/udhcpc"
-INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
+INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd ${PN}-mdev"
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
+INITSCRIPT_NAME_${PN}-mdev = "busybox-mdev.sh"
+INITSCRIPT_PARAMS_${PN}-mdev = "start 04 S ."
INITSCRIPT_NAME_${PN} = "syslog"
CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-# This disables the syslog startup links in openslug (see openslug-init)
-INITSCRIPT_PARAMS_${PN}_openslug = "start 20 ."
+inherit cml1 update-rc.d
-inherit cml1 update-rc.d
+# This disables the syslog startup links in openslug (see openslug-init)
+# INITSCRIPT_PARAMS_${PN}_openslug = "start 20 ." #out-of-date?
do_configure () {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config.oe
install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
fi
if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
- # Move dhcpc back to /usr/sbin/udhcpc
+ # Move dhcpc back to /sbin/udhcpc
install -d ${D}${base_sbindir}
mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
fi
+ if grep "CONFIG_MDEV=y" ${WORKDIR}/defconfig; then
+ # Move mdev back to /sbin/mdev
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/mdev ${D}${base_sbindir}/
+
+ install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/
+ install -m 0755 ${WORKDIR}/busybox-mdev.sh ${D}${sysconfdir}/init.d/
+ fi
+
install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
}