feat(pack/grubutil): Add FUSE mount support for containerized GRUB installation
Metadata
Current evaluation
Adds FUSE mount support for containerized GRUB installation, replacing loop device attachment. New PR with failing CI (lint, fast tests) and 14 unresolved review comments.
Suggested action: needs review
Reason: This is a fresh PR (3 days old) introducing significant changes (+492 lines) that enable GRUB installation in containers without privileged operations. CI is failing on lint and fast tests, and there are 14 unresolved review comments. The PR builds on previously merged PR #428 which added FUSE utilities. Maintainer review is needed to address CI failures and review comments.
Impact:
70
Quick Win:
24.5
Staleness:
5
Complexity:
65
Confidence:
70
Issue body
Replace loop device attachment with FUSE partition mounting to allow GRUB installation in container environments without privileged operations.
Changes:
- Add grub-probe-stub.sh that returns fake GRUB device information
- Modify setup_grub() to use FUSE mounts instead of loop devices
- Add helper functions for partition detection and FAT role checking
- Add comprehensive unit tests for the new FUSE mount approach
This enables GRUB installation on raw image files inside containers using only FUSE mounts and the grub-probe shim, eliminating the need for loop devices or other privileged operations.
Describe your changes.
---
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/imagecraft/blob/main/CONTRIBUTING.md).
- [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] 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.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
70
Quick Win:
24.5
Staleness:
5
Complexity:
65
Confidence:
70
|
needs review | Adds FUSE mount support for containerized GRUB installation, replacing loop device attachment. New PR with failing CI (lint, fast tests) and 14 unresolved review comments. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Blocked By:
imagecraft#428
(confidence 80%)
This PR builds on PR #428 which added FUSE partition and volume mounting utilities. While #428 is merged, this PR depends on those utilities to function correctly.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #415 feat(grub): install EFI GRUB without loop devices | imagecraft | open | PR converts EFI/GPT GRUB installation to use FUSE partition mounts instead of kernel loop devices, enabling unprivileged image builds. Has 11 unresolved review comments and some failing CI slow tests. |