aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzamat H. Hackimov <azamat.hackimov@gmail.com>2023-08-01 11:18:31 +0300
committerAndreas K. Hüttel <dilfridge@gentoo.org>2023-08-22 22:36:37 +0200
commit3d4fb24383716958dadea95d100911037bb2b557 (patch)
tree88825ab2e7371fa54bb812281875bae49e6c9349 /catalyst
parentAdd configuration options and code to write out binrepos.conf (diff)
downloadcatalyst-3d4fb24383716958dadea95d100911037bb2b557.tar.gz
catalyst-3d4fb24383716958dadea95d100911037bb2b557.tar.bz2
catalyst-3d4fb24383716958dadea95d100911037bb2b557.zip
Implementing distkernel installation
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'catalyst')
-rw-r--r--catalyst/base/stagebase.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index a9147241..fe307eab 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -694,6 +694,8 @@ class StageBase(TargetBase, ClearBase, GenBase):
"boot/kernel/" + x + "/aliases",
"boot/kernel/" + x + "/config",
"boot/kernel/" + x + "/console",
+ "boot/kernel/" + x + "/distkernel",
+ "boot/kernel/" + x + "/dracut_args",
"boot/kernel/" + x + "/extraversion",
"boot/kernel/" + x + "/gk_action",
"boot/kernel/" + x + "/gk_kernargs",
@@ -716,6 +718,11 @@ class StageBase(TargetBase, ClearBase, GenBase):
self.settings["gk_mainargs"] = self.settings[gk_mainargs]
del self.settings[gk_mainargs]
+ dracut_mainargs = prefix + "/dracut_args"
+ if dracut_mainargs in self.settings:
+ self.settings["dracut_args"] = self.settings[dracut_mainargs]
+ del self.settings[dracut_mainargs]
+
# Ask genkernel to include b2sum if <target>/verify is set
verify = prefix + "/verify"
if verify in self.settings:
@@ -1584,7 +1591,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
self.resume.enable("build_packages")
def build_kernel(self):
- '''Build all configured kernels'''
+ """Build all configured kernels"""
if "autoresume" in self.settings["options"] \
and self.resume.is_enabled("build_kernel"):
log.notice(
@@ -1595,19 +1602,23 @@ class StageBase(TargetBase, ClearBase, GenBase):
mynames = self.settings["boot/kernel"]
if isinstance(mynames, str):
mynames = [mynames]
- # Execute the script that sets up the kernel build environment
- cmd([self.settings['controller_file'], 'pre-kmerge'], env=self.env)
for kname in [sanitize_name(name) for name in mynames]:
+ if "boot/kernel/" + kname + "/distkernel" in self.settings:
+ cmd([self.settings['controller_file'], 'pre-distkmerge'], env=self.env)
+ else:
+ # Execute the script that sets up the kernel build environment
+ cmd([self.settings['controller_file'], 'pre-kmerge'], env=self.env)
self._build_kernel(kname=kname)
self.resume.enable("build_kernel")
def _build_kernel(self, kname):
- "Build a single configured kernel by name"
+ """Build a single configured kernel by name"""
if "autoresume" in self.settings["options"] \
and self.resume.is_enabled("build_kernel_" + kname):
log.notice('Resume point detected, skipping build_kernel '
'for %s operation...', kname)
return
+
self._copy_kernel_config(kname=kname)
key = 'boot/kernel/' + kname + '/extraversion'
@@ -1617,8 +1628,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
self._copy_initramfs_overlay(kname=kname)
# Execute the script that builds the kernel
- cmd([self.settings['controller_file'], 'kernel', kname],
- env=self.env)
+ cmd([self.settings['controller_file'], 'kernel', kname], env=self.env)
if "boot/kernel/" + kname + "/initramfs_overlay" in self.settings:
log.notice('Cleaning up temporary overlay dir')