#!/bin/sh
-####################################################################################
-# This script is use to automatic start serial console once power up.
-# Script enhancement has been done base on Bug YOCTO 10844.
-# Configuration can be done in meta/conf/machine/*.conf variable SERIAL_CONSOLES.
-# Most of the information is retrieve from /proc virtual filesystem which
-# contain all the runtime system information (eg. system memory, device mount, etc).
-####################################################################################
+###############################################################################
+# 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/ *$//")
-# Re-phrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc).
+# Rephrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc).
runtime_tty=$(echo $2 | grep -oh '[0-9]')
# Backup $IFS.
IFS="$(printf '\n\t')"
for line in $active_serial; do
- # File is availability, file content current active serial target index.
+ # Check we have the file containing current active serial target index.
if [ -e "/proc/tty/driver/$line" ]
then
- # File content a lot of unknown serial. We use -v to remove all unmatch and get left off.
- # Tail use to avoid 1st line included into the filter because 1st line is file description.
- activetty=$(grep -v "unknown" "/proc/tty/driver/$line" | tail -n +2 | grep -oh "^\s*\S*[0-9]")
+ # 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
- # Check if both index is match then proceed to enable the serial console.
+ # If indexes do match then enable the serial console.
if [ $active -eq $runtime_tty ]
then
if [ -c /dev/$2 ]