Skip to content

iso/ (live-build) is missing several required Calamares module configs — is there a working version somewhere? #27

Description

@cyryllo

Problem / motivation

hile testing the GRUB fix from PR #26 on a real install (Proxmox VM, OVMF/UEFI), I built an ISO from iso/build.sh per docs/BUILD.md and hit a chain of missing/incomplete Calamares configs that suggest iso/ was never finished:

  1. Desktop mismatch — iso/ builds Hyprland+DMS, but docs/BUILD.md, the README, CHANGELOG and release notes all describe KDE Plasma. theme/ also ships a full KDE/Plasma theme (Kvantum, plasma-theme, look-and-feel) that iso/ never wires in.
  2. etc/calamares/modules/unpackfs.conf doesn't exist — install failed immediately with "Bad unpackfs configuration - There is no configuration information."
  3. etc/calamares/modules/packages.conf doesn't exist — failed with "Bad backend backend=None" (schema requires backend).
  4. grub-install fails inside the Calamares chroot: grub-install: error: cannot find a device for /boot/efi (is /dev mounted?), even though findmnt from the live session shows /boot/efi correctly mounted on /dev/sda1 (vfat) under /tmp/calamares-root-.../boot/efi. Looks like /dev isn't fully populated/bind-mounted inside the target chroot at the point bootloader runs.
  5. None of the apps/ (tuner, hub, ai-panel, monitor, kernel-manager…) get installed by iso/ at all.

I added the missing configs (unpackfs.conf, packages.conf) and swapped the desktop to KDE to match the docs — those are in PR #26 branch — but #4 looks like it needs your actual working Calamares module set (or whatever you run before eggs produce on the dev board) to compare against, since I don't have a second reference to diff.

Would you be willing to share the real /etc/calamares/modules/* you use (even just as a gist, redacted if needed), or point at where in the eggs/penguins-eggs flow the equivalent gets generated? That would save a lot of guesswork for anyone trying to build from iso/ as documented.

Proposed solution

Upload or share

Area

Other

Alternatives considered

No response

Activity

  1. MTSistemi commented on Aug 15, 2026

    @MTSistemi
    Owner

    You were right, and it was worse than "missing a few module configs": iso/ had Hyprland as its desktop. The package list pulled in hyprland, wofi, mako, swaylock, and the two SDDM hooks set the session to hyprland. Nothing KDE anywhere, while the system we actually ship has been Plasma for months. The iso/ tree had drifted from the product to the point of describing a different distribution.

    Fixed in 70f215d:

    • 10-desktop-hyprland.list.chroot → 10-desktop-kde.list.chroot. The package names are not hand-picked: they are the packages actually marked manually-installed on the BC-250 development board, so the list describes the system users really get.
    • Both SDDM hooks now set plasmax11. X11 rather than Wayland because that is what the board actually runs.
    • build.sh announced "Debian forky | Hyprland+DMS | kernel 7.0.10" — wrong on all three counts. Now sid, Plasma 6, 7.1.7.
    • The Calamares slide advertised Hyprland and kernel 7.0.10.

    Your Calamares modules from #26 are in, both of them: shellprocess@boot_reconfigure.conf and skillfish-fix-boot-extents, wired into the sequence after bootloader. I had left those out when I thought iso/ was a dead branch. It is not being dropped — so they belong there, and the comments you wrote explaining the $... expansion trap in shellprocess YAML are worth keeping on their own.

    While in there, 231,000 lines of live-build artefacts came out of the repository: chroot.files alone was 225,390 lines, a listing of every file inside a May build. iso/.gitignore now keeps them out.

    What is still missing, and I would rather say it than let you discover it: none of this has been through an actual lb build. The changes are consistent and syntax-checked, but a KDE live-build ISO has not been produced or booted from this tree. That is the next step, and it is also the honest condition for calling iso/ supported again — if it is not built and booted at least once per release, it will drift right back.

    If you want to take that run, say so and I will stay out of your way. Otherwise we will do it here and report the result on this issue. Keeping it open until then.

  2. MTSistemi commented on Aug 15, 2026

    @MTSistemi
    Owner

    It builds. P: Build completed successfully, and a 2.9 GB SkillFishOS-amd64.hybrid.iso came out of iso/ on real hardware.

    The tree needed more than the missing module configs you spotted, so here is what it took, in case you build from it:

    • Package list: it was still Hyprland — hyprland, wofi, mako, swaylock — with nothing KDE, while we have shipped Plasma for months. Rewritten from the packages actually installed on the board minus the Depends closure, because --apt-recommends false means Recommends never come back. kwin-x11 was the sharp edge: without it the plasmax11 session starts with no window manager at all.
    • Calamares: settings.conf listed 19 module instances and modules/ had 5 files. unpackfs.conf — the module that copies the system onto the disk — was one of the missing ones. Now 14, validated against the 3.4.2 schema. The btrfs subvolumes were in fstab.conf, where nothing reads them; they belong to mount.
    • Your two modules from iso/calamares: run grub-install + update-grub after bootloader, and fix eggs' own boot-fix from silently going stale #26 are in, wired after bootloader.
    • Kernel: the tag was still kernel-7.0.10-skillfishos while everything else said 7.1.7. That did not fail the build, it silently produced an image with June's kernel.
    • ca-certificates was missing from --debootstrap-options, so the first apt update over HTTPS died before installing anything.
    • An 0115-ssh-debug hook, marked "remove for release" but active, set PermitRootLogin yes and root's password to a fixed string, with a service restoring it at every boot — and it lands in the squashfs. Removed. For the record I checked the published 26.06.3: it is not there, so released media were never affected.

    Verified in the produced image: /live/vmlinuz-7.1.7-skillfishos-generic and its initrd are present (the --linux-packages none trap), and El Torito has both a BIOS and a UEFI entry.

    Two real defects the build surfaced, filed separately as #30: the nct6687 fan module fails to build in the chroot, and hook 0050-nct6687 gets a 404 from curl before that. Fan control matters on this board, so it is not cosmetic.

    Closing this one, since the question it asked — "is there a working version somewhere?" — now has an answer: yes, in the tree, and it produces a bootable ISO. Thanks for pushing on it; the tree would still be quietly wrong otherwise.

    One honest caveat: the ISO has been built and inspected, not yet booted. That is the next step, and if it misbehaves this reopens.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions