summaryrefslogtreecommitdiff
path: root/meta-phosphor
diff options
context:
space:
mode:
authorVivekanand Veeracholan <vveerach@google.com>2021-12-04 04:09:52 +0300
committerPatrick Williams <patrick@stwcx.xyz>2021-12-21 01:31:06 +0300
commite29824360d02936fc1431f612bf89bb49d19b335 (patch)
treee6f13074cd689aa13942249e44c80e94de006042 /meta-phosphor
parent9d64df2df5368e56d6b76dcabbc12c02158c45c7 (diff)
downloadopenbmc-e29824360d02936fc1431f612bf89bb49d19b335.tar.xz
meta-phosphor: obmc-console: Add support for multiple ports
1. Add support to install multiple console port configuration files. OBMC_CONSOLE_TTYS is space separated list to set multiple ports. Defaults to OBMC_CONSOLE_HOST_TTY. 2. Prioritize picking up port specific configuration over generic one. Tested: Built for single and multi port configuration and verified the presence of correct config file in sysconf directory. Signed-off-by: Vivekanand Veeracholan <vveerach@google.com> Change-Id: Ic918b5830f972adbcfa14e2befa4e3420698825f
Diffstat (limited to 'meta-phosphor')
-rw-r--r--meta-phosphor/recipes-phosphor/console/obmc-console_git.bb54
1 files changed, 40 insertions, 14 deletions
diff --git a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
index 97b197c93..bda58aab7 100644
--- a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
+++ b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
@@ -40,24 +40,50 @@ FILES:${PN} += "${systemd_system_unitdir}/obmc-console-ssh@.service.d/use-socket
OBMC_CONSOLE_HOST_TTY ?= "ttyVUART0"
+# Support multiple TTY ports using space separated list.
+# Ex. OBMC_CONSOLE_TTYS = "ttyS1 ttyS2"
+OBMC_CONSOLE_TTYS ?= "${OBMC_CONSOLE_HOST_TTY}"
+
do_install:append() {
# Install the server configuration
install -m 0755 -d ${D}${sysconfdir}/${BPN}
- if test -f "${WORKDIR}/${BPN}.conf"; then
- # Remove the upstream-provided server configuration
- rm -f ${D}${sysconfdir}/${BPN}/server.ttyVUART0.conf
- # Install the old-style server configuration
- install -m 0644 ${WORKDIR}/${BPN}.conf ${D}${sysconfdir}/
- # Link the custom configuration to the required location
- ln -sr ${D}${sysconfdir}/${BPN}.conf ${D}${sysconfdir}/${BPN}/server.${OBMC_CONSOLE_HOST_TTY}.conf
- elif test -f "${WORKDIR}/server.${OBMC_CONSOLE_HOST_TTY}.conf" ; then
- # Remove the upstream-provided server configuration
+
+ # If the OBMC_CONSOLE_TTYS variable is used without the default OBMC_CONSOLE_HOST_TTY
+ # the port specific config file should be provided. If it is just OBMC_CONSOLE_HOST_TTY,
+ # use the old style which supports both port specific or obmc-console.conf method.
+ if [[ "${OBMC_CONSOLE_TTYS}" != "${OBMC_CONSOLE_HOST_TTY}" ]]; then
rm -f ${D}${sysconfdir}/${BPN}/server.ttyVUART0.conf
- # Install the package-provided new-style configuration
- install -m 0644 ${WORKDIR}/server.${OBMC_CONSOLE_HOST_TTY}.conf ${D}${sysconfdir}/${BPN}/
+
+ for CONSOLE in ${OBMC_CONSOLE_TTYS}
+ do
+ if test -f "${WORKDIR}/server.${CONSOLE}.conf" ; then
+ install -m 0644 ${WORKDIR}/server.${CONSOLE}.conf ${D}${sysconfdir}/${BPN}/
+ else
+ bberror "Must provide port specific config files when using OBMC_CONSOLE_TTYS" \
+ "Missing server.${CONSOLE}.conf"
+ fi
+ done
else
- # Otherwise, remove socket-id from the shipped configuration to
- # align with the lack of a client configuration file
- sed -ri '/^socket-id =/d' ${D}${sysconfdir}/${BPN}/server.${OBMC_CONSOLE_HOST_TTY}.conf
+ # Port specific config file is prioritized over generic conf file.
+ # If port specific config file is not present and generic "obmc-console.conf"
+ # exists, it will be used.
+ if test -f "${WORKDIR}/server.${OBMC_CONSOLE_TTYS}.conf" ; then
+ # Remove the upstream-provided server configuration
+ rm -f ${D}${sysconfdir}/${BPN}/server.ttyVUART0.conf
+ # Install the package-provided new-style configuration
+ install -m 0644 ${WORKDIR}/server.${OBMC_CONSOLE_TTYS}.conf ${D}${sysconfdir}/${BPN}/
+ elif test -f "${WORKDIR}/${BPN}.conf"; then
+ # Remove the upstream-provided server configuration
+ rm -f ${D}${sysconfdir}/${BPN}/server.ttyVUART0.conf
+ # Install the old-style server configuration
+ install -m 0644 ${WORKDIR}/${BPN}.conf ${D}${sysconfdir}/
+ # Link the custom configuration to the required location
+ ln -sr ${D}${sysconfdir}/${BPN}.conf ${D}${sysconfdir}/${BPN}/server.${OBMC_CONSOLE_TTYS}.conf
+ else
+ # Otherwise, remove socket-id from the shipped configuration to
+ # align with the lack of a client configuration file
+ sed -ri '/^socket-id =/d' ${D}${sysconfdir}/${BPN}/server.${OBMC_CONSOLE_TTYS}.conf
+ fi
fi
+
}