Skip to content

uefi-cloud: enable SQUASHFS so the live ISO boots - #10345

Merged
igorpecovnik merged 1 commit into
mainfrom
fix-uefi-cloud-squashfs
Aug 6, 2026
Merged

uefi-cloud: enable SQUASHFS so the live ISO boots#10345
igorpecovnik merged 1 commit into
mainfrom
fix-uefi-cloud-squashfs

Conversation

@igorpecovnik

@igorpecovnik igorpecovnik commented Aug 5, 2026

Copy link
Copy Markdown
Member

Symptom

Booting the live UEFI ISO (from image-output-iso) built on the cloud branch fails in the initramfs:

Begin: Running /scripts/live-premount ... done.

  BOOT FAILED!
  ...
  Can not mount /dev/loop0 (/run/live/medium/live/filesystem.squashfs)
  on /run/live/rootfs/filesystem.squashfs

live-boot finds the medium and sets up the loop device, but the squashfs mount itself fails.

Root cause

The cloud UEFI kernel configs have CONFIG_BLK_DEV_LOOP=y and CONFIG_OVERLAY_FS=m but no CONFIG_SQUASHFS at all — so the kernel has no filesystem driver to read filesystem.squashfs. Every other branch (current/edge/legacy/bleedingedge) enables squashfs, which is why only cloud-branch ISOs fail. This is not a compressor mismatch — the driver is entirely absent.

image-output-iso builds the live ISO on the cloud branch (it's the branch that ships vmlinux-*), so this combination is exactly what breaks.

Fix

Enable SQUASHFS built-in (=y, so it's available regardless of initrd contents) in both linux-uefi-x86-cloud and linux-uefi-arm64-cloud, with the same compressor set as the sibling branches — including CONFIG_SQUASHFS_ZSTD=y to match image-output-iso's default -comp zstd.

CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y   # x86 only (matches x86 siblings)
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y

Test

  • Build uefi-x86 BRANCH=cloud with image-output-iso, boot the ISO as a virtual CD — live system reaches userspace (squashfs mounts).

Summary by CodeRabbit

  • New Features
    • Added SquashFS filesystem support for ARM64 and x86 cloud environments.
    • Enabled direct file access, extended attributes, and multiple compression formats, including LZ4, LZO, XZ, and Zstandard.
    • Added support for selecting the decompressor during mounting on x86 cloud systems.

The cloud UEFI kernels (x86 and arm64) had CONFIG_BLK_DEV_LOOP=y and
CONFIG_OVERLAY_FS=m but no CONFIG_SQUASHFS at all, while every other branch
(current/edge/legacy/bleedingedge) enables it. image-output-iso builds the live
ISO on the cloud branch, so booting it fails once live-boot tries to mount the
rootfs:

  Can not mount /dev/loop0 (/run/live/medium/live/filesystem.squashfs)
  on /run/live/rootfs/filesystem.squashfs

The loop device is set up fine (BLK_DEV_LOOP=y), but the kernel has no squashfs
driver to read the image -- it is not a compressor problem.

Enable SQUASHFS built-in with the same compressor set as the sibling branches,
including SQUASHFS_ZSTD to match image-output-iso's default -comp zstd.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@igorpecovnik
igorpecovnik requested a review from rpardini as a code owner August 5, 2026 22:27
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

SquashFS cloud kernel support

Layer / File(s) Summary
Enable SquashFS kernel features
config/kernel/linux-uefi-arm64-cloud.config, config/kernel/linux-uefi-x86-cloud.config
Both configurations enable built-in SquashFS support, direct file access, extended attributes, and LZ4, LZO, XZ, and Zstd compression support. The x86 configuration also enables mount-time decompressor selection.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: rpardini

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly states that SQUASHFS is enabled for UEFI cloud kernels so live ISOs can boot.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-uefi-cloud-squashfs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added 08 Milestone: Third quarter release size/small PR with less then 50 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels Aug 5, 2026

@EvilOlaf EvilOlaf left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably fine

@github-actions github-actions Bot added the Ready to merge Reviewed, tested and ready for merge label Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions Bot removed the Needs review Seeking for review label Aug 6, 2026
@igorpecovnik
igorpecovnik merged commit f9a0012 into main Aug 6, 2026
14 checks passed
@igorpecovnik
igorpecovnik deleted the fix-uefi-cloud-squashfs branch August 6, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

08 Milestone: Third quarter release Hardware Hardware related like kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

2 participants