Skip to content

stage4: add missing pre-distkmerge controller case for distkernel builds#34

Open
reavessm wants to merge 1 commit into
gentoo:masterfrom
reavessm:stage4-distkernel
Open

stage4: add missing pre-distkmerge controller case for distkernel builds#34
reavessm wants to merge 1 commit into
gentoo:masterfrom
reavessm:stage4-distkernel

Conversation

@reavessm

Copy link
Copy Markdown
Contributor

When a stage4 spec sets boot/kernel/<name>/distkernel: yes, catalyst's stagebase.py:build_kernel() calls controller.sh pre-distkmerge. The stage4 controller had no case for this action, so it fell through to the default
exit 1, making distkernel stage4 builds impossible.

This patch adds the missing pre-distkmerge) case, wiring up the existing targets/support/pre-distkmerge.sh script which runs emerge --oneshot sys-kernel/dracut inside the chroot before the distributed kernel package is
merged.

Signed-off-by: Stephen Reaves <reaves735@gmail.com>
@reavessm

Copy link
Copy Markdown
Contributor Author

For reference, this was the error I was hitting:

19 Jun 2026 01:21:16 -00: ERROR   : CatalystError: cmd(['/usr/share/catalyst/targets/stage4/controller.sh', 'pre-distkmerge']) exited 1
ERROR:catalyst:CatalystError: cmd(['/usr/share/catalyst/targets/stage4/controller.sh', 'pre-distkmerge']) exited 1
19 Jun 2026 01:21:16 -00: ERROR   : Exception running action sequence build_kernel
Traceback (most recent call last):
  File "/usr/lib/python3.14/site-packages/catalyst/base/stagebase.py", line 38, in run_sequence
    func()
    ~~~~^^
  File "/usr/lib/python3.14/site-packages/catalyst/base/stagebase.py", line 1715, in build_kernel
    cmd([self.settings['controller_file'], 'pre-distkmerge'], env=self.env)
    ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/catalyst/support.py", line 66, in cmd
    raise CatalystError('cmd(%r) exited %s' % (args, ret),
                        print_traceback=False)
catalyst.support.CatalystError: cmd(['/usr/share/catalyst/targets/stage4/controller.sh', 'pre-distkmerge']) exited 1
ERROR:catalyst:Exception running action sequence build_kernel
Traceback (most recent call last):
  File "/usr/lib/python3.14/site-packages/catalyst/base/stagebase.py", line 38, in run_sequence
    func()
    ~~~~^^
  File "/usr/lib/python3.14/site-packages/catalyst/base/stagebase.py", line 1715, in build_kernel
    cmd([self.settings['controller_file'], 'pre-distkmerge'], env=self.env)
    ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/catalyst/support.py", line 66, in cmd
    raise CatalystError('cmd(%r) exited %s' % (args, ret),
                        print_traceback=False)
catalyst.support.CatalystError: cmd(['/usr/share/catalyst/targets/stage4/controller.sh', 'pre-distkmerge']) exited 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant