From 5ca5344237bf2db7e513028ff570107e405ade5f Mon Sep 17 00:00:00 2001 From: Sonic Build Admin Date: Mon, 11 May 2026 04:57:51 +0000 Subject: [PATCH] [7215-C1] tty order and permission fix #### Why I did it 1) Fix order of TTY devices to start from 1 2) Fix permissions of tty files 3) Hide grub menu ##### Work item tracking - Microsoft ADO **(number only)**: #### How I did it #### How to verify it #### Which release branch to backport (provide reason below if selected) - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 - [ ] 202511 - [x] 202603 #### Tested branch (Please provide the tested image version) - [ ] - [ ] #### Description for the changelog #### Link to config_db schema for YANG module changes Signed-off-by: Sonic Build Admin #### A picture of a cute animal (not mandatory but encouraged) --- .../installer.conf | 1 + .../udevprefix.conf | 2 +- .../7215-c1/scripts/nokia-7215-postinit.sh | 39 +++++++++++++++++++ .../service/nokia-7215-postinit.service | 15 +++++++ .../7215-c1/sonic_platform/eeprom.py | 6 ++- .../sonic-platform-nokia-7215-c1.install | 2 + .../sonic-platform-nokia-7215-c1.postinst | 3 ++ 7 files changed, 65 insertions(+), 3 deletions(-) create mode 100755 platform/nokia-vs/sonic-platform-nokia/7215-c1/scripts/nokia-7215-postinit.sh create mode 100755 platform/nokia-vs/sonic-platform-nokia/7215-c1/service/nokia-7215-postinit.service diff --git a/device/nokia/arm64-nokia_ixs7215_c1xa-r0/installer.conf b/device/nokia/arm64-nokia_ixs7215_c1xa-r0/installer.conf index 9c969fb5d7..b8890a5870 100644 --- a/device/nokia/arm64-nokia_ixs7215_c1xa-r0/installer.conf +++ b/device/nokia/arm64-nokia_ixs7215_c1xa-r0/installer.conf @@ -1 +1,2 @@ ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="default_hugepagesz=32M hugepages=4 loglevel=4 efi_pstore.pstore_disable=1" +GRUB_SERIAL_COMMAND="set timeout_style=hidden" diff --git a/device/nokia/arm64-nokia_ixs7215_c1xa-r0/udevprefix.conf b/device/nokia/arm64-nokia_ixs7215_c1xa-r0/udevprefix.conf index 4c575395db..4e6798aa26 100644 --- a/device/nokia/arm64-nokia_ixs7215_c1xa-r0/udevprefix.conf +++ b/device/nokia/arm64-nokia_ixs7215_c1xa-r0/udevprefix.conf @@ -1 +1 @@ -ttyCO +ttyCR diff --git a/platform/nokia-vs/sonic-platform-nokia/7215-c1/scripts/nokia-7215-postinit.sh b/platform/nokia-vs/sonic-platform-nokia/7215-c1/scripts/nokia-7215-postinit.sh new file mode 100755 index 0000000000..785fd381c4 --- /dev/null +++ b/platform/nokia-vs/sonic-platform-nokia/7215-c1/scripts/nokia-7215-postinit.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# +# Nokia 7215 post-init platform script. +# +# - Creates /dev/ttyCR -> /dev/ttyCO symlinks so console clients +# can address ports by their physical 1-based numbering. + +set -u + +# - ttyCR symlinks for ttyCO0..ttyCO47 + +echo "[nokia-7215-postinit] waiting for /dev/ttyCO0" + +tty_timeout=10 +i=0 +while [ $i -lt $tty_timeout ]; do + if [ -e /dev/ttyCO0 ]; then + break + fi + sleep 1 + i=$((i + 1)) +done + +if [ ! -e /dev/ttyCO0 ]; then + echo "[nokia-7215-postinit] timeout (${tty_timeout}s) waiting for /dev/ttyCO0; skipping ttyCR symlinks" + exit 0 +fi + +echo "[nokia-7215-postinit] creating /dev/ttyCR1..48 -> /dev/ttyCO0..47 symlinks" +for n in $(seq 0 47); do + src="/dev/ttyCO${n}" + dst="/dev/ttyCR$((n + 1))" + if [ -e "$src" ]; then + chmod 666 "$src" + ln -sf "$src" "$dst" + fi +done + +exit 0 diff --git a/platform/nokia-vs/sonic-platform-nokia/7215-c1/service/nokia-7215-postinit.service b/platform/nokia-vs/sonic-platform-nokia/7215-c1/service/nokia-7215-postinit.service new file mode 100755 index 0000000000..b78ec288ad --- /dev/null +++ b/platform/nokia-vs/sonic-platform-nokia/7215-c1/service/nokia-7215-postinit.service @@ -0,0 +1,15 @@ +[Unit] +Description=Nokia-7215 Post-init Platform Service +ConditionPathExists=/usr/local/bin/nokia-7215-postinit.sh + +After=nokia-7215init.service +Wants=nokia-7215init.service + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/nokia-7215-postinit.sh +RemainAfterExit=yes +StandardOutput=tty + +[Install] +WantedBy=multi-user.target diff --git a/platform/nokia-vs/sonic-platform-nokia/7215-c1/sonic_platform/eeprom.py b/platform/nokia-vs/sonic-platform-nokia/7215-c1/sonic_platform/eeprom.py index 402c5d031c..28ee0e7ea4 100644 --- a/platform/nokia-vs/sonic-platform-nokia/7215-c1/sonic_platform/eeprom.py +++ b/platform/nokia-vs/sonic-platform-nokia/7215-c1/sonic_platform/eeprom.py @@ -40,13 +40,15 @@ def __init__(self, is_psu=False, psu_index=0, is_fan=False, fan_index=0): self.index = psu_index self.part_number = '1' self.model_str = 'NA' - self.serial_number = 'NA' + self.serial_number = 'NA' + self.service_tag = 'NA' if self.is_fan_eeprom: self.index = fan_index self.part_number = '1' self.model_str = 'NA' - self.serial_number = 'NA' + self.serial_number = 'NA' + self.service_tag = 'NA' def _load_system_eeprom(self): diff --git a/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.install b/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.install index 4f3e5d17a0..d29a6930f4 100644 --- a/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.install +++ b/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.install @@ -1,5 +1,7 @@ 7215-c1/scripts/nokia-7215-init.sh usr/local/bin +7215-c1/scripts/nokia-7215-postinit.sh usr/local/bin 7215-c1/scripts/cpu_wdt.py usr/local/bin 7215-c1/service/nokia-7215init.service etc/systemd/system +7215-c1/service/nokia-7215-postinit.service etc/systemd/system 7215-c1/service/cpu_wdt.service etc/systemd/system 7215-c1/sonic_platform-1.0-py3-none-any.whl usr/share/sonic/device/arm64-nokia_ixs7215_c1xa-r0 diff --git a/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.postinst b/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.postinst index e5a3c2e169..dfe9f7856c 100644 --- a/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.postinst +++ b/platform/nokia-vs/sonic-platform-nokia/debian/sonic-platform-nokia-7215-c1.postinst @@ -21,6 +21,7 @@ set -e case "$1" in configure) chmod a+x /usr/local/bin/nokia-7215-init.sh + chmod a+x /usr/local/bin/nokia-7215-postinit.sh depmod -a systemctl restart kmod systemctl enable nokia-7215init.service @@ -30,6 +31,8 @@ case "$1" in systemctl enable cpu_wdt.service systemctl start cpu_wdt.service + systemctl enable nokia-7215-postinit.service + systemctl start --no-block nokia-7215-postinit.service ;; abort-upgrade|abort-remove|abort-deconfigure)