diff options
Diffstat (limited to 'poky/meta/recipes-core/busybox')
-rw-r--r-- | poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb | 50 | ||||
-rw-r--r-- | poky/meta/recipes-core/busybox/busybox.inc | 3 | ||||
-rw-r--r-- | poky/meta/recipes-core/busybox/busybox/mdev.cfg | 2 | ||||
-rw-r--r-- | poky/meta/recipes-core/busybox/busybox_1.32.0.bb | 1 | ||||
-rwxr-xr-x | poky/meta/recipes-core/busybox/files/mdev | 56 | ||||
-rw-r--r-- | poky/meta/recipes-core/busybox/files/rcS.default | 31 |
6 files changed, 125 insertions, 18 deletions
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb index 61fb8cbad1..8d0f419f4d 100644 --- a/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb +++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb @@ -23,6 +23,53 @@ do_install() { id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'` echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab done + if [ "${USE_VT}" = "1" ]; then + cat <<EOF >>${D}${sysconfdir}/inittab +# ${base_sbindir}/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# <id>:<runlevels>:<action>:<process> +# + +EOF + + for n in ${SYSVINIT_ENABLED_GETTYS} + do + echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab + done + echo "" >> ${D}${sysconfdir}/inittab + fi + +} + +pkg_postinst_${PN} () { +# run this on host and on target +if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then + exit 0 +fi +} + +pkg_postinst_ontarget_${PN} () { +# run this on the target +if [ -e /proc/consoles ]; then + tmp="${SERIAL_CONSOLES_CHECK}" + for i in $tmp + do + j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g` + k=`echo ${i} | sed s/^.*\://g` + if [ -z "`grep ${j} /proc/consoles`" ]; then + if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then + sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab + fi + fi + done + kill -HUP 1 +else + exit 1 +fi } # SERIAL_CONSOLES is generally defined by the MACHINE .conf. @@ -33,3 +80,6 @@ FILES_${PN} = "${sysconfdir}/inittab" CONFFILES_${PN} = "${sysconfdir}/inittab" RCONFLICTS_${PN} = "sysvinit-inittab" + +USE_VT ?= "1" +SYSVINIT_ENABLED_GETTYS ?= "1" diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc index e0522be729..47fcb59302 100644 --- a/poky/meta/recipes-core/busybox/busybox.inc +++ b/poky/meta/recipes-core/busybox/busybox.inc @@ -309,9 +309,10 @@ do_install () { install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev fi fi - if grep -q "CONFIG_INIT=y" ${B}/.config; then + if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK + install -D -m 0755 ${WORKDIR}/rcS.default ${D}${sysconfdir}/default/rcS fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then diff --git a/poky/meta/recipes-core/busybox/busybox/mdev.cfg b/poky/meta/recipes-core/busybox/busybox/mdev.cfg index 6aefe90e43..143e6097cb 100644 --- a/poky/meta/recipes-core/busybox/busybox/mdev.cfg +++ b/poky/meta/recipes-core/busybox/busybox/mdev.cfg @@ -9,3 +9,5 @@ CONFIG_SETSID=y CONFIG_CTTYHACK=y CONFIG_FEATURE_SHADOWPASSWDS=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_MDEV_DAEMON=y diff --git a/poky/meta/recipes-core/busybox/busybox_1.32.0.bb b/poky/meta/recipes-core/busybox/busybox_1.32.0.bb index 8e23b0d4a2..3a669444dd 100644 --- a/poky/meta/recipes-core/busybox/busybox_1.32.0.bb +++ b/poky/meta/recipes-core/busybox/busybox_1.32.0.bb @@ -33,6 +33,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://getopts.cfg \ file://resize.cfg \ ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ + ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \ file://syslog.cfg \ file://unicode.cfg \ diff --git a/poky/meta/recipes-core/busybox/files/mdev b/poky/meta/recipes-core/busybox/files/mdev index 8c9c06e96c..2fbdfb073e 100755 --- a/poky/meta/recipes-core/busybox/files/mdev +++ b/poky/meta/recipes-core/busybox/files/mdev @@ -1,21 +1,43 @@ #!/bin/sh -mount -t proc proc /proc -mount -t sysfs sysfs /sys -mount -t tmpfs tmpfs /dev -o size=64k,mode=0755 -mkdir /dev/pts /dev/shm -chmod 777 /dev/shm -mount -t devpts devpts /dev/pts -touch /dev/mdev.seq -#sysctl -w kernel.hotplug=/sbin/mdev -echo "/sbin/mdev" > /proc/sys/kernel/hotplug -mdev -s - # -# We might have mounted something over /dev, see if /dev/initctl is there. +# Run the mdev daemon # -if test ! -p /dev/initctl -then - rm -f /dev/initctl - mknod -m 600 /dev/initctl p -fi + +DAEMON="mdev" +PIDFILE="/var/run/$DAEMON.pid" + + +start() { + echo -n "Starting $DAEMON... " + start-stop-daemon -S -b -m -p $PIDFILE -x /sbin/mdev -- -df + [ $? -eq 0 ] && echo "OK" || echo "ERROR" + + # coldplug modules + find /sys/ -name modalias -print0 | \ + xargs -0 sort -u | \ + tr '\n' '\0' | \ + xargs -0 modprobe -abq +} + +stop() { + echo -n "Stopping $DAEMON... " + start-stop-daemon -K -p $PIDFILE + [ $? -eq 0 ] && echo "OK" || echo "ERROR" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/poky/meta/recipes-core/busybox/files/rcS.default b/poky/meta/recipes-core/busybox/files/rcS.default new file mode 100644 index 0000000000..44c9747e34 --- /dev/null +++ b/poky/meta/recipes-core/busybox/files/rcS.default @@ -0,0 +1,31 @@ +# +# Defaults for the boot scripts in /etc/rcS.d +# + +# Time files in /tmp are kept in days. +TMPTIME=0 +# Set to yes if you want sulogin to be spawned on bootup +SULOGIN=no +# Set to no if you want to be able to login over telnet/rlogin +# before system startup is complete (as soon as inetd is started) +DELAYLOGIN=no +# Assume that the BIOS clock is set to UTC time (recommended) +UTC=yes +# Set VERBOSE to "no" if you would like a more quiet bootup. +VERBOSE=no +# Set EDITMOTD to "no" if you don't want /etc/motd to be edited automatically +EDITMOTD=no +# Whether to fsck root on boot +ENABLE_ROOTFS_FSCK=no +# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup. +FSCKFIX=yes +# Set TICKADJ to the correct tick value for this specific machine +#TICKADJ=10000 +# Enable caching in populate-volatile.sh +VOLATILE_ENABLE_CACHE=yes +# Indicate whether the rootfs is intended to be read-only or not. +# Setting ROOTFS_READ_ONLY to yes and rebooting will give you a read-only rootfs. +# Normally you should not change this value. +ROOTFS_READ_ONLY=no +# Indicate init system type +INIT_SYSTEM=busybox |