From patchwork Fri Mar 14 06:28:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4096 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 14 Mar 2025 07:28:49 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f58.google.com (mail-wm1-f58.google.com [209.85.128.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52E6Sn5D029928 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 14 Mar 2025 07:28:49 +0100 Received: by mail-wm1-f58.google.com with SMTP id 5b1f17b1804b1-438e4e9a53fsf13280055e9.1 for ; Thu, 13 Mar 2025 23:28:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1741933723; cv=pass; d=google.com; s=arc-20240605; b=Cbu32Ueyh8xYeQxlZu/1gj/0+4hV0m6BdsQWYph9lrDB39etIzRWnm9Mp64h80PP23 EP0rAldSvGvR1GPfE+lEfxx39s5xwk7GCLoKFu1E8lDtuRTOfRDytkkvf+suUfrYt07p rlLNJDDOeZNN8YEACgaShwNJI+zSf7gfSTX4d6F5Itc1kfbH3vtEKQof7HS3k0tpU9YK 87uVqmAdfQ05biGIuZ8hOc/O2K9cidLhBRn+M0wKq170kCEK7iFgh9LRR0xpXHeCldp0 xlBj52rHNuq5GTqrZQlqe73V6cgLl2B/82JTp3GWk8OlxGRKt+FzTDNvvcWYBo0Vcxyj bDUw== 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=xaxrtU8Fg0Hc8ATiiu7Ay6RcdF1IFPU8xtKtXR6oq5w=; fh=YDvMieB1+G8CWfCKPrYN/xuzoLdobZig4oAupBu0rBk=; b=Oe+ncIAy9scaXFhODPqsmTx05rAh2e06qONQmzD8XRUo85RjYzvBcstsJjEboR/BrT wNdQzVBALKQs0lKcv4YC6JOfIYlENKXD5zqxkGp3dfa4jWEudUcvNDLssvwkaWxbo8hM 0xT86bdDAA+A31d1oLvplapH4d2PKqoCVor3PCko+yZ9eHlQV6BeWrGfay4AZXIe4Qm0 BpSv8TYS6S2k/x+qw8BzDDa1m0YRqC6W9wvDcLGICjvWeCT/Ir4ed5K6kAit+ZdpgXTV 9LA1ZpU5cJkQJJ7Xe5d2dYUfK1S8i1uMkQCISLXqez1UO6z9HaaI7eCTngY1PJnZh5vF e5uQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=e2NTI+7T; spf=pass (google.com: domain of fm-1328757-202503140628401d657dede5f3643bd1-yqonup@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1328757-202503140628401d657dede5f3643bd1-YqOnuP@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=1741933723; x=1742538523; 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=xaxrtU8Fg0Hc8ATiiu7Ay6RcdF1IFPU8xtKtXR6oq5w=; b=eH60FvxVHSoG2W/aqL/Vkya1XAfpxdDLZt49bwT4fYiE+9QpGhD3pa0qtnqrQktr6r uZEX8h1PAXtidEmyKCrSI48zQiEyJC4qX/ZOq0v2fnktovAEOtlM7sCowJC5noKg+e2d Wt1+CSCG4hueVD68/i8dgbJK1DmDt14rFyC3GUHU973Jae29vkXHRn0Jfj/6CGv5H1VU wiQDlcFSivoEw2VdPT8+Jqi9FXkB3TaEIHPrx9CwBFXTBuH5BhonfVePkTDXJw58iUgG P4q9ITSW7ljFMs7V9vJTj9JviKWW9IoHbgAtMhrkdLBZ+jNeur4K8l8jv++wTINYTyGW RnSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741933723; x=1742538523; 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=xaxrtU8Fg0Hc8ATiiu7Ay6RcdF1IFPU8xtKtXR6oq5w=; b=rSGkHrd779/3Bk1awYIQ3L3ljdP7d1UocT+REN3407vUa1O+H01oGLdC77RiE8bucg uJZ7D9R/6hBPSmJHhYf0nuBHXb3XLoy9vrutvTS59qcfP2L+avkHTK8EMP+l59GXSWIs BA7VFFjJ9CxtnbqW4BVfG0WKCGMAE7MxP1TuIGGVKAQZcn8Y9nsl1yMB8OTaNXUeb0Gm g1eSJ6e8OmQOkKiEd4pud6sz2H7EHb+fjN1fM2T07uy8yIxXUx036ln4tH7zzo5i2aPv eh88huSRxUyWsOhi5keJZeB4Ppenn/JxEN8WhpQ1cf2kIy1rvXS+aeVKhA/1/qzUIVEj BNyA== X-Forwarded-Encrypted: i=2; AJvYcCXcQgueJp0xJGqo7JhuYQa9qX7ZrbcbMOKNmY1+fWyYSTnV9I0Vx6zgIfU+s9PW2A9XO6SqMtU=@isar-build.org X-Gm-Message-State: AOJu0YwWdMHdp5pqsOfPPzYkkTAA4DoFryPmdAmNYG2113cQT3f+ppRZ JFKVUjnZH4xkWxJeM8eV3VloJYLCJpqwDC6bCoq56OCiFmvQ/DBz X-Google-Smtp-Source: AGHT+IHmdOfcbCfv2+vYTZUOLw8msHdCm3yKkQlxxhDpY2XbJpDbKVtmT5HgNEKd63u5SsjX8MqoCQ== X-Received: by 2002:a05:600c:4f0c:b0:43c:ed61:2c26 with SMTP id 5b1f17b1804b1-43d1ec8cac8mr15424495e9.17.1741933723122; Thu, 13 Mar 2025 23:28:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVFe1CKfg3LmInDydzQC6F5yrKJJvNW7Aw9t7kz7ux49YA== Received: by 2002:a05:600c:4991:b0:43c:ef03:56fa with SMTP id 5b1f17b1804b1-43d1fc2aaf5ls856105e9.2.-pod-prod-02-eu; Thu, 13 Mar 2025 23:28:41 -0700 (PDT) X-Received: by 2002:a05:600c:4708:b0:43c:f184:2e16 with SMTP id 5b1f17b1804b1-43d1ec72502mr17941985e9.5.1741933720925; Thu, 13 Mar 2025 23:28:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741933720; cv=none; d=google.com; s=arc-20240605; b=Hp+7Sswpuxowkvb+4bRm3SLylvYgwKpcVMYwviXkMGLV3TrdNOA00HTbE9P+H/65Fe e0mKah+MyNVi4U+bsSkok4Ed4Knn1rSNQRIo9XDxbtOckHyFHEw17Futr2zgIS5acZ0M OZzNxS2p3IFVKLUiZhR/EC22FkYnoyjeCebuXEpoQ/6ksEJwAKBcgaQ3HGIDr7qB+b+a ddC8W45ZIOmtDaYr0HchqN7g+MmN8C4cHhS6ltdBvfvE1I11nTmvtz0Yt0g22S6mRqbh K1ZtrFlyK5ToQGRMAzk4dpxzeXG2QaxFJNWeZzUd2FI3EVJTJsVr1WINo0IK5hu+lgcF XYkA== 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=kcLFPG8q24RzuQcWBidXXl0LQVFbzDRHUNTj8eckKzQ=; fh=pR4tJPO4NbHlIB/rP4bIo54Z1zh5hd/ksAGQ0tcKkYM=; b=EZiz1BpkvRbUYcPSg1b+P/mba4go4UnAlw1vuttDctVjY+L8wrqs6lOLxGeCl6WZu+ r0uwmsF2iGHq1e5h7jVZR5BTOzokr0v3+FMZ7k3XFboCi4099123No4ogS38X7ZBoDem Cub10jQh9YFiENw2vOeqfQR4J2rXT+CFGeOhL27OHiZSWJU7UEK34ke+5d3+GGfQtYsg 0PzAuT97ILcMzGJtCT3L/UozESPT0lMexFBk0D5CM7ixs2nx3jNvYPVg2WG6GVLe4l17 rMKTsFlUt2TGZ/JhZzZFmFGXKCodsIVZgVuI+bSyFHpfIwQjn3MN6HGLUgUwahlq/4mv uIrA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=e2NTI+7T; spf=pass (google.com: domain of fm-1328757-202503140628401d657dede5f3643bd1-yqonup@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1328757-202503140628401d657dede5f3643bd1-YqOnuP@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-43d1ff8f051si109085e9.1.2025.03.13.23.28.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Mar 2025 23:28:40 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328757-202503140628401d657dede5f3643bd1-yqonup@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202503140628401d657dede5f3643bd1 for ; Fri, 14 Mar 2025 07:28:40 +0100 X-Patchwork-Original-From: "'Kasturi Shekar' via isar-users" From: Kasturi Shekar To: isar-users@googlegroups.com Cc: Kasturi Shekar Subject: [PATCH] isar-installer: show progress bar during bmaptool copy process Date: Fri, 14 Mar 2025 11:58:18 +0530 Message-Id: <20250314062818.572738-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=e2NTI+7T; spf=pass (google.com: domain of fm-1328757-202503140628401d657dede5f3643bd1-yqonup@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1328757-202503140628401d657dede5f3643bd1-YqOnuP@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_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?= - 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 | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) 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..7df9beef 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,7 +149,42 @@ if ! $installer_unattended; then clear fi -if ! bmaptool copy ${bmap_options} "$installer_image_uri" "${installer_target_dev}"; then +# 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 + + # Add psplash pipe to bmap_options + bmap_options="$bmap_options --psplash-pipe=$progress_pipe" + + # 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 & + +fi + +if ! bmaptool copy ${bmap_options} "$installer_image_uri" "$installer_target_dev"; then exit 1 fi