From patchwork Mon Mar 17 05:49:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kasturi Shekar X-Patchwork-Id: 4104 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 17 Mar 2025 06:49:35 +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 52H5nYsa013198 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 17 Mar 2025 06:49:34 +0100 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-43bd0586a73sf10121855e9.2 for ; Sun, 16 Mar 2025 22:49:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1742190569; cv=pass; d=google.com; s=arc-20240605; b=dA/P8L1fs/e1YvhvZwhqxctVEXOLpZvbXCOB8YQGvdZ4L9MngtcdwTcotSY1ogaDhh Tp7ZaG6OvVCmf+AyCjRZZIP/J/bryOGoGp6O0qJSxsA097DhS6Jt9Jo4c+VDtjlwAf89 sIyIPSgVr4Jak7ydRBgLycqsQCQMXEs6aw4T8PNElZn61H1e9w33CgsgJ3LB7I2+pmaf P48GAelPWNWA+AKQTyHYQmn459BGDg2do5ieE+BzbGKaZBEbNkW59czSYtmuQbWw1ZCh AUTFVCnzNTkfWDqLgN9eLBKVUuy56A9Fbw0kd345kIECKc/CMTx2nQNKPXucANJjW6Xi AnEg== 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=7eiGn5YPQnmGgfEk5ayCjh83/aD1D3TyVjGiDFbxvNk=; fh=xZxrRrKvv8wXRH5yBwhr1/z3v1gh2uHXzNEx9XHra88=; b=GSIZd4Z6knyoyBpdgglMFe3SZH/pARD3X9PFVdhJyzXb7WgewASPjwxy3IAON3U1Ht oV+rSl1ziP1es1afGPU97Ittwsn/B7Ah8d+d7KAaW10h/3MDWaw4n4OUdiVXQm100vQS x60RJL2ekLV0hlQDjbcBeeheoVZyXwCJJpr5RwLTCDLHdr5c9el5+AhlCOj8H2OSZeEo +e8VL83kMaf+6FpPEgVZVlKSMzPTwzmwQCRarovJc6PUew5eu/pVwMHqD+9urioyHUbA 5Hj7En9byBk4fkAVhTYtn3a2W+62vefVoJqL0+XAfr05sFpdPF1E4EXbeDRFFAkmtNoh RjPQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=YBEbzdH+; spf=pass (google.com: domain of fm-1328757-2025031705492588c810ade9829a0777-4j1xbt@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1328757-2025031705492588c810ade9829a0777-4J1xBT@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=1742190569; x=1742795369; 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=7eiGn5YPQnmGgfEk5ayCjh83/aD1D3TyVjGiDFbxvNk=; b=gthgluCCteyqhOXvYHEqYAe7j7Ag0tsKUt18D7sq69no9IyHvFWXH2OdeV8Jv/fITe Jpo/lX7JlCMurRH0nfUeAyzYAhMc0pykY95yeU4miCDOFmUrfoCLnzT5amxDYM+audgV fpGHsbyz+AHk74N3fj6Up7iUjOhgETnPfryK30yp/p5819QiNK1kSLRejNQTSCtfq4U1 5o0/5d6kTAe1A8/bXbyCUHQB+nDZqVEi9U5ZQDVtvDmXQxSgzUgAM0DjnMnEljakzVNq 6buzdF5jtQJCNAoi53lRkGA8ztrM8co5SD9hPBnVB5ePkpTGPu3CFLUhV7dzjCXmYYun Ziqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742190569; x=1742795369; 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=7eiGn5YPQnmGgfEk5ayCjh83/aD1D3TyVjGiDFbxvNk=; b=NaB1oZwLNWJxhnBXQKn6hQARU3xbXYhEsDxyrTe+Ipz0Hpu8S1di1QQJT/HJ33kUeO 1hRcF2pZn6CjHN3Ql9WMal+vgqS9SBtSU/lyBn3LWZSA55xdrzvb21XOZe1azjmcXTwC tCXw58kX+6tQhQcfAWuGuysfHGG/euXW20iN05TxV63b0cIITGNaShzqIr+zFaHSLlUB pg7TkJ+9NwRlF2CQTY+WFFlDL9U5utqnOPIfunOslrL5hSSibZSvXYGG4NXu325QEE7K 2byfnA1pFaIhgJgSCyRUQe7bgov7AwxU9sVlOE1cRJaiBCDvfdZb8NgCX77uU41Qz2Tv 3hTQ== X-Forwarded-Encrypted: i=2; AJvYcCXRi7AVRm4TnkkWDqcwvDuUXZsISBKyD6/BCXL65VLtZ2L1rRlSIlYERWaw5YWCMoMkLGXsKHo=@isar-build.org X-Gm-Message-State: AOJu0YykNSFGiWWg1Eo6IEjVhHB6hOtjjxkV+Dcc7rqiqcdfQj6O2+Bm FQfX03mRNpYqFd1i/vyLrBTQ26WgJ7SA+gz1t+HnzUzMe8nTlUeF X-Google-Smtp-Source: AGHT+IFbYqarUB0l4o62K6VKUmWH4GoawoFqMCa9FVI1dN5xYApggxhG+MNkpDtJ0uyax5uIdkceWg== X-Received: by 2002:a05:600c:1392:b0:43c:fe9f:ab90 with SMTP id 5b1f17b1804b1-43d2565453fmr61667135e9.28.1742190568166; Sun, 16 Mar 2025 22:49:28 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAJwZ7ij8s5xRqlXDm8MwCIv+I2xdUziiP6QVBWCfMwoCQ== Received: by 2002:a05:600c:6d4a:b0:43c:fb0f:d9ae with SMTP id 5b1f17b1804b1-43d1fa98792ls10116715e9.0.-pod-prod-05-eu; Sun, 16 Mar 2025 22:49:26 -0700 (PDT) X-Received: by 2002:a05:600c:4f0c:b0:43d:683:8cb2 with SMTP id 5b1f17b1804b1-43d1ec8db3dmr132828765e9.14.1742190565985; Sun, 16 Mar 2025 22:49:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742190565; cv=none; d=google.com; s=arc-20240605; b=eWe1tQQsfOuqExMKqRTfg5cpkroq+thwPVP9GWd45tg6uouHJF7qMlDaneqfeUNCd2 HNdmNGXzQF4ld3jJEI3VR8gW4gcJj6COPWtmNYD1tRtb6El7zqBBy0Khkxk69DVRk4UE Ekj7ztjWIksb8eQ5QGXnkzWDVJ5eAqCg7lrSUVtpjbZwsYjOXrMMrrU5Ad1QTVXwkTbK u1S5CL7x02S8P3VReyoug/d8sA94nfk5KWSRjuPzGSk2/fA1u0mm2Ty3L7cpJVEagFjQ Uw9LuKZjA0K2YPRaMMKTJK2JQ8Qn/OjaeP6/Z69W4pR0PiiULxLZ4NXaqvVb/szR9162 N1GA== 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=7DCwxT8u4kE434fb+KhT/XOC7dD/IoMI+QKxikD5nJk=; fh=pR4tJPO4NbHlIB/rP4bIo54Z1zh5hd/ksAGQ0tcKkYM=; b=C/zzG3q2/CaxiZ5TAZYJUXmmBC9xeExNGzjOq8+67sjqxIpdOVO/24of6bcLRITVu2 es8JRmDzGRCpesxqodayIBAqPHwgrjA1Njdd4pU7P7u7ckd5e8Br0pKJBGOgnJcz+pC7 BhyIpimIqH7fadmOcBoszpUBNmlJnAJWo8MgX+apEzmgGRT7xoyJhaUOa4pJBPDgL/PN mHvRQpbj8hlfveuYIVSW7Xx/xNbIBDohKL6MlfbWuOLe2FTlKFazvk04r6ybR8k6+dWL Bsa8y8Pl5dzxOKOV5XXC7gPzbAsLJx6M4aHnfiGGXWsrJtoPo1oP13hg2dAGNtaqgGcl CIwQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=YBEbzdH+; spf=pass (google.com: domain of fm-1328757-2025031705492588c810ade9829a0777-4j1xbt@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1328757-2025031705492588c810ade9829a0777-4J1xBT@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-43d1fd8b716si4087435e9.0.2025.03.16.22.49.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Mar 2025 22:49:25 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328757-2025031705492588c810ade9829a0777-4j1xbt@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 2025031705492588c810ade9829a0777 for ; Mon, 17 Mar 2025 06:49:25 +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: Mon, 17 Mar 2025 11:19:11 +0530 Message-Id: <20250317054911.578456-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=YBEbzdH+; spf=pass (google.com: domain of fm-1328757-2025031705492588c810ade9829a0777-4j1xbt@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1328757-2025031705492588c810ade9829a0777-4J1xBT@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..85549d57 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 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" + 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