diff --git a/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-getty b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-getty new file mode 100755 index 000000000..cc600e543 --- /dev/null +++ b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-getty @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +[ -f "/etc/default/autogetty" ] && . /etc/default/autogetty + +[ "${ENABLED}" != "1" ] && exit + +for arg in $(cat /proc/cmdline); do + case "${arg}" in + console=*) + eval ${arg} + TTY="${console%,*}" + SPEED="${console#*,}" + + # If no speed is given default to 115200 and fall-back + [ "${SPEED}" = "${TTY}" ] && SPEED="115200,57600,38400,19200,9600" + + if [ -n "${TTY}" ] && grep -qs "${TTY}" /etc/securetty; then + /sbin/getty -L "${SPEED}" "${TTY}" & + fi + ;; + esac +done diff --git a/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-serial-console b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-serial-console new file mode 100755 index 000000000..12da6fc75 --- /dev/null +++ b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/auto-serial-console @@ -0,0 +1,29 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/auto-getty +NAME="auto-getty" + +case "$1" in + start) + echo -n "Starting auto-serial-console: " + start-stop-daemon -S -b -n $NAME --exec $DAEMON + echo "done" + ;; + stop) + echo -n "Stopping auto-serial-console: " + start-stop-daemon -K -n $NAME + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: auto-serial-console { start | stop | restart }" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/autogetty b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/autogetty new file mode 100644 index 000000000..7543d5066 --- /dev/null +++ b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console/autogetty @@ -0,0 +1 @@ +ENABLED=##ENABLED## diff --git a/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console_0.1.bb b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console_0.1.bb new file mode 100644 index 000000000..8de93f2cf --- /dev/null +++ b/meta-digi-dey/recipes-digi/auto-serial-console/auto-serial-console_0.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Auto Serial Console script" +DESCRIPTION = "Scripts to call the console tty from the kernel cmd line" +SECTION = "base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "\ + file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ +" + +SRC_URI = "\ + file://autogetty \ + file://auto-getty \ + file://auto-serial-console \ +" + +S = "${WORKDIR}" + +inherit update-rc.d + +INITSCRIPT_NAME = "auto-serial-console" +INITSCRIPT_PARAMS = "start 99 5 ." + +do_install () { + install -m 0755 -d ${D}${sysconfdir}/default + AUTOGETTY_ENABLE='${@base_conditional( "TRUSTFENCE_CONSOLE_DISABLE", "1", "1", "0", d )}' + install -m 0644 ${WORKDIR}/autogetty ${D}${sysconfdir}/default/autogetty + sed -i -e "s/##ENABLED##/${AUTOGETTY_ENABLE}/g" ${D}${sysconfdir}/default/autogetty + + install -m 0755 -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/auto-serial-console ${D}${sysconfdir}/init.d/auto-serial-console + + install -m 0755 -d ${D}${bindir} + install -m 0755 ${WORKDIR}/auto-getty ${D}${bindir}/auto-getty +}