From patchwork Thu Dec 25 21:31:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Badrikesh Prusty X-Patchwork-Id: 4783 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 25 Dec 2025 22:32:51 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f62.google.com (mail-wm1-f62.google.com [209.85.128.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5BPLWon7027333 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 25 Dec 2025 22:32:50 +0100 Received: by mail-wm1-f62.google.com with SMTP id 5b1f17b1804b1-4792bd2c290sf63864085e9.1 for ; Thu, 25 Dec 2025 13:32:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1766698365; cv=pass; d=google.com; s=arc-20240605; b=ismaPANgLzlS9tV0Kp8onVwNy/y3AotiYcCm5YjrWuzOIxdE5D6jHCUjl6zFz/48Lr 14ZTjsB3xun8ftceBex7zfaFcZZ3PpL89M620kDaP8EG1mxudUSCBYpwhM1iJNm07hvu 2K6h59HcA6z8y4EX8iOSGX8CHmG9TvINEKSCn/08TsLrFkc7hd5uqbXeE9yhOnUGI3fr YYdV7WbSRkmwFmlfgvuxGjr+M4Z6vKjrT8TJ0SSIgw8c2FLiHhhdRFTd7qc2UtSt5yfL gWjTEcff+GwXcv9/YZExzxPWmvSl5UKqNHlpemi1Pycb76E7FcmymJfbMsIW96rSfuaT EFCw== 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=rRapVSCJfUMGz3/gUyMy1uoiF9qGbpiU9qOtXCMnQ/k=; fh=RrHpc2ok5GXOzgGXfO6Fpfo0tRUrfNzI+0JdGPhF8k4=; b=ijjPawoC4hwinYH17do7IfiWkWlu7q8uq/vIkVCRwWL7ZyzeaLrUuQR/E4Go+NPBwf fFLo8jKSjvJl3XzMeeQ6vyOgyzmwqkPcpWPISGfrb3okQsY5uFOExAFbHcpmjEJjBbKS ZV//w242oFeXSmvWXS/38exSNwRhmU4r8hixTzK7PtRfFQPxAiyAzSnVLMWuWeWQ0esj tYi8KMoOvXUZL7YnpkwBTlxe1noaVSm02QiFn/KxO20G8iUF3HLAynSRtt2dfwxGnwe3 q7y2LME2ZigDmfLco0sLOauoppgOrvPs7qZ5Sswtm7dr51Y18SbmwZnlKU5SegXNqxCV 5bjQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Ygqako1d; spf=pass (google.com: domain of fm-1328765-2025122521324167def2dd3700020795-ozov_t@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328765-2025122521324167def2dd3700020795-OZOV_t@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=20230601; t=1766698365; x=1767303165; darn=isar-build.org; 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=rRapVSCJfUMGz3/gUyMy1uoiF9qGbpiU9qOtXCMnQ/k=; b=obalnUgauI/74u2V7Gn2KvqJgWVunokvc4vdfVTzSsbMVcipdIS3qXJOMHzeGNIbLO PTFB/oHORtyhH7ZYRZug6FFm7shGdj0vDmtyNbCVmswmmbf/loRBV5/xtqcjYJDJimyO vckNAHshoENLqZ4eBpKYFZT8UhxVAH4QH7M8HRA4bwqN86HwdQzdhvNO2TckUmL0xrKu Q2X7SBkp0xKIjK5SdjjMTMQepGawNOPFjLQd6qRxgCHg02qBGBH+ppJBAg0ewaupsYHD jI03nxoxlVrbMqEXrB8pqkQuY2rdU03K7nEqZ6u3UMR8qvfwwlma4Vk/RXnGCc9QrgHJ Bodg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766698365; x=1767303165; 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=rRapVSCJfUMGz3/gUyMy1uoiF9qGbpiU9qOtXCMnQ/k=; b=O9zX9xUiPPnx1MRBmACE0xBW4dN7GrwHHazkYYj+qo2PvYpIeGg1ZuS7Ln3yjBA/LC C6ln5IJJUcdnmbI2FXqgLGc1q9Dp454vgbCWSjNPVXW18SrKdan/X7/u61CHY4SMktE/ jll5JGlmbx+RqRiJPgqH22zxoXxHuBdcLJalltyl8JXcDOlN1wWjEfoEhTL9hslovK4z Q/spjIHZ6gC4TMB3PSTynnbqZK/+5PvIiLLk9AsBGRMOAvZ1BUypMiLAwMkvSuxIihgh Ka0SD8cHj3Ea0kPukHJsxomlz7DcZHbRNpK3W0QJD0STSNCS52KcVNOIYC0gSqDFZ1nH o/Bg== X-Forwarded-Encrypted: i=2; AJvYcCWNjREwdcmNJ196Wr22TX4VTB5VVxN8Qk4EGH6ib9va3vjGGunQpFmzEsAw2Vot/924LuPCKT4=@isar-build.org X-Gm-Message-State: AOJu0YxM5H60TCSolVJc2d7lOSRejPnrD7V/TkXixTtZJQTrsmduaj68 GHkCPA7uVfNrI8OJJK8DoVf87QORO6kDD699QIxLORQyyjb0YIj+emAY X-Google-Smtp-Source: AGHT+IFadscZktqt3yrA/uLcL192zNWd7I3vr299Mx+xjvJMvamiVg4G9DUnuTrvWCnzZ7AjqzYccg== X-Received: by 2002:a05:600c:4746:b0:47d:3690:7490 with SMTP id 5b1f17b1804b1-47d369076b3mr100817075e9.9.1766698364569; Thu, 25 Dec 2025 13:32:44 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AWVwgWZx9KvSpyadg2W9nEc8jGvLO/jDwtSZ0aftDieQGV3gag==" Received: by 2002:a05:600c:5487:b0:479:10b7:a7cb with SMTP id 5b1f17b1804b1-47a8ec77875ls88485535e9.2.-pod-prod-02-eu; Thu, 25 Dec 2025 13:32:42 -0800 (PST) X-Received: by 2002:a05:600c:3b92:b0:477:6d96:b3ca with SMTP id 5b1f17b1804b1-47d1955b7e9mr240691055e9.5.1766698362188; Thu, 25 Dec 2025 13:32:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1766698362; cv=none; d=google.com; s=arc-20240605; b=Onym3Af5qFKeic3pNraSBguQSdcr52EUV4jD7yOspZVK/xYt2cKlY9KykFSFnQ6B56 UgHgqfnpLQ89jQZ8MgkxxmURaiwouLIl7BpJaZfiea+ffQqipjEK4Sf33V8tt18LVyvA oK+PKDdDwTcn0dL499HdceJ/7S8NVbBlaxXBQyq73pAjJM8TVPR74sGRmlP+s+9QLgdF fflJuPDBGA204P7YxIHyhSKKrKfvtxxE0zOE3DYD8+EMbqsumNCwUnysfFPxOqMwfEdY oIceuoH+oOpXFpm7MefTK11sz4xc+oRuBI5Ss/b6PDDVWfW0110+5T0g91bF0WNzaUyW ZW5Q== 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=SuW2Sh9/sAxk7++c68fLYd2TN27oqMiwiwCSmzVF0kQ=; fh=Pt40xOu0ssl96dVOzN1FNmNtHgqv9aW9VmLrBG8UyVY=; b=MFMHEYQINfiUX2FUAMkuefDAylb/rYJ9mO7hzm6rcegqPeYkPjUiNtkI49GnJ/9veR MUh4t58tkzhVfTWj4ts6OQ3r51e1bvHNqJ8iGnK2gEilZpS54JjcTzMM/ClfoJj8+K5O POwoquQnnyoTL1oa/f1or36yv5BioIY4Y+isbdwoon2lwai/ft+fIWvmyEpmvtUhKA0S /EUneoMag618ehMmVUcyLMO4ol4zuvh6R2OnbAft6tsfuFRehfzFBeoxLiiQBFiuvPKz udTi/TxpzPDHmnnWmo/XZMVgifx8wk5c5xVgcoggfpdD9khhwffmtu0IrRTqUezk7icZ zl8A==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Ygqako1d; spf=pass (google.com: domain of fm-1328765-2025122521324167def2dd3700020795-ozov_t@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328765-2025122521324167def2dd3700020795-OZOV_t@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-47be3a79ffasi2000875e9.3.2025.12.25.13.32.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Dec 2025 13:32:41 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1328765-2025122521324167def2dd3700020795-ozov_t@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 2025122521324167def2dd3700020795 for ; Thu, 25 Dec 2025 22:32:41 +0100 X-Patchwork-Original-From: "'Badrikesh Prusty' via isar-users" From: Badrikesh Prusty To: isar-users@googlegroups.com Cc: Badrikesh Prusty Subject: [PATCH] installer: allow unattended mode to abort with keypress Date: Thu, 25 Dec 2025 16:31:57 -0500 Message-ID: <20251225213157.1219552-1-badrikesh.prusty@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328765:519-21489:flowmailer X-Original-Sender: badrikesh.prusty@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Ygqako1d; spf=pass (google.com: domain of fm-1328765-2025122521324167def2dd3700020795-ozov_t@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328765-2025122521324167def2dd3700020795-OZOV_t@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Badrikesh Prusty Reply-To: Badrikesh Prusty 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Add a 5-second countdown before unattended installation starts. Allow users to abort unattended mode via keypress. Notify all console instances via a shared file (`/tmp/attended_mode_trigger`) so the abort applies across all consoles. Signed-off-by: Badrikesh Prusty --- RECIPE-API-CHANGELOG.md | 6 ++++++ .../files/usr/bin/deploy-image-wic.sh | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 3af91541..cd1f1fd4 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -941,3 +941,9 @@ Example: To bundle multiple target images, set the following in local.conf: ``` INSTALLER_TARGET_IMAGES = "isar-image-base isar-image-debug isar-image-ci" ``` + +### Allow unattended installation to be interrupted by keypress + +Add a 5-second countdown before unattended installation starts. Allow users to +abort unattended mode via keypress. Notify all console instances via a shared +file (`/tmp/attended_mode_trigger`) so the abort applies across all consoles. diff --git a/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh b/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh index 9bd47e9f..5736a861 100755 --- a/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh +++ b/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh @@ -10,6 +10,21 @@ SCRIPT_DIR=$( dirname -- "$( readlink -f -- "$0"; )"; ) . "${SCRIPT_DIR}/../lib/deploy-image-wic/handle-config.sh" +if $installer_unattended; then + abort_file=/tmp/attended_mode_trigger + for ((i=5; i>0; i--)); do + echo -ne "\rUnattended installation will start in $i seconds. Press any key to switch to attended mode..." + + # Switch to attended mode if the abort file exists or any key pressed during countdown + # Create abort file to notify all other console instances to abort + if [ -f "$abort_file" ] || read -n 1 -t 1; then + installer_unattended=false + touch "$abort_file" + break + fi + done +fi + if ! $installer_unattended; then installer_image_uri=$(find "$installdata" -type f -iname "*.wic*" -a -not -iname "*.wic.bmap" -exec basename {} \;) if [ -z "$installer_image_uri" ] || [ ! -f "$installdata/$installer_image_uri" ]; then