← Back to issue list

feat(kernel,initrd): extend plugins with new options, stabilize

View original Github issue

Metadata

Project
snapcraft
Number
#6254
Type
pull request
State
merged
Author
dilyn-corner
Labels
PR: Run Manual Spread
Created
Updated
Closed

Current evaluation

PR #6254 merged as commit 518476fc1, adding kernel/initrd plugin options, stability fixes, docs and a new kernel-deb spread test; later landed on main via #6284 (ceace05f3).

Resolution: closed resolved

Reason: The PR was approved by three reviewers and merged as commit 518476fc1 ("feat(kernel,initrd): extend plugins with new options, stabilize (#6254)"). Follow-up #6255 synced main into the feature branch, and the feature branch reached main via merged PR #6284 (ceace05f3).

Evaluated by: mr-cal-bot

No scores available.

Issue body

This PR extends the behavior of the kernel plugin to include features desired by the Canonical Kernel team. While these options are intended for that specific usage, they are valid options to use in other use-cases. Their inclusion has expand the complexity of the kernel plugin, so documentation has been improved to try and clarify the most salient choices which impact the decisions snapcrafters should make when crafting a kernel snap. A new spread test has been added (kernel-deb, and the old kernel-deb test has been renamed kernel-bin) to cover this case in a sufficiently comprehensive way. Comments have been added to the kernel build script to identify the primary patterns of behavior the script will execute. Test coverage has been expanded to cover the new options. The initrd plugin's behavior has been modified a bit to improve usability and stability. It should be less fragile now, especially when it comes to cleaning the environment. The overall behavior and stability of the plugins has been improved. These changes have been tested by Field and the Kernel team has discussed them (I will not speak for them, we can always ask). All spread and unit tests pass locally. Docs lint and render well :) Any behavior-specific changes (like naming the installed kernel image file `vmlinuz` instead of `kernel.img`) have been debated internally so all stakeholders are aware of these things; the impact should be minimal as most users are those same stakeholders. ~~**A caveat**: with the release of Resolute, a change was made in the location and name of the Resolute release tarball used by the initrd plugin. I have been informed that this is only a *short-term divergence* and the prior naming convention will be reused at some point. This means that there will be a future PR to fix the initrd plugin once this happens. I have no timelines for this, but I have setup daily tests to check this URL :)~~ This has been resolved. This PR precedes #6255, which updates the feature branch to `HEAD`. The line count is deceptive; the new test adds a whole kernel config file. This alone is over 4k lines. CC @jicheu @atomcult @kubiko @stewarthore --- - [x] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md). - [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [x] I've successfully run `make lint && make test`. - [x] I've added or updated any relevant documentation. - [x] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [x] I've updated the relevant release notes.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #6254 merged as commit 518476fc1, adding kernel/initrd plugin options, stability fixes, docs and a new kernel-deb spread test; later landed on main via #6284 (ceace05f3).
stealth/space-bunny-alpha — closed resolved Merged PR #6254 (commit 518476fc1), expanding kernel-plugin options, improving initrd stability, documentation, and tests. The temporary Resolute tarball naming divergence was resolved.
qwen/qwen3.6-35b-a3b — — Merged after approval. Extended the kernel plugin with new options, stabilized the initrd plugin, improved documentation, and added tests. Resolved a temporary Resolute tarball naming divergence. Core CI checks passed.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/snapcraft#6255 (confidence 90%)

    Merged commit 6598b614e updated the feature branch with main after #6254, as stated in the PR body.

  • Likely Fixed By: canonical/snapcraft#6284 (confidence 85%)

    Merged PR that brought the kernel/initrd plugin feature branch (including #6254) into main as ceace05f3.

  • Related To: canonical/snapcraft#6306 (confidence 55%)

    Later commit a20552d13 fixing use of custom built ubuntu-core-initramfs debs in the same kernel/initrd plugins.

Related issues

Issue Project State Summary Similarity
#6116 feat: kernel|initrd plugins: extend and improve behavior snapcraft merged Merged via #6255 (6598b614e), expanding kernel/initrd plugin behavior and options; the feature branch then reached main through #6284 (ceace05f3).
83%
#6102 feat: kernel|initrd plugins: extend and improve behavior snapcraft closed Superseded by #6110; cleaned-up kernel/initrd work landed through #6116 and was merged into main by #6284 (ceace05f3).
80%
#5814 feat(plugins): add kernel and initrd plugins snapcraft merged Merged #5814 in 8f56d299d, adding a reworked post-core18 kernel plugin and a new initrd/UKI plugin; it supersedes #4302.
76%
#6306 feat(kernel,initrd): fix use of custom built ubuntu-core-initramfs de… snapcraft merged Merged PR #6306 (kubiko): kernel/initrd plugins now install the custom-built ubuntu-core-initramfs with `apt-get install` instead of `dpkg -i`, so missing dependencies resolve correctly and spread tests cover the package.
74%
#6284 feat: merge feature/kernel initrd plugin into main snapcraft merged Merged into main as ceace05f3, adding kernel and initrd plugins for base core22 and higher.
74%
#6255 Feature/kernel initrd plugin merge snapcraft merged Merged as commit 6598b614e: a main-into-feature-branch sync for the kernel/initrd plugin branch (after conflict cleanup), picking up #6254 (518476fc1). The branch later landed on main via #6284 (ceace05f3).
73%
#3998 Kernel plugin: multiple fixes snapcraft merged Merged in #3998, fixing #3973's kernel-plugin regression, empty initramfs module crashes, wildcard overlay link errors, documentation, and tests; #4057 later reapplied missed fixes.
72%
#4302 plugins: kernel: split kernel plugin into kernel and initrd plugins snapcraft closed PR #4302 (split kernel plugin into kernel + initrd plugins) was closed unmerged on 2025-10-14 by author kubiko as superseded by canonical/snapcraft#5814, merged in commit 8f56d299d.
72%
#4104 plugins: kernel plugin fixes and spread tests snapcraft merged Merged PR #4104 (commit ad47bfae7, CRAFT-1619): added software-properties-common install, fixed core22 shell script issues in the v2/craft-parts kernel plugins, and added manual spread tests.
72%
#6106 feat: add ubuntu core initrd plugin snapcraft closed Closed unmerged as duplicate work; the parallel kernel/initrd implementation landed via #6284 (commit ceace05f3).
70%