summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/sysvinit/sysvinit-inittab/start_getty')
-rw-r--r--meta/recipes-core/sysvinit/sysvinit-inittab/start_getty22
1 files changed, 19 insertions, 3 deletions
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index 6eaeb7a2b0..f60409eae3 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -1,5 +1,21 @@
#!/bin/sh
-if [ -c /dev/$2 ]
-then
- /sbin/getty -L $1 $2
+
+# busybox' getty does this itself, util-linux' agetty needs extra help
+getty="/sbin/getty"
+case $(readlink -f "${getty}") in
+ */busybox*)
+ ;;
+ *)
+ if [ -x "/usr/bin/setsid" ] ; then
+ setsid="/usr/bin/setsid"
+ fi
+ options=""
+ ;;
+esac
+
+if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then
+ ${setsid:-} ${getty} ${options:-} -L $1 $2 $3
+else
+ # Prevent respawning to fast error if /dev entry does not exist
+ sleep 1000
fi