From patchwork Tue Mar 18 05:20:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4105 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 18 Mar 2025 06:20:50 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52I5KnIs019292 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 18 Mar 2025 06:20:49 +0100 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-43943bd1409sf18635415e9.3 for ; Mon, 17 Mar 2025 22:20:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1742275244; cv=pass; d=google.com; s=arc-20240605; b=jWJAiGaf3rJNA7/Wp2IO1eICYUT889pzAbbXXt85xMT67DxT7+VYKi/NibZL2C3j/J bxsoNzT7mooY3FplSz4dboc1J2PwDW/YJjL4DSyjeukjGip8XfIVibCCn91FavyN9V+i 46AqxJhrCYYBdwM8ZI7dftvGwcgVE6WS1tC6lUXR2I2PNIytcEj1NT5/oRt0YwWEJuW6 RfPr+APSGAJvV3eNbRkPLShpM0ZHb9SaMI0z/H738Vxlw/Eu5z5q6zRZ8nLeMTyjVLJT vbNL8ERBqKm3IeI1M1KAp7rDX6LC/nwpTWDF9ym9RAvGdk+gUFyQRJpiDPhY1K9V7mFt VQmA== 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=6Lu3k2/Qn+dX/t0MaVbl85MfqJilzjESiia+F6BPXGg=; fh=sg4yffIPEQf5EfBZUQ0xbRZPQow5fJ97kD2U4q4wjEc=; b=W9O1LCWYtNAianBKSNHKJhTkoF0q5Y/c6Qtg7gIbOMc1RWYCQcBFZo0E3hLsnMVjt7 BI8nw62lvmQG6LbSx3XTwzhKYYknSQ94U53xMwMVaiLxELiLrPY3KE/q6Ut67cPsWHPH DJFgoPmEw4551WL/wim5RuEIW0TMNBveA/zooZIoxSAKldhIEXhgCSkZexhZvL/vCw/i D6Q446IcjlLAATlrjxl/vQbvGU91qE5sxIzpuoezSeTK7GOiRpKaJdnHRuu115S+Np23 MH9MhSjHJ9rZaLWO3DdDL6uv6EQGWTvX6gEZJxgSKbo9K3mUfzfD+R7SOdhvmfO8s4YO 5/jA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=VNwhZvuB; spf=pass (google.com: domain of fm-1328757-20250318052040059b3f8c49ffc88db3-twuiqq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1328757-20250318052040059b3f8c49ffc88db3-TwuIQq@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=1742275244; x=1742880044; 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=6Lu3k2/Qn+dX/t0MaVbl85MfqJilzjESiia+F6BPXGg=; b=poRhJkeDqhxfUmdEPtRFHZYje7OVAPipFaDDhzX3L6R+E2LTYw+k6TlnOGxTTsEC70 gME70/8N+uQVxaj3NEThovLMdTC8BAdmK0YFoHnUPhUNF5Y6o4FlBPE1hlIbl+TMjVWO BLv248HHung4sKdd71XK7HrZdUW/erOX9yT0VfNsM1J/Thuq58eHLkkJGIb4yu5ktkSR zUBzn0i3/0NPRHIv1Rx3g0hZkiD9H6EGm3ehGU6g69zmdm3LPLwm3fSYWLkCjSCeu5Qd Y81+PkbWf/OAH21A6CtlOkteEiaZB8rNx/IdzsqziuQMxyB8idclgQK+UCSrHZG1+SXf BktQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742275244; x=1742880044; 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=6Lu3k2/Qn+dX/t0MaVbl85MfqJilzjESiia+F6BPXGg=; b=rHVubNsYO+6FNwKbNuJ2E7eelhmRC33kdpjV5Oj3O2YcVRx8oEEBFwvkTXJ9nQvcqr 4Di2lF6/np8sQSPYQ7zU05+Os/BDwi25DOCSejlq7BMO8vzacT5CLhJU1eCwWwJcNq3D smcmuycrEvNTlMQh56+5u6eOOlKvprvMQQo3LKsNA4Nj2MQBgWjWKs+X7wyiVowNOUSN cLsofFyItuy5hrgdQ5RnHPNau5YitqhFEmFBIaFFDQD423OttHNxth28LFjYCnRDlMJG u1S+pWUzykYcEnVSpZsHwksMK+S0vzpqcPV5WUEMlhIEKVzTgkQIK2P01X/+rShRPAUK EfRQ== X-Forwarded-Encrypted: i=2; AJvYcCUdE5CI6Wdj1xzn3A/k1Rson4afeZWiknRKXX7kE+ychFXC3LRVV4GDP5UfUfkXcfuT3stXUAo=@isar-build.org X-Gm-Message-State: AOJu0Yy6M2UuiPXoSf44bBdlUxil+VR0xOQr+m6DPouKYmy8I7SdumUM 4f8saUUv30UmuaMNr5RqyGZ7yuAAJNzXd5DqrHBsJYJLnQgplBZf X-Google-Smtp-Source: AGHT+IE/u2ZXg+NPFnvosDswT6LbgGrvLGxKLU+LHlIf3QJAOM5BiLgcnQf4gO0m9K8aAbKN554kLw== X-Received: by 2002:a05:600c:154a:b0:43c:e8a5:87a with SMTP id 5b1f17b1804b1-43d3b9b0b1dmr5596355e9.16.1742275243570; Mon, 17 Mar 2025 22:20:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPALC7KEOc/IpmW5RTAX11LL2XY2XNkJ5Hu5SqbLF+22q9Q== Received: by 2002:a05:600c:3ba8:b0:43c:ebf7:6945 with SMTP id 5b1f17b1804b1-43d20d0ca45ls8270525e9.0.-pod-prod-09-eu; Mon, 17 Mar 2025 22:20:41 -0700 (PDT) X-Received: by 2002:a05:600c:1e0e:b0:43d:45a:8fbb with SMTP id 5b1f17b1804b1-43d3b9d46bdmr5274005e9.22.1742275241453; Mon, 17 Mar 2025 22:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742275241; cv=none; d=google.com; s=arc-20240605; b=U4dqy45duOdyEBz3l991wFaPEaBZRx9i7Q6SxMrldoxc5wurVOb08EinnM9OEpxtyS oYI4CXrYnK0lZlSAUBydVW5SkxJnq2hKeclAquDa3TuACqmYWhUIMJIEwfva2s4McObo wgZSnsIGy8Xn+agxR6W/yBF9JfGZ22qQd5hDXeyXVKBPFEV4SJeXnsiaznzpT7lqFlGZ oT9er2td3Svc/3OpDD0xysOiNjlKBL6E0lsL9rncsHzm3SZTjW2QSb5yYDSTFQbLrwQE QXKO/AT4m5lZHXnjnIW+okPEpodyVl8iFY3QduNmnsBYcySHmmHdez4+Uh1LKT9pFzlE xIIw== 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=9bSKieRbh0xMNlvs+H6g6q1yyybnRD9rzkBI/TzdBVk=; fh=pR4tJPO4NbHlIB/rP4bIo54Z1zh5hd/ksAGQ0tcKkYM=; b=IxcGn5PVNTrk9Sg+FhhLB6l3jncdm879LqRA6IJNYYox0HZmQoBX01TuCPRms7Lib4 yKhoGbUCbq9zn5Wx31GkHvb25erIhDU9fNHjrFlqjuJnIAnAkgHFFcO4AeU6t8cZQtj+ AS5P2JN8keu3xKH6+efqFQQTJnpH9ln/2M1147d2mt0XaaJTM/cEkuoinDammdjcWLtj 1z5trjjVLXKb4gE9pPAFT5j9v0PHP9v8mmVrJ4FeLXB3Zn3Tap18/DRg6PJTL22rH9H7 chmcup6abld+M97uRpw/EOZf5pGd2pg+RnK0t5FrRfx69/DKpv8w3m/z62OzYRFVlIWC I/4A==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=VNwhZvuB; spf=pass (google.com: domain of fm-1328757-20250318052040059b3f8c49ffc88db3-twuiqq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1328757-20250318052040059b3f8c49ffc88db3-TwuIQq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-43d3bb59a6csi191225e9.1.2025.03.17.22.20.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Mar 2025 22:20:41 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328757-20250318052040059b3f8c49ffc88db3-twuiqq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 20250318052040059b3f8c49ffc88db3 for ; Tue, 18 Mar 2025 06:20:41 +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: Tue, 18 Mar 2025 10:50:12 +0530 Message-Id: <20250318052012.4701-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=VNwhZvuB; spf=pass (google.com: domain of fm-1328757-20250318052040059b3f8c49ffc88db3-twuiqq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1328757-20250318052040059b3f8c49ffc88db3-TwuIQq@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 | 38 ++++++++++++++++++- 1 file changed, 37 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..66c35506 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,43 @@ 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 +bmap_version=$(bmaptool --version | awk '{ print $NF }') + +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" + quiet_flag="-q" + + # 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 ${quiet_flag} copy ${bmap_options} "$installer_image_uri" "${installer_target_dev}"; then exit 1 fi