diff options
Diffstat (limited to 'meta-linaro/recipes-linaro/auto-serial-console')
6 files changed, 129 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 0000000..cf482e6 --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-console-login | |||
@@ -0,0 +1,6 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
4 | |||
5 | # Start auto-login for root at consoles | ||
6 | 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 0000000..7b181bc --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-getty | |||
@@ -0,0 +1,38 @@ | |||
1 | #!/bin/sh -e | ||
2 | |||
3 | [ -f /etc/default/autogetty ] && . /etc/default/autogetty | ||
4 | |||
5 | [ 1 -gt $ENABLED ] && exit | ||
6 | |||
7 | while true; do | ||
8 | for arg in $(cat /proc/cmdline); do | ||
9 | case $arg in | ||
10 | console=*) | ||
11 | tty=${arg#console=} | ||
12 | tty=${tty#/dev/} | ||
13 | secure=`echo "${tty}" | cut -f1 -d,` | ||
14 | secure=`/bin/egrep "^${secure}$" /etc/securetty || true` | ||
15 | |||
16 | if [ -n "$tty" -a -n "${secure}" ]; then | ||
17 | PORT=${tty%%,*} | ||
18 | |||
19 | tmp=${tty##$PORT,} | ||
20 | SPEED=${tmp%%n*} | ||
21 | |||
22 | # if console=/dev/tty* without speed is given | ||
23 | [ $SPEED = $PORT ] && SPEED=115200 | ||
24 | BITS=${tmp##${SPEED}n} | ||
25 | |||
26 | # 8bit serial is default | ||
27 | [ -z $BITS ] && BITS=8 | ||
28 | # [ 8 -eq $BITS ] && GETTY_ARGS="$GETTY_ARGS -8 " | ||
29 | |||
30 | [ -z $SPEED ] && SPEED='115200,57600,38400,19200,9600' | ||
31 | |||
32 | GETTY_ARGS="$AUTOGETTY_ARGS $GETTY_ARGS $SPEED $PORT" | ||
33 | /sbin/getty $GETTY_ARGS | ||
34 | unset GETTY_ARGS | ||
35 | fi | ||
36 | esac | ||
37 | done | ||
38 | 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 0000000..c9b1092 --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-root-login | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | 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 0000000..12da6fc --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/auto-serial-console | |||
@@ -0,0 +1,29 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
4 | DAEMON=/usr/bin/auto-getty | ||
5 | NAME="auto-getty" | ||
6 | |||
7 | case "$1" in | ||
8 | start) | ||
9 | echo -n "Starting auto-serial-console: " | ||
10 | start-stop-daemon -S -b -n $NAME --exec $DAEMON | ||
11 | echo "done" | ||
12 | ;; | ||
13 | stop) | ||
14 | echo -n "Stopping auto-serial-console: " | ||
15 | start-stop-daemon -K -n $NAME | ||
16 | echo "done" | ||
17 | ;; | ||
18 | restart) | ||
19 | $0 stop | ||
20 | $0 start | ||
21 | ;; | ||
22 | *) | ||
23 | echo "Usage: auto-serial-console { start | stop | restart }" >&2 | ||
24 | exit 1 | ||
25 | ;; | ||
26 | esac | ||
27 | |||
28 | exit 0 | ||
29 | |||
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 0000000..c0f888e --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console/autogetty | |||
@@ -0,0 +1,5 @@ | |||
1 | # here you can provide what to run instead of /bin/login | ||
2 | AUTOGETTY_ARGS="-n -l /usr/bin/auto-root-login" | ||
3 | |||
4 | # Should autogetty be enabled? | ||
5 | 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 0000000..040c64b --- /dev/null +++ b/meta-linaro/recipes-linaro/auto-serial-console/auto-serial-console_0.1.bb | |||
@@ -0,0 +1,48 @@ | |||
1 | SUMMARY = "Auto Serial Console and Auto Login scripts" | ||
2 | DESCRIPTION = "Scripts to auto login with root and call the console tty from the kernel cmd line" | ||
3 | SECTION = "base" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "\ | ||
6 | file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
7 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ | ||
8 | " | ||
9 | |||
10 | PR = "r2" | ||
11 | |||
12 | inherit update-rc.d | ||
13 | |||
14 | SRC_URI = "\ | ||
15 | file://autogetty \ | ||
16 | file://auto-root-login \ | ||
17 | file://auto-getty \ | ||
18 | file://auto-console-login \ | ||
19 | file://auto-serial-console \ | ||
20 | " | ||
21 | |||
22 | PACKAGES =+ "auto-console-login" | ||
23 | RDEPENDS_${PN} = "auto-console-login" | ||
24 | |||
25 | FILES_auto-console-login = "\ | ||
26 | ${bindir}/auto-root-login \ | ||
27 | ${sysconfdir}/init.d/auto-console-login \ | ||
28 | " | ||
29 | |||
30 | S = "${WORKDIR}" | ||
31 | |||
32 | INITSCRIPT_PACKAGES = "${PN} auto-console-login" | ||
33 | INITSCRIPT_NAME_auto-serial-console = "auto-serial-console" | ||
34 | INITSCRIPT_NAME_auto-console-login = "auto-console-login" | ||
35 | INITSCRIPT_PARAMS = "start 99 5 ." | ||
36 | |||
37 | do_install () { | ||
38 | install -m 0755 -d ${D}${sysconfdir}/default | ||
39 | install -m 0644 ${WORKDIR}/autogetty ${D}${sysconfdir}/default/autogetty | ||
40 | |||
41 | install -m 0755 -d ${D}${sysconfdir}/init.d | ||
42 | install -m 0755 ${WORKDIR}/auto-console-login ${D}${sysconfdir}/init.d/auto-console-login | ||
43 | install -m 0755 ${WORKDIR}/auto-serial-console ${D}${sysconfdir}/init.d/auto-serial-console | ||
44 | |||
45 | install -m 0755 -d ${D}${bindir} | ||
46 | install -m 0755 ${WORKDIR}/auto-root-login ${D}${bindir}/auto-root-login | ||
47 | install -m 0755 ${WORKDIR}/auto-getty ${D}${bindir}/auto-getty | ||
48 | } | ||