aboutsummaryrefslogtreecommitdiff
path: root/meta-linaro/recipes-linaro/auto-serial-console
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2013-03-27 23:02:09 +0100
committerMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2013-03-27 23:02:09 +0100
commit968a41c6692f956a0af0681c19415e6d156e8407 (patch)
tree374d560dc06b4f6b06737044de09c61391f37e55 /meta-linaro/recipes-linaro/auto-serial-console
parent193dd2c80f664ea9cd983f9d3529f7f12b72692b (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')
-rwxr-xr-xmeta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-console-login6
-rwxr-xr-xmeta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-getty36
-rwxr-xr-xmeta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-root-login3
-rwxr-xr-xmeta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-serial-console29
-rw-r--r--meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/autogetty5
-rw-r--r--meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console_0.1.bb48
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
+}