From patchwork Wed Mar 19 09:42:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4117 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 19 Mar 2025 10:43:12 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f184.google.com (mail-lj1-f184.google.com [209.85.208.184]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52J9hBZH029162 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 19 Mar 2025 10:43:11 +0100 Received: by mail-lj1-f184.google.com with SMTP id 38308e7fff4ca-30bf960c505sf33381131fa.1 for ; Wed, 19 Mar 2025 02:43:11 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1742377386; cv=pass; d=google.com; s=arc-20240605; b=a7clKrudZQIePbAxvEzMZZ1PUNetUgv8bHhbQ5i3PlzVVA/v6pqHSr7bQ990fiAZ9C CHIB3VBnslPvEgOmG9ay/bnBgSEvsDx8J0sBdQAGbQJIc5OCQEgHZQGl+jVo9pnEnZFA yEx4GDKiWjh1BSfjuREud0b6n97USAzoh4uHhyx2tx6Fn2TByKeHjEJeDJ6vRd+Nqpg8 n2UXL+ThOPhOmkQIpmmk70PaBE5s0kf46RJQg8kw9jCr+rx8a7+Ky1m/GABwrRPhrc4w WeXnUjEvoj1g96OcjXvXvnxiYr8TW4afComAM+odi359o35VFVG3lhmLhSmfAr3TiMLE Wy5g== 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=lZYHAzGF8FcbkEous7BV2K5H2zzqaCMn46AKIj0A72o=; fh=KZFuoTyED4sfWhPFRiqPqgvqhHZK9Th/VCMpNt35If4=; b=ZIaej7xLyjKrsToFckAUWNlh0w7ojX2K23Ut8J8OTlHVwjT0KBDQO9A3pera/7+qpB UwycJvpC7M0p4n+3gQ9PdXZp3sB5VA9zbuED2b23hu+mL4KeOACEiHAIcmiuWl5YTPSP v3CSPY2kv0E0KKML5d0spaQCYJFQ7a3EoqU0Cg0JfFUca3K028soxlKiIH/3NYgjM/7v zGU1b+HQiDB7HA7fiLSSgRlGz8ZY0RYJz8X+lpnJyurlLxu/z14RiZamgET8tfEQXxw3 E+XOyiwN8VixE77ru3sfZcQueNzT53R3DxGAiVqPp4gKDjP3IeQBL9RFcXRzCNlLcMJ9 RVRA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=FjFSQeHT; spf=pass (google.com: domain of fm-1328757-2025031909430114b5d48b98093aa035-qzf9ww@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-2025031909430114b5d48b98093aa035-qZF9wW@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=1742377386; x=1742982186; 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=lZYHAzGF8FcbkEous7BV2K5H2zzqaCMn46AKIj0A72o=; b=FBqa08h/aq8cNSNJ+7AiuIBPukUhdHTwWmY7HtMvdZ59sSzFUstTNSc5fAQZLRha7B pzKnNE8jr056HPPMWyE+/Nu8VQQ6Ssu1FSwY6ZS7senuhdfeGEZfyDujKnABJ6OBK2MN 0wY3fTDDgCI+35SxCqjDLDdV6CrOwL+yVcX8+alnRYPMD9gD6rOd0Q6gnPL/W3pIHz8Z cdybwq/2oHUjRg6epI7zM5PJkdSHYzG36/pP1F0K4EHdKlXsj/gLc90GHIwsN0qiFB4r mua7pypXliHOcNbTHlLEWsyHjO0VT4lQ4Vx+A9VuDJPHC1ixfoMk7ewt0jaOV1Z8/FiM NjPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742377386; x=1742982186; 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=lZYHAzGF8FcbkEous7BV2K5H2zzqaCMn46AKIj0A72o=; b=NuTX3RF7mR87DtnPm2NOyOm7V6BcPiOP6OfH/0a6IMIGSFk1uwgL3mAEcTxvBOIkS3 AlnJxaMT/mm/3WIv6aTRXXOj0TyStPsNrg2AT03/NwYfXNIvvRnlasWIiCI+ltbJtWX2 J5K1vsKeL+eyUnMX0gLn4nGfnHAFWcb8w6VRwOU3PrSoA7MRoz6MlvrJb/wCSMsUn0t6 5JTev0HjHkPqBoFUJrXKrv/bKWe/rc8HtPLDaHYbA4EIrbKd51eOKUvdMTIwDsy/qDfY AXelSh4PDmVAesEO0sRN0DOW6vgvIPQGxPHOiSCgKroKhIKzq4uarUq0vGA1MEMtKFYL LRbQ== X-Forwarded-Encrypted: i=2; AJvYcCWkS9OImpmbyoLRTj0Nkjg0Q2xRyHf54Uxg7oMUVnoZoJJSUZUhDCGeeMN88ahcrlQCIMkK91A=@isar-build.org X-Gm-Message-State: AOJu0YywJNya9acaXo3D4nklgpZKBfvV5n/1Ztp/YJb4AUiakZrQf8HV gmzGrQPA5gb6v/PBpCztqVcl1SkoNJUUXpxAnPeic8EeGaChMO7P X-Google-Smtp-Source: AGHT+IFNlciCIYGfGgbTF7ETEPieJpgVELyIA3ycix0Bzq1ROUrfB4+EqVdqGh5bIHfgXqey/Y0MtA== X-Received: by 2002:a05:6512:4029:b0:549:8f21:bc0e with SMTP id 2adb3069b0e04-54acb2061c2mr805721e87.32.1742377385136; Wed, 19 Mar 2025 02:43:05 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPALePKWjWvty8he3VLpha5vmtCWq9mhVXHTf4RAaZCi6tg== Received: by 2002:a19:5f1c:0:b0:549:91f3:c5b with SMTP id 2adb3069b0e04-549b8600dbfls698239e87.0.-pod-prod-04-eu; Wed, 19 Mar 2025 02:43:03 -0700 (PDT) X-Received: by 2002:a05:6512:ea4:b0:549:8c36:592 with SMTP id 2adb3069b0e04-54acb1a9a99mr555741e87.5.1742377382749; Wed, 19 Mar 2025 02:43:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742377382; cv=none; d=google.com; s=arc-20240605; b=lMXdYuTy3Bq/531xWsP1GUNENm3SkoHn+0RmqjvR1WjUNmw9cZkA9eXKhvgnQzM089 kW5nVvZ6tqY9vf5LZGUCY/YT4jItXUWr3KkovKSaZUU8SUWn/Zpwri+Z+rjfeEvx/k4s eht1L4P4Zd216ufp0+1xwXI9XRTLwTjdYiTLQgl0upIXFsguycywNoRXaMJfZFcF49uw AqnYZOfmVRjY7dCyqnCmlcGag1fCArF3V6/aCGWyEcuEG4H/w1C00yd0v65u3O6/QWV5 E/y3JbC8tLeYPkut/cZUvdCxB7he4wvkpvwLt0zJM+VIW16SnRLgxNhgXPjyb+5hYmAe QPbQ== 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=hS/0JJEZw2FvDZpD1kSNGNrXGga0CGTN4j4q19ApkU01KMGYi4MEcrowGrxzW+Mb1P 0c3+WOqBRnaBn426Qg8nu3lvWIpvkOJdYDk7NcQYfAXGdToobSJ+FJcJQBbQf3pGsKD2 y29g0KaJLUA6h6ku7B3LHwHU4MOHuPdhkB0zqjmgTEaux6o3tSUS9hGWj2cOJynHCMz3 Rwjvq7OAHD/dcfiVYRFSVGpJIQV/aBEi/VYSM5XgjoVpSgbHbYmIhQQnUiAusK3gZWmk hSCEIxXx7uRTuZ18uTEQbZNQO4SnLE/iXfSNXQL0Zv/C08XpHnhjqz4j4GTOOHalbcRU RKaQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=FjFSQeHT; spf=pass (google.com: domain of fm-1328757-2025031909430114b5d48b98093aa035-qzf9ww@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-2025031909430114b5d48b98093aa035-qZF9wW@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 2adb3069b0e04-549ba745499si373478e87.4.2025.03.19.02.43.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Mar 2025 02:43:02 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328757-2025031909430114b5d48b98093aa035-qzf9ww@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 2025031909430114b5d48b98093aa035 for ; Wed, 19 Mar 2025 10:43:01 +0100 X-Patchwork-Original-From: "'Kasturi Shekar' via isar-users" From: Kasturi Shekar To: isar-users@googlegroups.com Cc: Kasturi Shekar Subject: [PATCH v5] isar-installer: show progress bar during bmaptool copy process Date: Wed, 19 Mar 2025 15:12:51 +0530 Message-Id: <20250319094251.604338-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=FjFSQeHT; spf=pass (google.com: domain of fm-1328757-2025031909430114b5d48b98093aa035-qzf9ww@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328757-2025031909430114b5d48b98093aa035-qZF9wW@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