public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Badrikesh Prusty' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: jan.kiszka@siemens.com, Badrikesh Prusty <badrikesh.prusty@siemens.com>
Subject: [PATCH v2 2/3] kas: support bundling multiple images via menu system
Date: Sat, 27 Dec 2025 18:15:22 -0500	[thread overview]
Message-ID: <20251227231523.1872055-2-badrikesh.prusty@siemens.com> (raw)
In-Reply-To: <20251227231523.1872055-1-badrikesh.prusty@siemens.com>

Update kas menu system configuration to support bundling multiple target
images instead of selecting a single image.

Replace the exclusive choice with independent bundle options for Base, CI,
and Debug images. Expose each selected bundle as a string var so the chosen
images are available to BitBake and appended to INSTALLER_TARGET_IMAGES.

Show a menu hint when no images are bundled, indicating that no installer
payload is generated and images must be copied manually to the INSTALLDATA
partition.

Update unattended installation menu logic to:
* Allow unattended mode only when at least one image is bundled
* Select which bundled image is installed in unattended mode

Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com>
---
 kas/image/isar-image-installer.yaml |  5 ++
 kas/installer/Kconfig               | 75 ++++++++++++++++++++---------
 2 files changed, 57 insertions(+), 23 deletions(-)

diff --git a/kas/image/isar-image-installer.yaml b/kas/image/isar-image-installer.yaml
index 336b3942..3997a162 100644
--- a/kas/image/isar-image-installer.yaml
+++ b/kas/image/isar-image-installer.yaml
@@ -17,3 +17,8 @@ local_conf_header:
     TARGET_BOOTSTRAPPER_TASK_deploy-image[script] ?= "deploy-image-wic.sh"
     TARGET_BOOTSTRAPPER_TASK_deploy-image[workdir] ?= "/usr/bin"
     TARGET_BOOTSTRAPPER_TASK_deploy-image[effort] ?= "2"
+
+  installer_target_images: |
+    INSTALLER_TARGET_IMAGES += " ${@d.getVar('INSTALLER_TARGET_IMAGE_BASE') or ''}"
+    INSTALLER_TARGET_IMAGES += " ${@d.getVar('INSTALLER_TARGET_IMAGE_CI') or ''}"
+    INSTALLER_TARGET_IMAGES += " ${@d.getVar('INSTALLER_TARGET_IMAGE_DEBUG') or ''}"
diff --git a/kas/installer/Kconfig b/kas/installer/Kconfig
index 5e733f9e..23b6f03a 100644
--- a/kas/installer/Kconfig
+++ b/kas/installer/Kconfig
@@ -7,42 +7,42 @@ config KAS_INCLUDE_IMAGE
 	string
 	default "kas/image/isar-image-installer.yaml"
 
-choice
-	prompt "Image to install"
-	default INSTALL_IMAGE_BASE
+comment "Images to bundle"
 
-config INSTALL_IMAGE_BASE
+config BUNDLE_IMAGE_BASE
 	bool "Base image"
+	default y
 	help
 	  Embed the basic Isar image into the installer image.
 
-config INSTALL_IMAGE_CI
+config BUNDLE_IMAGE_CI
 	bool "CI image"
 	help
 	  Embed the Isar CI image into the installer image.
 
-config INSTALL_IMAGE_DEBUG
+config BUNDLE_IMAGE_DEBUG
 	bool "Debug image"
 	help
 	  Embed the Isar debug image into the installer image.
 
-config INSTALL_EMPTY
-	bool "No installer payload"
-	help
-	  This will generate a installer image without payload. The user of
-	  that image needs then to copy a image to the partition labeled
-	  INSTALLDATA.
+comment "No installer payload. Copy image(s) manually to the INSTALLDATA partition"
+	depends on !BUNDLE_IMAGE_BASE && !BUNDLE_IMAGE_CI && !BUNDLE_IMAGE_DEBUG
 
-endchoice
+config INSTALL_UNATTENDED
+	bool "Run installer unattended"
+	depends on BUNDLE_IMAGE_BASE || BUNDLE_IMAGE_CI || BUNDLE_IMAGE_DEBUG
 
-config INSTALLER_TARGET_IMAGE
+config INSTALLER_TARGET_IMAGE_BASE
 	string
-	default "isar-image-base" if INSTALL_IMAGE_BASE
-	default "isar-image-ci" if INSTALL_IMAGE_CI
-	default "isar-image-debug" if INSTALL_IMAGE_DEBUG
+	default "isar-image-base" if BUNDLE_IMAGE_BASE
 
-config INSTALL_UNATTENDED
-	bool "Run installer unattended"
+config INSTALLER_TARGET_IMAGE_CI
+	string
+	default "isar-image-ci" if BUNDLE_IMAGE_CI
+
+config INSTALLER_TARGET_IMAGE_DEBUG
+	string
+	default "isar-image-debug" if BUNDLE_IMAGE_DEBUG
 
 if INSTALL_UNATTENDED
 
@@ -55,6 +55,36 @@ config INSTALLER_UNATTENDED
 	default "1" if INSTALL_UNATTENDED
 	default ""
 
+choice
+	prompt "Image to install unattended"
+
+config INSTALL_IMAGE_BASE
+	bool "Base image"
+	depends on BUNDLE_IMAGE_BASE
+	help
+	  Install the basic Isar image in unattended mode.
+
+config INSTALL_IMAGE_CI
+	bool "CI image"
+	depends on BUNDLE_IMAGE_CI
+	help
+	  Install the Isar CI image in unattended mode.
+
+config INSTALL_IMAGE_DEBUG
+	bool "Debug image"
+	depends on BUNDLE_IMAGE_DEBUG
+	help
+	  Install the Isar debug image in unattended mode.
+
+endchoice
+
+config INSTALLER_TARGET_IMAGE
+	string
+	default "isar-image-base" if INSTALL_IMAGE_BASE
+	default "isar-image-ci" if INSTALL_IMAGE_CI
+	default "isar-image-debug" if INSTALL_IMAGE_DEBUG
+
+
 config INSTALLER_TARGET_DEVICE
 	string "Target device to deploy"
 	default "/dev/sda"
@@ -76,13 +106,12 @@ config OPT_INSTALLER_TARGET_ABORT
 endchoice
 
 config INSTALLER_TARGET_OVERWRITE
-    string
-    default "OVERWRITE" if OPT_INSTALLER_TARGET_OVERWRITE
-    default "ABORT" if OPT_INSTALLER_TARGET_ABORT
+	string
+	default "OVERWRITE" if OPT_INSTALLER_TARGET_OVERWRITE
+	default "ABORT" if OPT_INSTALLER_TARGET_ABORT
 
 endif
 
-
 config INSTALLER_ADD_DEVICE_INFO_COLLECTOR
         bool "Add Device Info Collector"
         default n
-- 
2.47.3

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251227231523.1872055-2-badrikesh.prusty%40siemens.com.

  reply	other threads:[~2025-12-27 23:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-27 23:15 [PATCH v2 1/3] installer: allow unattended mode to abort with configurable timeout 'Badrikesh Prusty' via isar-users
2025-12-27 23:15 ` 'Badrikesh Prusty' via isar-users [this message]
2025-12-27 23:15 ` [PATCH v2 3/3] kas: add menu option to abort unattended installation 'Badrikesh Prusty' via isar-users

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251227231523.1872055-2-badrikesh.prusty@siemens.com \
    --to=isar-users@googlegroups.com \
    --cc=badrikesh.prusty@siemens.com \
    --cc=jan.kiszka@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox