The hvc tty driver doesn't populate a file like /proc/tty/driver/serial,
so the current implementation of start_getty doesn't work for the hvc
console. By checking the /sys/class/tty/ for the tty device existence,
it should support more console types and also make the codes more simple.

Signed-off-by: Kevin Hao <kexin....@windriver.com>
---
 .../sysvinit/sysvinit-inittab/start_getty     | 44 ++-----------------
 1 file changed, 3 insertions(+), 41 deletions(-)

diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty 
b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index dfa799adac2e..699a1ead1a40 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -1,17 +1,4 @@
 #!/bin/sh
-###############################################################################
-# This script is used to automatically set up the serial console(s) on startup.
-# The variable SERIAL_CONSOLES can be set in meta/conf/machine/*.conf.
-# Script enhancement has been done based on Bug YOCTO #10844.
-# Most of the information is retrieved from /proc virtual filesystem containing
-# all the runtime system information (eg. system memory, device mount, etc).
-###############################################################################
-
-# Get active serial filename.
-active_serial=$(grep "serial" /proc/tty/drivers | cut -d/ -f1 | sed "s/ *$//")
-
-# Rephrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc).
-runtime_tty=$(echo $2 | grep -oh '[0-9]\+')
 
 # busybox' getty does this itself, util-linux' agetty needs extra help
 getty="/sbin/getty"
@@ -25,31 +12,6 @@ case $(readlink -f "${getty}") in
         ;;
 esac
 
-# Backup $IFS.
-DEFAULT_IFS=$IFS
-# Customize Internal Field Separator.
-IFS="$(printf '\n\t')"
-
-for line in $active_serial; do
-       # Check we have the file containing current active serial target index.
-       if [ -e "/proc/tty/driver/$line" ]
-        then
-               # Remove all unknown entries and discard the first line (desc).
-               activetty=$(grep -v "unknown" "/proc/tty/driver/$line" \
-                           | tail -n +2 | grep -oh "^\s*\S*[0-9]\+")
-               for active in $activetty; do
-                       # If indexes do match then enable the serial console.
-                       if [ $active -eq $runtime_tty ]
-                       then
-                               if [ -c /dev/$2 ]
-                               then
-                                   ${setsid:-} ${getty} -L $1 $2 $3
-                               fi
-                               break
-                       fi
-               done
-       fi
-done
-
-# Restore $IFS.
-IFS=$DEFAULT_IFS
+if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then
+       ${setsid:-} ${getty} -L $1 $2 $3
+fi
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#150266): 
https://lists.openembedded.org/g/openembedded-core/message/150266
Mute This Topic: https://lists.openembedded.org/mt/81913955/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to