From patchwork Thu Apr 17 07:27:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Badrikesh Prusty X-Patchwork-Id: 4186 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 17 Apr 2025 09:30:03 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f189.google.com (mail-lj1-f189.google.com [209.85.208.189]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 53H7U2sT014457 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 17 Apr 2025 09:30:02 +0200 Received: by mail-lj1-f189.google.com with SMTP id 38308e7fff4ca-30bfd1faeeasf2136051fa.1 for ; Thu, 17 Apr 2025 00:30:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1744874997; cv=pass; d=google.com; s=arc-20240605; b=WtpX5BgD2frFdUb2Yhn5fOF+3l/KMALoMCC2J6RyMCR7P6fK+CYq6dmquo1X6kyl77 TtFO9S+Rx5pFEqIXhZXyHSmFA0U0wM5WNdYLrz8apfvAe8oA6dUGLdoUWtL39TAjnnPm MefUBuxB25tgxte+NnVs/JkBf+oz2y7rCc096lghhh1pnHhqCB+kfY01VGM64hwGiNpx xtrVkTNDL9nBS01zX6TIcCOilc0/nVxUyB/PIz+Q3IsLyf+2J3K7pNOuYKNjgtU+Rx3m vSdX6NPvvIp+JP43bRj6jiN40uve3N3VuFuTc3+7leWfZA8JTdM9qfD0YeIXOLteQVvJ Ix4Q== 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=dtjgCQ20NcY9q05sShCkTYvSeXUDN1Iesnd1FuMzdYo=; fh=cqvrU/KKKYyQEE6tAg5QM0ZRn9SS6wHQRhG/g1amgCA=; b=NDmFACnVsadiVCsW0vISCbmn53IYKglBslb0QIre/BAIfdzbpoiJ8MceaX/6zQyCx4 iUH9CWc2A4v4egVBeZDox5ZjBvHq07LuidcniwXfuJbmBdtAW3sXWQ90ZW5UcOoIj/Jk bH6ADt/58Ryo2ayD312EEs7n01Ty9dfn482PUlLxAU+XeEE2+0l+lfoAc1sUdRTvrdZE vx7hcdy8IYWlp/Ky6FzzPEkCY1pWEuFrUmHIMsMi1y6QP+OELBGz20cwqihwhDhG2kMj RicHRB31h2B5qlo9oWVUjbuKzVFEKV5+cVWk4gfoJeFdoG6NJlTmcO0zw9i8Vo5SFuWd aV4g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=LUeUBuCl; spf=pass (google.com: domain of fm-1328765-20250417072952eea66c4a2e34c6c671-1uw4r3@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1328765-20250417072952eea66c4a2e34c6c671-1uW4R3@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=1744874997; x=1745479797; 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=dtjgCQ20NcY9q05sShCkTYvSeXUDN1Iesnd1FuMzdYo=; b=lz3VIb760l2Tanu40CpQq9gXthm2nPxdrlmMAR61wJawb3omQTH2d+oMoqoa7HJROF jitNilVnezYgX25woS9SsK5/mJSQN3RGF7Bj2Ug4Lf0lyEJcVxRYaG9ItcNOGpvgDnxc djuWLesQXvAXffVGBfxd/S40m+/tiroUywnBwPFO+hL9+T6utjeApSzegGNv6VsSWyW1 j7Q5cb1wxz/+VlDQH0lo4/PXb6sHK5KTiInXgRuPIRZ2tROam7R+rzmxFCebUfhuqoZv hGP7zfXmMbi8u/ShDV32IgQhmNpNazK5DLE3r4qEi5ez1nCS0rmqpjRTCkJzB6M0rhzF 8qwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744874997; x=1745479797; 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:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dtjgCQ20NcY9q05sShCkTYvSeXUDN1Iesnd1FuMzdYo=; b=JGhzvIgrF6tJB1cbjfLwrH7qioxAKWbDa9BL2fDiS62nhwU+6wqWK3ylkOmql4wUyF DNFHpHSkFCq2N/GQp6za6l6c9Y4tLgGbDHz/26VE04JUuCzT73Ee7vBXYw5Keeb4jScz Gqwmy7QDQTisC0mxEK2jvB77DLYKS/1OS6UBsuACXL6LJ5txqSsncHL/VbrJkEeDebcv ZBKec/zTpH1GeYSicf668X46On+PQDCz7koomGj7/AH9AT3YIJSx7gD7lQ7BJvCtQzoe +rNbI3eECBhVa1TxNEa7uENCPxrW+uWryEJ6yCXmPJQMHYERAmO9S0kufHFJstbKNogq +B+g== X-Forwarded-Encrypted: i=2; AJvYcCW90YN9AbfoBJeVxW6J5KB9oBqeosdqUtPrmORBSr9MW9Qjv1fdmqooCtHmRyHJ3/J4OXg3vaI=@isar-build.org X-Gm-Message-State: AOJu0YyhlWVGzUYhQhOGeBhEe2khWzyCSK6xERkJk0iNFUV3kJQcsp1D vjTrO6+6en31Wr7QWZ7unq4/cn17drGVQC4Lt1WUOo45KIlBvBFN X-Google-Smtp-Source: AGHT+IH7W+eXVS76TTp1plsUeYhhhPaIxC8AOLlZvC7tR79S1syDTnwcM4VAPHXHWwMarV9c3crPpQ== X-Received: by 2002:a05:651c:30c2:b0:30c:3099:13d0 with SMTP id 38308e7fff4ca-3107f6ce071mr18617841fa.21.1744874996503; Thu, 17 Apr 2025 00:29:56 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAKW4HbyQ/DVwkJkOw20DplNtjbZxJJ9C90/UT0ZQcMxPg== Received: by 2002:a2e:9e48:0:b0:30b:fe5f:9a8a with SMTP id 38308e7fff4ca-310852b48b5ls887821fa.2.-pod-prod-06-eu; Thu, 17 Apr 2025 00:29:54 -0700 (PDT) X-Received: by 2002:a2e:bc89:0:b0:30b:c569:4665 with SMTP id 38308e7fff4ca-3107f719aafmr19860461fa.29.1744874993962; Thu, 17 Apr 2025 00:29:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744874993; cv=none; d=google.com; s=arc-20240605; b=gpYEjWgawE8Eh4Ur4k8GYfadB/MLJJu9JhdtAQCG4qcrqyRCIss726aZ8L4XyIuWvM e2jLWR0EQ7U0AqMq5CVz/bJR1DU+s6dDu95hrdxaNoFhsYSKtyw3nrG90Fqv3GoHucVO sppbgGe0d1nCdhxSowwWy1caqJXVwxMkeIB3ArKAtaVMx16YqdJ+KmgrGv0ZWbc6LVXC 1rYLzwtHZdJlN235ajGwEqI1eaMefS9lNasYf7gy94yEUAgUteDKS71nH6NwLTqJjbU+ O7AeQDqOuDtC7AHH4QT1sUvbQnVRujNoviLOtn/UGD23Tz5Oc/SOm0UPYX6FmBrv30fv vYZQ== 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=63+2Rn4O/MaaypcmPfCvy5fTNlI8hTOK15xKF+aeNvI=; fh=IVe7tedBjrVO7NMfxxhSNfR9HdaoPf8yp1e13zSf5B8=; b=K6OOFujH8FfmTTcJfeWQZtRPjDvLyIOI+rYYUlDMkxBhlh+KcuPEiBWjyw99HH6nJM h8UDHVO1ITB2MgKMrppcAWym0o7PB1HZd9TzCkrGoizsDmwRN7+QDzPP/0wLBJi1G2fl Ipk9EGAx3o3QyUBTohElQnuLf4KlnNZMmOWLWNHQRPaU1yuwVwzHwWJLV/ThaFl8bk09 lkJsJG+D2DJnGynROpO/3Q/qpWGavPfGzZ1XYiAzMRRZMl1UBlIvMYaNH2kb7/sGyFL6 ut/gZuEmoqfnyQsDgQZzCRhKpiuA4CZTCZamKTNItK5kejWQqb9QYuulfa9zqIKWKJL6 N8PA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=LUeUBuCl; spf=pass (google.com: domain of fm-1328765-20250417072952eea66c4a2e34c6c671-1uw4r3@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1328765-20250417072952eea66c4a2e34c6c671-1uW4R3@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-30f465b61aesi6528931fa.3.2025.04.17.00.29.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Apr 2025 00:29:53 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328765-20250417072952eea66c4a2e34c6c671-1uw4r3@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20250417072952eea66c4a2e34c6c671 for ; Thu, 17 Apr 2025 09:29:53 +0200 X-Patchwork-Original-From: "'Badrikesh Prusty' via isar-users" From: Badrikesh Prusty To: isar-users@googlegroups.com Cc: badrikesh prusty Subject: [PATCH] isar-installer: Allow multiple INSTALLER_TARGET_DEVICE for NVMe/SATA Date: Thu, 17 Apr 2025 12:57:24 +0530 Message-Id: <20250417072724.4910-1-badrikesh.prusty@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328765:519-21489:flowmailer X-Original-Sender: badrikesh.prusty@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=LUeUBuCl; spf=pass (google.com: domain of fm-1328765-20250417072952eea66c4a2e34c6c671-1uw4r3@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1328765-20250417072952eea66c4a2e34c6c671-1uW4R3@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Badrikesh Prusty Reply-To: Badrikesh Prusty 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?= From: badrikesh prusty Older devices typically use SATA SSDs/HDDs (often as /dev/sda), but NVMe drives are increasingly common in newer devices (often as /dev/nvme0n1). Thus, we need to build separate isar-image-installer with updated INSTALLER_TARGET_DEVICE for both storage types. With these changes, INSTALLER_TARGET_DEVICE can now accept multiple devices specified as comma or colon separated values (e.g. /dev/sda,/dev/nvme0n1). The provided devices will be checked to ensure they are block devices and not the boot device, preventing the isar-image-installer on a USB drive (often assigned /dev/sda when NVMe is the default storage) from installing the image to the same device it's booted from. Signed-off-by: badrikesh prusty --- kas/image/Kconfig | 4 ++-- .../files/usr/lib/deploy-image-wic/handle-config.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/kas/image/Kconfig b/kas/image/Kconfig index d602c369..8193efc5 100644 --- a/kas/image/Kconfig +++ b/kas/image/Kconfig @@ -87,9 +87,9 @@ config INSTALLER_TARGET_DEVICE string "Target device to deploy" default "/dev/sda" help - Device to deploy the image onto. + Deploy image to this target device. Accepts comma/colon-separated multiple devices; installs on the first available. Leave this empty to get prompted during installation - Examples: /dev/sda, /dev/nvme0n1 + Examples: /dev/sda, /dev/nvme0n1, /dev/sda:/dev/nvme0n1 choice prompt "Overwrite handling" diff --git a/meta-isar/recipes-installer/deploy-image/files/usr/lib/deploy-image-wic/handle-config.sh b/meta-isar/recipes-installer/deploy-image/files/usr/lib/deploy-image-wic/handle-config.sh index af37150e..26b2966e 100644 --- a/meta-isar/recipes-installer/deploy-image/files/usr/lib/deploy-image-wic/handle-config.sh +++ b/meta-isar/recipes-installer/deploy-image/files/usr/lib/deploy-image-wic/handle-config.sh @@ -31,6 +31,14 @@ for x in $(cat /proc/cmdline); do ;; installer.target.dev=*) installer_target_dev=${x#installer.target.dev=} + installer_target_dev_list=$(echo "$installer_target_dev" | sed 's/[,:]/ /g') + boot_device=$(lsblk -no PKNAME,MOUNTPOINT | grep -E '/boot| /$' | awk '{print "/dev/"$1}' | uniq) + for dev in ${installer_target_dev_list}; do + if [ -b "${dev}" ] && [ "${dev}" != "${boot_device}" ]; then + installer_target_dev=${dev} + break + fi + done installer_unattended=true ;; installer.target.overwrite*)