diff options
Diffstat (limited to 'meta/recipes-core/sysvinit/sysvinit-inittab/start_getty')
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-inittab/start_getty | 22 |
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 |