From patchwork Mon Mar 10 07:03:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4085 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 10 Mar 2025 08:03:30 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pj1-f59.google.com (mail-pj1-f59.google.com [209.85.216.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52A73SwE008662 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Mar 2025 08:03:29 +0100 Received: by mail-pj1-f59.google.com with SMTP id 98e67ed59e1d1-2ff68033070sf6381727a91.2 for ; Mon, 10 Mar 2025 00:03:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1741590202; cv=pass; d=google.com; s=arc-20240605; b=M81NSWKSk+xfSS5A3ZAUtNJUSPN79QbrR/30Ud6/z0X6eO09478six/Frfytc3urPj oU+x8KmeS15retpzbgMkK4nYy5J11GKbwbGBqoOAS8f2vrd6g1mwydL/uI8DtOytpIqP /J4+dyfeVyRywh87opgGkAKvafTUwZbEJn0JUO7/lnWkoASOMz7tkSia8+2r4mluEGaM SFr0parfIWok8jVhGNpEj84kZMI9ur5KVQ9Yo6p0Oxx8GJ2hak4lbBhRsZEvZO3NUc3S KLXhNBqPCDfL1SSmxAoqM3Yfg8q/pBBV47MW7C6iLxiGF9FLMj5dtGYhyhjKlViXC9Wo NPcw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9dUKBSK0x5HCDMtX95P2HMzwWXJ1vN9k4Sh6M9VIDDE=; fh=YSInIhIHsJj/nXLYctcRRKB1T8UE9uzPmbvlYrMRxew=; b=UZCWDAI18W+Q55MX/Z1Xyr+su+NY9mhjklAC/WeSuSiSzp6mrLDh1pJ4CaOSueJOzh Ye2njUCf3sfm90JV1RnMHj0BvxaIHdolY4TlgKQHRfMNSI8MT5KXOGKhbar23FS0u1wU twXwx9wFnadiTEeSf/hPWEU3//7DcHJNge5SUw4z4Y9oxMBN1W+HwjHNxI9ehlzLyhp2 ACYnI2yCcGbu8vbpael4LHQKRFx4OhQuuThRA4/61IEQNYH3gkKp5gKRIxcXzxUCfi3K iQXCwdgQCW6EoNlp+Rur+nKRUuVHkUIUMoU7uHDvxzkE3gfUzekOrNdUzlFoNdjMQz9T 7c3A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TPsYKcqq; spf=pass (google.com: domain of fm-1328757-20250310070314c78cddf521bed9ba42-rv84ep@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250310070314c78cddf521bed9ba42-RV84ep@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=1741590202; x=1742195002; 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:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=9dUKBSK0x5HCDMtX95P2HMzwWXJ1vN9k4Sh6M9VIDDE=; b=swZFfmKaKWTLL8tqr1c/ETwN6R81sobem3D7cLuEPk3jqmGz5mjKLHNVTRfv3nT2Jd pVi6Uwg4D2QVoW4kpIeMQupdJtjtWqBWsNs4RgFE7TjZAxfAL05UiE6HpyuGE+HsgUs3 GSMdQt7SjvR3W0eVm5JBa04VxPwFEE9GmUVfd2r4tC+aFJihJ/o2hVAB4P8Sf5+5pY6l S1LuO5GE4AjCO4IHJ35aU+hPsfXWkCEX9K4t6BUzB5P3AtVq8jVuusQ8+yRcNAazlbhr b9BbksnzRFGOqoYo2ju+HrrKB0rgUA3bPNdZNRcmIe83YpuYP/6AI34i8A1Cp53f066U ScrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741590202; x=1742195002; 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:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9dUKBSK0x5HCDMtX95P2HMzwWXJ1vN9k4Sh6M9VIDDE=; b=doAG0L19zRlcymLzhzHGaS2DxyQ/7YwhfeIkl87l/g4ysvpIo1HnOiw9RpxnrtDYX2 F5cuTMbs5yzDPuZ3eV8X595YcsUHZs/qyIXcMhXbjRAfLUKIGWYOKLbw0C4xSWDrghRI byxse0MThMck/5OlsZ7HPC/uT1IVw4YSq99Lx8MDU5Y7dzNcLPhIYSkiRgOJ8A75M7++ XwBInxdULJVOpgBe/sczTpnixHSMlMLOHyIjg2Od/7KhQBdCBigIzc6wljkp8jS/XDOd f9wavOfB4UZRnpqxM38Y0h+Jstb52iYEqx0dR80Ev8ANoPPH1kkxVT+HhqZvHGdkwdsB nWjg== X-Forwarded-Encrypted: i=2; AJvYcCUax6ikT3PZ3WRYH+9revIa6SWbYruVRnWrpOoyhykye8G8YSvxLzeWcuGfiMbQuoM+qX92ZOA=@isar-build.org X-Gm-Message-State: AOJu0YwSJXEH0KOVYhF5gFByGPQUSthBnz63EXbnC1Y4MvcjlG1hnPvn e8/lnd7hxMoPVZ2dQGQAVTKf6pfkbOUkW052OqO+RrkQ63rICTBT X-Google-Smtp-Source: AGHT+IGjiPzJ1rRD0ogIyvLFg7/2ZgV6wZEMafhBjolBrjLFXFBkINbYefKUj6Tv7lIyWZQyo9KPgA== X-Received: by 2002:a17:90b:3c92:b0:2ee:d371:3227 with SMTP id 98e67ed59e1d1-2ff7ce9e9cbmr22484916a91.17.1741590202437; Mon, 10 Mar 2025 00:03:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVHC+6xbq7HjLXbeHzkcTCpR1ikzmN68uJqCwLjyWuLJvw== Received: by 2002:a17:902:f2d1:b0:21f:6ba4:85c7 with SMTP id d9443c01a7336-22409148fe2ls34537285ad.2.-pod-prod-01-us; Mon, 10 Mar 2025 00:03:19 -0700 (PDT) X-Received: by 2002:a17:903:2405:b0:223:5e6a:57ab with SMTP id d9443c01a7336-22428bdb681mr186780105ad.39.1741590199109; Mon, 10 Mar 2025 00:03:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741590199; cv=none; d=google.com; s=arc-20240605; b=hJbKJEIZnzGVlmI6+dslAmcweC/tJCM/gxheWNImJgR2NrnAYbP0dF3QckXcpAMupv zGYdtobl7gecPvBWNcc3RiL2V7q77ngW5JK8Lc2sWkkf1nh3m31CO52Ptl1SJbeTXIUS jXxVN27oEZEZOCVnt09sId0Yc1OQxCvLOJJj9/305B0wcXoczhY2ePHsMwqqEjzgLi3n ED6meeVmJrFMCJcvprQjQb15ii0Q6lQbELu7yjACB8GFt59iarzk02O1WWTOTgey+3kk sxx766NNohutl3Nkk5/AVXjGi4EtLOw6fbxTMAZxR+I646dUcRf5hFf6SKevvMxJ1JBb qxbA== 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:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=qxb27mzXm5PDgQCKkuj+0tIEYgHYoOUYDGIUx9aWg5I=; fh=pR4tJPO4NbHlIB/rP4bIo54Z1zh5hd/ksAGQ0tcKkYM=; b=bVUlfzL5BgQPtzZTBGY5nTrjDFMuLVVhBTZgWk2hxEZWxZq9cpIR4xVirPC8hIW3oF I5nhFgVHCfdGwqs1C/OaDzcHx5aw5ADDto2YMAT9qOISyQgkIRkTs6h9d4akRbOj/eJL La+AXJBEn3ZKqmPJndMBN43CPlcnQBA3AO4hcnHE3JQuHR5IVo+MjMz+D9PGCVqmGtj9 YhkKGIGJauxZOb6c2fL+6TR1Iu2DryKUvLVvgDKiAl52bKcF0lYJz4B3sO2YRK/AyBZw nj64xHkUwzN3J/9qOFTFLi3+XcHE+4fleGSFMULzQPi0iBg613tF1iA+sF0F8+KmvDM9 BrtA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TPsYKcqq; spf=pass (google.com: domain of fm-1328757-20250310070314c78cddf521bed9ba42-rv84ep@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250310070314c78cddf521bed9ba42-RV84ep@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-224109d01b7si4029865ad.2.2025.03.10.00.03.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Mar 2025 00:03:19 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328757-20250310070314c78cddf521bed9ba42-rv84ep@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20250310070314c78cddf521bed9ba42 for ; Mon, 10 Mar 2025 08:03:14 +0100 X-Patchwork-Original-From: "'Kasturi Shekar' via isar-users" From: Kasturi Shekar To: isar-users@googlegroups.com Cc: Kasturi Shekar Subject: [PATCH v3] isar-installer: show progress bar during bmaptool copy process Date: Mon, 10 Mar 2025 12:33:04 +0530 Message-Id: <20250310070304.272969-1-kasturi.shekar@siemens.com> In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328757:519-21489:flowmailer X-Original-Sender: kasturi.shekar@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TPsYKcqq; spf=pass (google.com: domain of fm-1328757-20250310070314c78cddf521bed9ba42-rv84ep@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250310070314c78cddf521bed9ba42-RV84ep@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Kasturi Shekar Reply-To: Kasturi Shekar 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_H3,RCVD_IN_MSPIKE_WL, 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?= - Added support for a progress gauge using a named pipe to capture and display percentage progress when using `bmaptool`. - The progress bar is displayed only when the `bmaptool` version is 3.8 or above, as versions prior to 3.8 has some issues with `--psplash-pipe` flag. - For `bmaptool` versions below 3.8, the image copy process continues without a progress bar to maintain compatibility. - The gauge uses `dialog --gauge` to dynamically update the progress based on output from the `bmaptool` process. Signed-off-by: Kasturi Shekar --- .../files/usr/bin/deploy-image-wic.sh | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) 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 7f552eee..9743bfe6 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 @@ -149,8 +149,48 @@ if ! $installer_unattended; then clear fi -if ! bmaptool copy ${bmap_options} "$installer_image_uri" "${installer_target_dev}"; then - exit 1 +# Function to compare version numbers +version_ge() { + if [ "$(printf '%s\n' "$1"X "$2" | sort -V | head -n 1)" != "$1"X ]; then + return 0 + else + return 1 + fi +} + +# Get bmap-tools version using dpkg-query +bmap_version=$(dpkg-query -W -f='${Version}' bmap-tools | awk -F'[~+-]' '{ print $1 }') + +if version_ge "$bmap_version" "3.8"; then + # Create a named pipe for progress communication + progress_pipe="/tmp/progress" + if ! mkfifo "$progress_pipe"; then + echo "Error: Failed to create named pipe $progress_pipe" + exit 1 + fi + + # Initialize the dialog gauge and update it dynamically + ( + while true; do + if read -r line < "$progress_pipe"; then + percentage=$(echo "$line" | awk '{ print $2 }') + echo "$percentage" + fi + done + ) | dialog --gauge "Flashing image, please wait..." 10 70 0 & + + # Run bmaptool with psplash updating progress + if ! bmaptool -q copy ${bmap_options} --psplash-pipe="$progress_pipe" "$installer_image_uri" "$installer_target_dev"; then + exit 1 + fi + + # Clean up the named pipe after completion + rm "$progress_pipe" + +else + if ! bmaptool copy ${bmap_options} "$installer_image_uri" "$installer_target_dev"; then + exit 1 + fi fi if ! $installer_unattended; then