From patchwork Thu Mar 6 10:28:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4079 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 07 Mar 2025 06:26:39 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ot1-f55.google.com (mail-ot1-f55.google.com [209.85.210.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5275QbWK025512 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 7 Mar 2025 06:26:38 +0100 Received: by mail-ot1-f55.google.com with SMTP id 46e09a7af769-72a0327f400sf750890a34.1 for ; Thu, 06 Mar 2025 21:26:38 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1741325192; cv=pass; d=google.com; s=arc-20240605; b=OzXMLj96Mk8x7jLKU0EuPSWoF4dO1THrnKzsFrswPLTHMFeq1dMMhO+XhR9BnHUt/e XSVqf5FDcy8P79p6liYOqbHHyZIUNHG/XIqFLqcWlYfOKLwQU61L2CifSUKk9wuYMw2+ BMrCFJ/uXFiXfCng2vRZSu9UKRoMP3hM3qkiJgazNI9EBqQiTq1HSnaOYW1HcbAG6AfR Aw4YKnlGn2sUlLtrTvFDfqeZtPa2rpyjaZUmZnSnXJx6YeBH1kjnx2XnEZlHqiHIhSdC Gh6CFI7L/Vbn9jhMTQy/oE8HH697uDr3xFKIQS2Ll573lJBXQ07oFAnxaHZi8sXPJ9RL g0ZA== 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=2K0DTI+PAaBX9pA64CrKT85rX1me33tvLvLRcmxoshY=; fh=hrf7+isZUxuykYC2Elrl12/gDSOroX7jCGe5sfgs8sA=; b=CZwWNJcOlwNhceeR2fzGRmjgBG2AHLei6/4ZlmWu6zQXhOkcbBnKPAgRBH8DoRlcrp hlLwypa1IKBWFSlXe+vb/rw4kpUwYIDPIOgfFlGRbuiA3gtCzSdrBmiX8NVCsaqp35aa IxEdn8v4JPkBZoYytUmFCOQYRKVXKvyLlfpS8l5RRkUGDEDjmPuqhQS6rR9gXPMXlR63 Z39UjlUSTeZoIMoo7kiAG6XLx/0NyLtk2gZJuIOdWLXwm+IqbMDyYdFSv+tTMygTo965 bRAjCCV8XKryCyGPCmSgUjOQ6Rvho+uLJs0PIWrqkLSQar90Umy8l11tfxRTBxGUkP1Y hirA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=XAxO24LO; spf=pass (google.com: domain of fm-1328757-20250306102821ff3e33206450e7a640-1tsnhm@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250306102821ff3e33206450e7a640-1TSnHM@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=1741325192; x=1741929992; 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=2K0DTI+PAaBX9pA64CrKT85rX1me33tvLvLRcmxoshY=; b=Bu5KAmvmf3Tdrm06QWACtinZIBKZl2xm+t/oDiaRvrLBcQYYB6yO6kU7H8A+0uhH6Z uVRzSRz9LhXzxxTFV7UZAgu96F2zYzhASzjveslMZ61dorLs8i7AQs5k3O0BleZCHlKQ sL2Za2v/BpTpiT88hb+8wGtLcOkrQwvLpgcX+y//70+gVjo8ceKyFsxbTW618m7U68EY zkSXDOsyztaUEcQlka8ZhpWem1icPjiRHHcBBNjP7eK4XyfW24bVy8TTfB+GPrfUu7Yy 67RPGoa1FuUAo6S66Bz01xV9aoFGGZ/hU/h0tzV2lbN4ZZtn6xfmvhIVbiCQX4zPTBFr /2+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741325192; x=1741929992; 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:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2K0DTI+PAaBX9pA64CrKT85rX1me33tvLvLRcmxoshY=; b=SBBXTQVP82esTtfvF/z0i7ihb+Vc77OAIfHlb7jVejH1SVFGxiSGcSDJcsWWzFfnnc adxCuhC+HRN40JCSbLlcYdyX3rRKEMBjTxe/YPdpYBu9HCFPvDCCE0xhsgA81BWudlj/ rnl0rp9WAcWssFqZQzoU9S1Bk2/82FiKsVlFGMp5zO018z/l2dv3SC0OiIf0+RiGie2e eTVF/N+8vlRTIEj43mDX/szqA/UmthPXVUBW325N6A+G7oo8L4n9eZP8UCEPTepjU/rm DAlq/LmDemjFCYYOfGYyKQ9zye4Z7nFy2jP5CEu53gjDCDcVXMPCsl+VRuq9NhrAMMly uApw== X-Forwarded-Encrypted: i=2; AJvYcCULYBX1anb56szRkDujnK7UdouG+zvJPsS9/a+z1+6t8Sr8sXNFzmZ0n0IB3Gx6ow9FySbiE88=@isar-build.org X-Gm-Message-State: AOJu0Yy64Gg0Q7BAp3GaXHJsy8DJNDKsJ2ARAwmGxueMOV9EHfgezW9a BR42sdZAvgwGTal5Y90a4LTvtF5kZCeaR28Var2LWZP4bIXQLRx+ X-Google-Smtp-Source: AGHT+IEvTxWuKFkIQgxvGEUOR5ZY9WtE7g3LJK5uOT70Z3Y1YNTTFTf+36A4dKSVZcBArbnGT4Yt4A== X-Received: by 2002:a05:6830:6201:b0:72a:3a7:a07c with SMTP id 46e09a7af769-72a37ba1fc3mr1375587a34.13.1741325191931; Thu, 06 Mar 2025 21:26:31 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVEuOLKQOk1pWscE7JaZSzDt6RoxTPnoPckTDhQ3XgXyTw== Received: by 2002:a4a:ddd4:0:b0:600:4dc0:5b12 with SMTP id 006d021491bc7-6004dc05c11ls79800eaf.2.-pod-prod-01-us; Thu, 06 Mar 2025 21:26:31 -0800 (PST) X-Received: by 2002:a05:6808:3a0e:b0:3f6:74be:fcfe with SMTP id 5614622812f47-3f697bf3f1dmr1409865b6e.34.1741325191420; Thu, 06 Mar 2025 21:26:31 -0800 (PST) Received: by 2002:a05:6808:8e:b0:3f6:6493:dcd0 with SMTP id 5614622812f47-3f6820bfbc1msb6e; Thu, 6 Mar 2025 02:28:27 -0800 (PST) X-Received: by 2002:a17:90b:1ccb:b0:2fc:3264:3666 with SMTP id 98e67ed59e1d1-2ff497c2da4mr10446879a91.30.1741256905537; Thu, 06 Mar 2025 02:28:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741256905; cv=none; d=google.com; s=arc-20240605; b=f/ST0ApI2jvtG3+BweDSYDj06S33cdhTptnbBi8bIIV6y2S4bY4fxENep9geTe9L/N oPS1VvykAW4P4e6zcehY8dv4CU6MGk5iKB3muMcjKimtgnmeZDCV11wEk7ywwlia6leh ONNPYKYtk8i8SrKL4WxTrMHu3kiaB76wPAR3zU912qA0CTMMYuGc9GThRp69EQx+macI 7z9JM3oMAenj2A3Oyyx0gXeswk/6cfeGziK1jKHVhLVJzG3vAaKjN1AtbZNDx3pjz8ot BfNI4m2WvFUSE+Dwjzdnw2Q7ZL/ggn7mi48hwt9jxfQOmcb5RfVP8KcQ6ZSao+dWTYRA ajbg== 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=W1jJW31rZePGPw0UQ/3/jX6J7M0j3E+41B+nZSO1IdQ=; fh=pR4tJPO4NbHlIB/rP4bIo54Z1zh5hd/ksAGQ0tcKkYM=; b=BbmCsscL3W3xtjyTvV6BGeFCBFP2F8/wO7LwmIJpgEEjbMy1TsZbNgKOvA/JhDL3Eg /akZMJASFR4gl/WXle8lNo93rG7F/EnZhoctHuujdnOvv7OwpFMouV8HRLlHt1CEVI3Y yU/DdXsTJM+025ZTrupdO6n0QeneIAoS31Uku3GDAE0jd0zr56NrOcgbckwUvSWvu4Cx vmoLL2VApSpRQypf0mpfZ52Mwx4JiU4HQsrJ1+DIgi2Rpwo7cwDKNrXKNdK9fu5T0Eoi kDUXIeUiii3PEumeUXF1Rtj9APPlAM8eP9TOeV2VDVUluDFKQwVvdHdBpETn5ARGiOca Ba4Q==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=XAxO24LO; spf=pass (google.com: domain of fm-1328757-20250306102821ff3e33206450e7a640-1tsnhm@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250306102821ff3e33206450e7a640-1TSnHM@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 98e67ed59e1d1-2ff53a6300asi204951a91.0.2025.03.06.02.28.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Mar 2025 02:28:25 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1328757-20250306102821ff3e33206450e7a640-1tsnhm@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 20250306102821ff3e33206450e7a640 for ; Thu, 06 Mar 2025 11:28:21 +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: Thu, 6 Mar 2025 15:58:01 +0530 Message-Id: <20250306102801.260426-1-kasturi.shekar@siemens.com> 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=XAxO24LO; spf=pass (google.com: domain of fm-1328757-20250306102821ff3e33206450e7a640-1tsnhm@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-20250306102821ff3e33206450e7a640-1TSnHM@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-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..1265d0cc 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_gt() { + if [ "$(printf '%s\n' "$1" "$2" | sort -V | head -n 1)" != "$1" ]; 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_gt "$bmap_version" "3.8" || [ "$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 for versions greater than or equal to 3.8 + 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