aboutsummaryrefslogtreecommitdiffstats
path: root/packages/busybox
diff options
context:
space:
mode:
authorMichael-Luke Jones <mlj28@cam.ac.uk>2006-09-23 15:26:05 +0000
committerMichael-Luke Jones <mlj28@cam.ac.uk>2006-09-23 15:26:05 +0000
commit45184c3c6fefe0d04d3821a712bb97f0fbca245a (patch)
treea685081d74f8a5e7540cac2e109089676d715817 /packages/busybox
parent7460aa74e45f13b05f479550b3d2c9d9afdae494 (diff)
downloadopenembedded-45184c3c6fefe0d04d3821a712bb97f0fbca245a.tar.gz
busybox: add mdev support
* adjust SlugOS defconfig to enable mdev * add mdev startup script (similar to udev init) * add mdev.conf with correct device permissions/actions
Diffstat (limited to 'packages/busybox')
-rwxr-xr-xpackages/busybox/busybox-1.2.1/busybox-mdev.sh69
-rw-r--r--packages/busybox/busybox-1.2.1/mdev.conf0
-rw-r--r--packages/busybox/busybox-1.2.1/slugos/defconfig49
-rw-r--r--packages/busybox/busybox-1.2.1/slugos/mdev.conf11
-rw-r--r--packages/busybox/busybox_1.2.1.bb31
5 files changed, 140 insertions, 20 deletions
diff --git a/packages/busybox/busybox-1.2.1/busybox-mdev.sh b/packages/busybox/busybox-1.2.1/busybox-mdev.sh
new file mode 100755
index 0000000000..9744322fa9
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/busybox-mdev.sh
@@ -0,0 +1,69 @@
+#!/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
diff --git a/packages/busybox/busybox-1.2.1/mdev.conf b/packages/busybox/busybox-1.2.1/mdev.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/mdev.conf
diff --git a/packages/busybox/busybox-1.2.1/slugos/defconfig b/packages/busybox/busybox-1.2.1/slugos/defconfig
index c35b4f7f70..2985e0fbca 100644
--- a/packages/busybox/busybox-1.2.1/slugos/defconfig
+++ b/packages/busybox/busybox-1.2.1/slugos/defconfig
@@ -12,7 +12,7 @@ HAVE_DOT_CONFIG=y
#
# 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
@@ -287,12 +287,24 @@ CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=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
@@ -343,16 +355,19 @@ CONFIG_MKE2FS=y
# 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
#
@@ -360,6 +375,8 @@ CONFIG_FEATURE_2_6_MODULES=y
#
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
@@ -373,6 +390,7 @@ CONFIG_FEATURE_OSF_LABEL=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
@@ -381,9 +399,9 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=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
@@ -398,6 +416,8 @@ CONFIG_RDATE=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
@@ -486,6 +506,11 @@ CONFIG_FEATURE_IFUPDOWN_IPV6=y
# 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
@@ -523,7 +548,7 @@ CONFIG_TRACEROUTE=y
#
# 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
diff --git a/packages/busybox/busybox-1.2.1/slugos/mdev.conf b/packages/busybox/busybox-1.2.1/slugos/mdev.conf
new file mode 100644
index 0000000000..31acaf83a3
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/slugos/mdev.conf
@@ -0,0 +1,11 @@
+rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc
+null 0:0 777
+zero 0:0 666
+console 0:5 0600
+kmem 0:9 000
+mem 0:9 0640
+port 0:9 0640
+ptmx 0:5 666
+tty 0:5 0660
+ttyS* 0:20 640
+ucode_dl root:root 600 @sleep 1 && cat /lib/firmware/NPE-B > /dev/ucode_dl
diff --git a/packages/busybox/busybox_1.2.1.bb b/packages/busybox/busybox_1.2.1.bb
index c27544303a..8e1204ef78 100644
--- a/packages/busybox/busybox_1.2.1.bb
+++ b/packages/busybox/busybox_1.2.1.bb
@@ -10,7 +10,7 @@ HOMEPAGE = "http://www.busybox.net"
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 \
@@ -26,29 +26,35 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
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
@@ -115,7 +121,7 @@ do_install () {
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}/
@@ -125,6 +131,15 @@ do_install () {
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}
}