diff options
author | Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | 2013-03-27 23:02:09 +0100 |
---|---|---|
committer | Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | 2013-03-27 23:02:09 +0100 |
commit | 968a41c6692f956a0af0681c19415e6d156e8407 (patch) | |
tree | 374d560dc06b4f6b06737044de09c61391f37e55 /meta-linaro/recipes-linaro/auto-serial-console | |
parent | 193dd2c80f664ea9cd983f9d3529f7f12b72692b (diff) |
auto-serial-console: move to recipes-linaro as this is our stuff
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Diffstat (limited to 'meta-linaro/recipes-linaro/auto-serial-console')
6 files changed, 127 insertions, 0 deletions
diff --git a/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-console-login b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-console-login new file mode 100755 index 00000000..cf482e6c --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-console-login @@ -0,0 +1,6 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# Start auto-login for root at consoles +exec openvt -c 1 -- /usr/bin/auto-root-login diff --git a/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-getty b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-getty new file mode 100755 index 00000000..05d8fb62 --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-getty @@ -0,0 +1,36 @@ +#!/bin/sh -e + +[ -f /etc/default/autogetty ] && . /etc/default/autogetty + +[ 1 -gt $ENABLED ] && exit + +while true; do + for arg in $(cat /proc/cmdline); do + case $arg in + console=*) + tty=${arg#console=} + tty=${tty#/dev/} + + case $tty in + tty[a-zA-Z]* ) + PORT=${tty%%,*} + + tmp=${tty##$PORT,} + SPEED=${tmp%%n*} + + # if console=/dev/tty* without speed is given + [ $SPEED = $PORT ] && SPEED=115200 + BITS=${tmp##${SPEED}n} + + # 8bit serial is default + [ -z $BITS ] && BITS=8 + # [ 8 -eq $BITS ] && GETTY_ARGS="$GETTY_ARGS -8 " + + [ -z $SPEED ] && SPEED='115200,57600,38400,19200,9600' + + GETTY_ARGS="$AUTOGETTY_ARGS $GETTY_ARGS $SPEED $PORT" + /sbin/getty $GETTY_ARGS + esac + esac + done +done diff --git a/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-root-login b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-root-login new file mode 100755 index 00000000..c9b1092b --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-root-login @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /bin/login -f root diff --git a/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-serial-console b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-serial-console new file mode 100755 index 00000000..12da6fc7 --- /dev/null +++ b/meta-linaro/recipes-linaro/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-linaro/recipes-linaro/auto-serial-console/auto-serial-console/autogetty b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/autogetty new file mode 100644 index 00000000..c0f888e7 --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/autogetty @@ -0,0 +1,5 @@ +# here you can provide what to run instead of /bin/login +AUTOGETTY_ARGS="-n -l /usr/bin/auto-root-login" + +# Should autogetty be enabled? +ENABLED=1 diff --git a/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console_0.1.bb b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console_0.1.bb new file mode 100644 index 00000000..ec4f008f --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console_0.1.bb @@ -0,0 +1,48 @@ +SUMMARY = "Auto Serial Console and Auto Login scripts" +DESCRIPTION = "Scripts to auto login with root and call the console tty from the kernel cmd line" +SECTION = "base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "\ + file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ +" + +PR = "r2" + +inherit update-rc.d + +SRC_URI = "\ + file://autogetty \ + file://auto-root-login \ + file://auto-getty \ + file://auto-console-login \ + file://auto-serial-console \ +" + +PACKAGES =+ "auto-console-login" +RDEPENDS_${PN} = "auto-console-login" + +FILES_auto-console-login = "\ + ${bindir}/auto-root-login \ + ${sysconfdir}/init.d/auto-console-login \ +" + +S = "${WORKDIR}" + +INITSCRIPT_PACKAGES = "${PN} auto-console-login" +INITSCRIPT_NAME_auto-serial-console = "auto-serial-console" +INITSCRIPT_NAME_auto-console-login = "auto-console-login" +INITSCRIPT_PARAMS = "start 99 5 ." + +do_install () { + install -m 0755 -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/autogetty ${D}${sysconfdir}/default/autogetty + + install -m 0755 -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/auto-console-login ${D}${sysconfdir}/init.d/auto-console-login + 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-root-login ${D}${bindir}/auto-root-login + install -m 0755 ${WORKDIR}/auto-getty ${D}${bindir}/auto-getty +} |