From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 19 Jun 2026 12:40:10 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f190.google.com (mail-lj1-f190.google.com [209.85.208.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 65JAe8NL001944 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 19 Jun 2026 12:40:08 +0200 Received: by mail-lj1-f190.google.com with SMTP id 38308e7fff4ca-399770df190sf13311921fa.2 for ; Fri, 19 Jun 2026 03:40:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1781865603; cv=pass; d=google.com; s=arc-20240605; b=Us5ZZWYCahu79VdvBDht+DikUof3/0LPqqo6amOasijYfbXV2CPY4q8+F6sdYawagB XA531aO5sZsJofC0Eah36znDnLdNARlAyIZ84lxPLiK5/0HZtky1qQ2yGrnPJ5zYH9sO 7Tu4QgdxMrihrSPoP06170p0noPsptl3L1SQPfw+qTqUjG3XpP+7aML7kwlStz8HaAID kAg3QPNMBwFO3kzuqklxHRi6rDZYHGQ0POX6Xt0I5m+i4GI+0IeaginrjlVTxQKEseK8 2u5OVJILFsHsx7DJm12cqrGlHgS861fLR10j6s3htDQRxcQ9vOItmAAS8ch8nwlBsxjd z8gw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=veEzlpvaPlNfg2wMdsv4rnMt/bhZt337FSn4k3yFxFY=; fh=dXjdUYUYpjHTlUuAAfTd2ixG+pB/fDBIW6uIUmAHDNE=; b=YnJivHj1CkcLzWPhclden4aVxaztDDca+1kSSRpgJaq+x9JKuMwC5gedBBkYevhc0E F1/7SEiyNE+/enziCNrHYOWwhOq5jvpPDdQE4hbqvCA/i6Ew8Yp0p75u/gUfVCiVzOxH enmYvYiNEN2zlQIjzFkuujNoHpk3D/M1g3LsARHPiyu3VhtcORmh6H297jumeOsHC/FS rcOoHPo262JZXMU8AsgXe5OiMqvnrhltHp8CsQwIv/olO7ohnCMsInsG9KsOCL2HLUqz /ve2nZ+BTOOP2PAU0xs+kRl5ElriKmGNJh8gRCRmSWCyFzKBLU/CA+V9uLxRjOIYQEc4 mTDw==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=n7vKONLj; spf=pass (google.com: domain of fm-1333022-20260619103958bf95b9610d000207bd-x2nvfm@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1333022-20260619103958bf95b9610d000207bd-x2nVFm@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1781865602; x=1782470402; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=veEzlpvaPlNfg2wMdsv4rnMt/bhZt337FSn4k3yFxFY=; b=yaTQ7omaOvCtQUqyqD3FOSyiWOFps6ofDjPQ7MA1d04Nyd6nHI10qJTutPfr6SXDUc lLUynvv+83aFmVbk/y9FSKN0X2JUMjv9gTnR2uMSluzRRh1FRxOQMfzkOriwRfLXmDG6 EnDmnwt/2WzzfaO1iOYQ9jiOUiSUgGz+VuhkRADmCuwB8I9DtEkgM2QTcPRtevFg4VBq 4hRVPwTZ1BIxm4N7wJ1P/eI7/ciTOnZ9Hko/eFE8KgBgzlzUH8oCTeP/ajf2kF/UEi4C scJrRlfCaWKseQDL7WDyzMjWpYx2Y3eArB9pb5nkrh86e1p3RM16PYn+9JTeErn7oRVv l+pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781865602; x=1782470402; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=veEzlpvaPlNfg2wMdsv4rnMt/bhZt337FSn4k3yFxFY=; b=NzlI7BjfFfmYfh7LpK9fFPniU9+g+Vitv6dePTT1GiiLERyaIUoJpT2P0/gjU9dZX8 1lgjXcvzCMpY7LDJ+iWnnGvbhk1JqWMwDMaJROAGcruWglUQzAkmmbz/SZHTGvYcfYTv TsbpYQepu/7oKupBklBkYFKOmGpuT5B1IRc36BnxDYsKVRHg9i9OZ+JqXIYatFnbMj/w ScFaL2pJNnvUsFLHZ9B9nnqHBQEJx3CtaaSETAeh+5iQxg+Y4VGF+fEFrM6PFP4+QFmy Pop+VEvQhf2+oqKcYZ2hHvAcxfhkAnBo/s/sGyZ5ZnrtBC2tSmOFhjzG/EH8CTTmYXvU vbpg== X-Forwarded-Encrypted: i=2; AFNElJ+HQ0yXYVIG+7n8fQXOWgH2Ouv9KGqolehbXcfY4JZsOGBpRrjaAWkHKT+eCS5Y5DbvYOjS@ilbers.de X-Gm-Message-State: AOJu0YxPowlxrgueK49ooLn2BOHCyevKd5vkZKSxA3IGsLXPobtuJTTT 0xHFDc6Pbobh7zEu9+D/+AzDeP/pt8avptVAJ7XLwIgEtqSenN3oGNMc X-Received: by 2002:a2e:a901:0:b0:394:148d:1653 with SMTP id 38308e7fff4ca-39989fde61bmr10591271fa.0.1781865602551; Fri, 19 Jun 2026 03:40:02 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUcxC2EQpfPhbHaqQONatj4PY3cIdH8qI2HGyx6aX/f0AA==" Received: by 2002:a05:651c:25d0:10b0:396:8005:f0d7 with SMTP id 38308e7fff4ca-3998a735ea8ls2976621fa.2.-pod-prod-05-eu; Fri, 19 Jun 2026 03:39:59 -0700 (PDT) X-Received: by 2002:a2e:be21:0:b0:38e:cab9:3637 with SMTP id 38308e7fff4ca-3998a2847a4mr8748111fa.18.1781865599345; Fri, 19 Jun 2026 03:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781865599; cv=none; d=google.com; s=arc-20240605; b=kFuhRWAkHzt6pGSrlSmQTp/WuSKyiGU1+ORbXqCeGFRdogY4EDrvpJ/wduQeS794FZ PhgJBKarXvF5yk9zAPdaNJKwCNxvkamADFCpLV6M9P9qg5MNLZU3s8QxaLPZJqtMS9mH FptjMrg+sQSyikjkpPOSMQYT2MGV4viu44qUkyrzxdfhzsVjSpKlOUSyWOCbskMZunUl ASajXNIfffLWBBPoc6h+zUHopzcW3sI/Wm2so/srd6en2i9rKG1qjzFli8HEz9Lml/6c mKnir3BOmRjBUq52TFCxQf3LZ7wQqpmIxSF7mneo4PwQric8dOD5ix9csdi+GPPENZ+O AM0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=qKWpsWQklmJW4qdENLBR+Ds2ddifazJnkGEr/Fl6DrY=; fh=gz0ZrJn6x76gX3XefOAliLWTyygDYYdGT/FXhQYr+zo=; b=XdVXNVhHxwJ69H5+UrvR642//KNRuuACVMxrCRQlOlZrcViuT9V/rzuxN2m1k+YQKz 8ixSJPB6Qizd91SrTvvWe8tpKRdJCpFFBRXpBE5Dysikcqf7cvWDMTZoftG/8VzJfivQ 20aa7kEKYWsgVGITw/e4ogPBUmmh2JnU7IK5StfIG8jVzEJkLc1sjhBi4pxdX0jVyNmI yfHMPD9ohaPKIpz2RLaHPR/nw+P8TNMhZN/bCLsjbzkWmCwhXBUlAu43tL5e8ydMp41a s6ozoaAYBh5mSDTf0TUSs+iTCXAWowzM1l4eNj0dlKtAb7Uy38XyR2Szj0udK3FJT2lr yVSg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=n7vKONLj; spf=pass (google.com: domain of fm-1333022-20260619103958bf95b9610d000207bd-x2nvfm@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1333022-20260619103958bf95b9610d000207bd-x2nVFm@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-3998c018188si339451fa.3.2026.06.19.03.39.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 Jun 2026 03:39:59 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1333022-20260619103958bf95b9610d000207bd-x2nvfm@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20260619103958bf95b9610d000207bd for ; Fri, 19 Jun 2026 12:39:58 +0200 From: "'Gourav Singh' via isar-users" To: isar-users@googlegroups.com Cc: Gourav Singh Subject: [PATCH] target-bootstrapper-service: add runtime serial tty drop-in generation Date: Fri, 19 Jun 2026 16:09:44 +0530 Message-Id: <20260619103944.1303513-1-gouravsingh@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1333022:519-21489:flowmailer X-Original-Sender: gouravsingh@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=n7vKONLj; spf=pass (google.com: domain of fm-1333022-20260619103958bf95b9610d000207bd-x2nvfm@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1333022-20260619103958bf95b9610d000207bd-x2nVFm@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Gourav Singh Reply-To: Gourav Singh Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: nNce9TekpPjB Extend the recipe to support dynamically detected serial consoles without taking over every getty instance. The existing loop still installs overrides for statically configured TARGET_BOOTSTRAPPER_TTY_SERVICES. In addition, a runtime oneshot service and helper script are installed to detect the first available serial tty (ttyACM*/ttyUSB*/ttyAMA*/ttyGS*) and create one matching serial-getty@.service.d override from a stored template. This keeps installer behavior on configured ttys, adds support for runtime-discovered serial devices, and preserves other consoles for normal login/debug access. Signed-off-by: Gourav Singh --- .../generate-target-bootstrapper-dropin.sh | 47 +++++++++++++++++++ .../files/postinst.tmpl | 3 ++ ...arget-bootstrapper-generate-dropin.service | 12 +++++ .../target-bootstrapper-service.bb | 14 +++++- 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 meta-isar/recipes-installer/target-bootstrapper-service/files/generate-target-bootstrapper-dropin.sh create mode 100644 meta-isar/recipes-installer/target-bootstrapper-service/files/target-bootstrapper-generate-dropin.service diff --git a/meta-isar/recipes-installer/target-bootstrapper-service/files/generate-target-bootstrapper-dropin.sh b/meta-isar/recipes-installer/target-bootstrapper-service/files/generate-target-bootstrapper-dropin.sh new file mode 100644 index 00000000..50c3ba40 --- /dev/null +++ b/meta-isar/recipes-installer/target-bootstrapper-service/files/generate-target-bootstrapper-dropin.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# This software is a part of Isar. +# Copyright (C) Siemens AG, 2026 +# +# SPDX-License-Identifier: MIT + +set -e + +OVERRIDE_DIR="/usr/lib/systemd/system" +DROP_IN_SUFFIX="d/10-target-bootstrapper.override.conf" + +# Check if override template exists +if [ ! -f "/usr/lib/target-bootstrapper.override.conf" ]; then + exit 0 +fi + +# Detect first available serial device (ttyACM*, ttyUSB*, ttyAMA*, etc.) +detect_first_serial_device() { + for pattern in ttyACM ttyUSB ttyAMA ttyGS; do + for dev in /dev/${pattern}*; do + if [ -c "$dev" ]; then + basename "$dev" + return 0 + fi + done + done +} + +DETECTED_TTY=$(detect_first_serial_device 2>/dev/null) + +if [ -z "$DETECTED_TTY" ]; then + exit 0 +fi + +# Map device name to getty service instance +# e.g. ttyACM0 -> serial-getty@ttyACM0.service +TTY_SERVICE="serial-getty@${DETECTED_TTY}.service" +DROP_IN_DIR="${OVERRIDE_DIR}/${TTY_SERVICE}.d" + +# Create drop-in directory and install override +mkdir -p "$DROP_IN_DIR" +cp "/usr/lib/target-bootstrapper.override.conf" "$DROP_IN_DIR/${DROP_IN_SUFFIX##*/}" + +# Reload systemd to pick up new drop-ins +systemctl daemon-reload || true + +exit 0 diff --git a/meta-isar/recipes-installer/target-bootstrapper-service/files/postinst.tmpl b/meta-isar/recipes-installer/target-bootstrapper-service/files/postinst.tmpl index 7c24af17..57851956 100644 --- a/meta-isar/recipes-installer/target-bootstrapper-service/files/postinst.tmpl +++ b/meta-isar/recipes-installer/target-bootstrapper-service/files/postinst.tmpl @@ -5,3 +5,6 @@ set -e for tty_service in ${TARGET_BOOTSTRAPPER_TTY_SERVICES}; do deb-systemd-helper enable ${tty_service} || true done + +# Enable the runtime detection service +deb-systemd-helper enable target-bootstrapper-generate-dropin.service || true diff --git a/meta-isar/recipes-installer/target-bootstrapper-service/files/target-bootstrapper-generate-dropin.service b/meta-isar/recipes-installer/target-bootstrapper-service/files/target-bootstrapper-generate-dropin.service new file mode 100644 index 00000000..38457c8d --- /dev/null +++ b/meta-isar/recipes-installer/target-bootstrapper-service/files/target-bootstrapper-generate-dropin.service @@ -0,0 +1,12 @@ +[Unit] +Description=Generate target-bootstrapper drop-in for detected serial devices +Before=serial-getty@.service getty@.service +After=dev-*.device + +[Service] +Type=oneshot +ExecStart=/usr/libexec/target-bootstrapper-service/generate-target-bootstrapper-dropin.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-isar/recipes-installer/target-bootstrapper-service/target-bootstrapper-service.bb b/meta-isar/recipes-installer/target-bootstrapper-service/target-bootstrapper-service.bb index e7a8b2a1..572cddcd 100644 --- a/meta-isar/recipes-installer/target-bootstrapper-service/target-bootstrapper-service.bb +++ b/meta-isar/recipes-installer/target-bootstrapper-service/target-bootstrapper-service.bb @@ -25,6 +25,8 @@ inherit dpkg-raw SRC_URI = "\ file://postinst.tmpl \ file://target-bootstrapper.override.conf \ + file://generate-target-bootstrapper-dropin.sh \ + file://target-bootstrapper-generate-dropin.service \ " TEMPLATE_FILES = "postinst.tmpl" @@ -33,11 +35,19 @@ TEMPLATE_VARS = "TARGET_BOOTSTRAPPER_TTY_SERVICES" DEPENDS += " target-bootstrapper" DEBIAN_DEPENDS = "target-bootstrapper" -do_install[cleandirs] = "${D}/usr/lib/systemd/system/" +do_install[cleandirs] = "${D}/usr/lib/systemd/system/ ${D}/usr/libexec" do_install() { for svc_name in ${TARGET_BOOTSTRAPPER_TTY_SERVICES} do - mkdir -p ${D}/usr/lib/systemd/system/${svc_name}.service.d/ + install -d -m 0755 ${D}/usr/lib/systemd/system/${svc_name}.service.d/ install -m 0644 ${WORKDIR}/target-bootstrapper.override.conf ${D}/usr/lib/systemd/system/${svc_name}.service.d/10-target-bootstrapper.override.conf done + + # Install script and service for runtime detection of serial devices + install -d -m 0755 ${D}/usr/libexec/${PN}/ + install -m 0755 ${WORKDIR}/generate-target-bootstrapper-dropin.sh ${D}/usr/libexec/${PN}/ + install -m 0644 ${WORKDIR}/target-bootstrapper-generate-dropin.service ${D}/usr/lib/systemd/system/ + + # Install override template for runtime use by the detection script + install -m 0644 ${WORKDIR}/target-bootstrapper.override.conf ${D}/usr/lib/target-bootstrapper.override.conf } -- 2.39.5 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260619103944.1303513-1-gouravsingh%40siemens.com.