commit:     63ff65773fefed9ce3ec01fd49cd763be67bbb51
Author:     Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
AuthorDate: Mon May  5 15:45:23 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Oct  3 14:22:22 2025 +0000
URL:        https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=63ff6577

catalyst/*: add new option iso_extra_partition

When specified in the spec, this will instruct create-iso.sh to
create an extra XFS partition of the specified size.

The intended use is having a partition available for persistent
storage when the created hybrid ISO image is written to e.g. a USB.

When the hybrid ISO is burned to an optical medium the extra
partition is ignored, along with all other MBR data.

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>

 catalyst/base/stagebase.py        | 9 +++++++--
 catalyst/targets/livecd_stage2.py | 1 +
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 401676af..5315e73c 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1639,8 +1639,13 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
         # Create the ISO
         if "iso" in self.settings:
-            cmd([self.settings['controller_file'], 'iso', 
self.settings['iso']],
-                env=self.env)
+            if self.settings["spec_prefix"] + "/iso_extra_partition" in 
self.settings:
+                cmd([self.settings['controller_file'], 'iso', 
self.settings['iso'],
+                    self.settings[self.settings["spec_prefix"] + 
"/iso_extra_partition"]],
+                    env=self.env)
+            else:
+                cmd([self.settings['controller_file'], 'iso', 
self.settings['iso']],
+                    env=self.env)
             self.gen_contents_file(self.settings["iso"])
             self.gen_digest_file(self.settings["iso"])
             self.resume.enable("create_iso")

diff --git a/catalyst/targets/livecd_stage2.py 
b/catalyst/targets/livecd_stage2.py
index 1a798a1e..6f1eb5bc 100644
--- a/catalyst/targets/livecd_stage2.py
+++ b/catalyst/targets/livecd_stage2.py
@@ -25,6 +25,7 @@ class livecd_stage2(StageBase):
         "livecd/fstype",
         "livecd/gk_mainargs",
         "livecd/iso",
+        "livecd/iso_extra_partition",
         "livecd/linuxrc",
         "livecd/modblacklist",
         "livecd/motd",

Reply via email to