diff options
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r-- | meta/recipes-core/busybox/busybox.inc | 5 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch | 71 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/defconfig | 2 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox_1.22.1.bb | 2 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox_git.bb | 1 | ||||
-rw-r--r-- | meta/recipes-core/busybox/files/find-touchscreen.sh | 7 | ||||
-rw-r--r-- | meta/recipes-core/busybox/files/mdev-mount.sh | 63 | ||||
-rw-r--r-- | meta/recipes-core/busybox/files/mdev.conf | 5 | ||||
-rw-r--r-- | meta/recipes-core/busybox/files/simple.script | 4 | ||||
-rw-r--r-- | meta/recipes-core/busybox/files/syslog | 2 |
10 files changed, 153 insertions, 9 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index bd66e4f148..0769d92c50 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -23,7 +23,7 @@ PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN} FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog" -FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf" +FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc" FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh" @@ -268,6 +268,9 @@ do_install () { install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf + install -d ${D}${sysconfdir}/mdev + install -m 0755 ${WORKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev + install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev fi fi diff --git a/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch b/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch new file mode 100644 index 0000000000..781f5af14a --- /dev/null +++ b/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch @@ -0,0 +1,71 @@ +From: Jason Wessel <jason.wessel@windriver.com> +Date: Sun, 3 Mar 2013 12:31:40 -0600 +Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses location + +Upstream-status: Submitted + +[ based on: https://lkml.org/lkml/2013/3/3/103 ] + +This patch syncs up with the way the menuconfig ncurses / curses +is detected and the HOST_EXTRACFLAGS works in the Linux kernel +and it allows the menuconfig to work with a sysroot version +of the curses libraries. + +--- + +In some cross build environments such as the Yocto Project build +environment it provides an ncurses library that is compiled +differently than the host's version. This causes display corruption +problems when the host's curses includes are used instead of the +includes from the provided compiler are overridden. There is a second +case where there is no curses libraries at all on the host system and +menuconfig will just fail entirely. + +The solution is simply to allow an override variable in +check-lxdialog.sh for environments such as the Yocto Project. Adding +a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing +compiling and linking against the right headers and libraries. + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> +cc: Michal Marek <mmarek@suse.cz> +cc: linux-kbuild@vger.kernel.org +--- + scripts/kconfig/lxdialog/Makefile | 2 +- + scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +--- a/scripts/kconfig/lxdialog/check-lxdialog.sh ++++ b/scripts/kconfig/lxdialog/check-lxdialog.sh +@@ -4,6 +4,10 @@ + # What library to link + ldflags() + { ++ if [ x"$CROSS_CURSES_LIB" != x ]; then ++ echo "$CROSS_CURSES_LIB" ++ exit ++ fi + for ext in so a dylib ; do + for lib in ncursesw ncurses curses ; do + $cc -print-file-name=lib${lib}.${ext} | grep -q / +@@ -19,6 +23,10 @@ ldflags() + # Where is ncurses.h? + ccflags() + { ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo "$CROSS_CURSES_INC" ++ exit ++ fi + if [ -f /usr/include/ncursesw/ncurses.h ]; then + echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>"' + elif [ -f /usr/include/ncursesw/curses.h ]; then +--- a/scripts/kconfig/lxdialog/Makefile ++++ b/scripts/kconfig/lxdialog/Makefile +@@ -5,7 +5,7 @@ check-lxdialog := $(srctree)/$(src)/che + + # Use reursively expanded variables so we do not call gcc unless + # we really need to do so. (Do not call gcc as part of make mrproper) +-HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) ++HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) + HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) + + HOST_EXTRACFLAGS += -DLOCALE diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig index 35f1026d65..8394067bed 100644 --- a/meta/recipes-core/busybox/busybox/defconfig +++ b/meta/recipes-core/busybox/busybox/defconfig @@ -159,7 +159,7 @@ CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y # CONFIG_FEATURE_TAR_LONG_OPTIONS is not set # CONFIG_FEATURE_TAR_TO_COMMAND is not set # CONFIG_FEATURE_TAR_UNAME_GNAME is not set -# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y # CONFIG_FEATURE_TAR_SELINUX is not set # CONFIG_UNCOMPRESS is not set # CONFIG_UNLZMA is not set diff --git a/meta/recipes-core/busybox/busybox_1.22.1.bb b/meta/recipes-core/busybox/busybox_1.22.1.bb index edee4a9963..dd61a2680c 100644 --- a/meta/recipes-core/busybox/busybox_1.22.1.bb +++ b/meta/recipes-core/busybox/busybox_1.22.1.bb @@ -20,6 +20,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://busybox-syslog.default \ file://mdev \ file://mdev.conf \ + file://mdev-mount.sh \ file://umount.busybox \ file://defconfig \ file://busybox-syslog.service.in \ @@ -31,6 +32,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://login-utilities.cfg \ file://0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch \ file://recognize_connmand.patch \ + file://busybox-cross-menuconfig.patch \ " SRC_URI[tarball.md5sum] = "337d1a15ab1cb1d4ed423168b1eb7d7e" diff --git a/meta/recipes-core/busybox/busybox_git.bb b/meta/recipes-core/busybox/busybox_git.bb index f2cc119400..f91b552f78 100644 --- a/meta/recipes-core/busybox/busybox_git.bb +++ b/meta/recipes-core/busybox/busybox_git.bb @@ -24,6 +24,7 @@ SRC_URI = "git://busybox.net/busybox.git \ file://busybox-syslog.default \ file://mdev \ file://mdev.conf \ + file://mdev-mount.sh \ file://umount.busybox \ file://defconfig \ file://busybox-syslog.service.in \ diff --git a/meta/recipes-core/busybox/files/find-touchscreen.sh b/meta/recipes-core/busybox/files/find-touchscreen.sh index 1582ea891c..52c5e7a096 100644 --- a/meta/recipes-core/busybox/files/find-touchscreen.sh +++ b/meta/recipes-core/busybox/files/find-touchscreen.sh @@ -1,9 +1,6 @@ #!/bin/sh -if [ `egrep "input:.*-e0.*,3,.*a0,1,.*18,.*" /sys/class/input/$MDEV/device/modalias|wc -l` -gt 0 ]; then - ln -sf /dev/input/$MDEV /dev/input/touchscreen0 +if grep -q "input:.*-e0.*,3,.*a0,1,\|ads7846" /sys/class/$MDEV/device/modalias ; then + ln -sf /dev/$MDEV /dev/input/touchscreen0 fi -if [ `egrep "ads7846" /sys/class/input/$MDEV/device/modalias|wc -l` -gt 0 ]; then - ln -sf /dev/input/$MDEV /dev/input/touchscreen0 -fi diff --git a/meta/recipes-core/busybox/files/mdev-mount.sh b/meta/recipes-core/busybox/files/mdev-mount.sh new file mode 100644 index 0000000000..d5d66d66fb --- /dev/null +++ b/meta/recipes-core/busybox/files/mdev-mount.sh @@ -0,0 +1,63 @@ +#!/bin/sh +MDEV_AUTOMOUNT=y +MDEV_AUTOMOUNT_ROOT=/run/media +[ -f /etc/default/mdev ] && . /etc/default/mdev +if [ "${MDEV_AUTOMOUNT}" = "n" ] ; then + exit 0 +fi + +case "$ACTION" in + add|"") + ACTION="add" + # check if already mounted + if grep -q "^/dev/${MDEV} " /proc/mounts ; then + # Already mounted + exit 0 + fi + DEVBASE=`expr substr $MDEV 1 3` + if [ "${DEVBASE}" == "mmc" ] ; then + DEVBASE=`expr substr $MDEV 1 7` + fi + # check for "please don't mount it" file + if [ -f "/dev/nomount.${DEVBASE}" ] ; then + # blocked + exit 0 + fi + # check for full-disk partition + if [ "${DEVBASE}" == "${MDEV}" ] ; then + if [ -d /sys/block/${DEVBASE}/${DEVBASE}*1 ] ; then + # Partition detected, just quit + exit 0 + fi + if [ ! -f /sys/block/${DEVBASE}/size ] ; then + # No size at all + exit 0 + fi + if [ `cat /sys/block/${DEVBASE}/size` == 0 ] ; then + # empty device, bail out + exit 0 + fi + fi + # first allow fstab to determine the mountpoint + if ! mount /dev/$MDEV > /dev/null 2>&1 + then + MOUNTPOINT="${MDEV_AUTOMOUNT_ROOT}/$MDEV" + mkdir "$MOUNTPOINT" + mount -t auto /dev/$MDEV "$MOUNTPOINT" + fi + ;; + remove) + MOUNTPOINT=`grep "^/dev/$MDEV\s" /proc/mounts | cut -d' ' -f 2` + if [ ! -z "$MOUNTPOINT" ] + then + umount "$MOUNTPOINT" + rmdir "$MOUNTPOINT" + else + umount /dev/$MDEV + fi + ;; + *) + # Unexpected keyword + exit 1 + ;; +esac diff --git a/meta/recipes-core/busybox/files/mdev.conf b/meta/recipes-core/busybox/files/mdev.conf index e688911ff1..17e93da7c3 100644 --- a/meta/recipes-core/busybox/files/mdev.conf +++ b/meta/recipes-core/busybox/files/mdev.conf @@ -1,3 +1,5 @@ +$MODALIAS=.* 0:0 660 @modprobe "$MODALIAS" + console 0:0 0600 cpu_dma_latency 0:0 0660 fb0:0 44 0660 @@ -35,3 +37,6 @@ input/mice 0:0 0660 input/mouse.* 0:0 0660 tun[0-9]* 0:0 0660 =net/ + +[hs]d[a-z][0-9]? 0:0 660 */etc/mdev/mdev-mount.sh +mmcblk[0-9].* 0:0 660 */etc/mdev/mdev-mount.sh diff --git a/meta/recipes-core/busybox/files/simple.script b/meta/recipes-core/busybox/files/simple.script index 78ac4242a8..757e487b97 100644 --- a/meta/recipes-core/busybox/files/simple.script +++ b/meta/recipes-core/busybox/files/simple.script @@ -5,7 +5,6 @@ [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 RESOLV_CONF="/etc/resolv.conf" -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" [ -n "$subnet" ] && NETMASK="netmask $subnet" # return 0 if root is mounted on a network filesystem @@ -17,8 +16,11 @@ root_is_nfs() { have_bin_ip=0 if [ -x /sbin/ip ]; then have_bin_ip=1 + BROADCAST="broadcast +" fi +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" + case "$1" in deconfig) if [ -x /sbin/resolvconf ]; then diff --git a/meta/recipes-core/busybox/files/syslog b/meta/recipes-core/busybox/files/syslog index 2944d3d06c..89c4d12e9c 100644 --- a/meta/recipes-core/busybox/files/syslog +++ b/meta/recipes-core/busybox/files/syslog @@ -28,7 +28,7 @@ if [ -f /etc/syslog-startup.conf ]; then if [ -n "$ROTATEGENS" ]; then SYSLOG_ARGS="$SYSLOG_ARGS -b $ROTATEGENS" fi - LOCAL=0 + LOG_LOCAL=1 elif [ "$D" = "remote" ]; then SYSLOG_ARGS="$SYSLOG_ARGS -R $REMOTE" LOG_REMOTE=1 |