feat(os/surface): finalize Surface Intel post-install image #4

Merged
jad merged 1 commit from feat/surface-intel-finalize-post-install into main 2026-07-11 14:28:16 +02:00
Owner

Refs #3

Summary

This finishes the Microsoft Surface Intel image follow-up after the successful on-device boot test. The image now includes Distrobox alongside the already verified linux-surface kernel, patched Business SKU surface_gpe module, Type Cover initramfs driver coverage, IPTSD, declarative pci=hpiosize=0 bootc kernel arg, and Tailscale.

The docs now separate what belongs in the image from what must remain post-install/machine-local state. In particular, Tailscale is installed and tailscaled is enabled, but tailnet auth remains a first-boot sudo tailscale up step. KMonad user config and uinput group membership are documented as local setup instead of being baked into the generic image. The local bootc switch notes also record the rootless Podman vs root/default container storage pitfall we hit while testing.

What changed

  • Layer distrobox from Fedora packages in the Surface image.
  • Add docs/post-install.md with the first-boot checklist, Secure Boot caveat, local image switching caveat, Tailscale auth, and KMonad /dev/uinput setup.
  • Update README verification steps to include Distrobox, Tailscale service enablement, and the post-install checklist.
  • Update rebase safety docs with Distrobox checks and pointers to machine-local setup.

Verified

  • Built localhost/daedalus-microsoft-surface-intel:pr-check successfully.
  • Verified packages in the image: tailscale, distrobox, iptsd, kernel-surface, libwacom-surface, libwacom-surface-data.
  • Verified tailscaled.service is enabled.
  • Verified /usr/lib/bootc/kargs.d/10-microsoft-surface-intel.toml declares pci=hpiosize=0.
  • Verified patched surface_gpe.ko exists under the pinned linux-surface module tree.
  • Verified the image has a single module tree for 6.19.8-3.surface.fc43.x86_64.
  • Verified image labels: ostree.linux=6.19.8-3.surface.fc43.x86_64, ostree.bootable=true, containers.bootc=1.
  • Ran bootc container lint inside the built image: 13 passed, 1 skipped.

Notes

Secure Boot remains expected to be disabled unless the patched external surface_gpe module is signed. The hardware test confirmed Type Cover unlock at LUKS, touchscreen input, Tailscale after switching to the correct root-storage image, and lid suspend/resume once pci=hpiosize=0 was applied.

Refs #3 ## Summary This finishes the Microsoft Surface Intel image follow-up after the successful on-device boot test. The image now includes Distrobox alongside the already verified linux-surface kernel, patched Business SKU surface_gpe module, Type Cover initramfs driver coverage, IPTSD, declarative pci=hpiosize=0 bootc kernel arg, and Tailscale. The docs now separate what belongs in the image from what must remain post-install/machine-local state. In particular, Tailscale is installed and tailscaled is enabled, but tailnet auth remains a first-boot sudo tailscale up step. KMonad user config and uinput group membership are documented as local setup instead of being baked into the generic image. The local bootc switch notes also record the rootless Podman vs root/default container storage pitfall we hit while testing. ## What changed - Layer distrobox from Fedora packages in the Surface image. - Add docs/post-install.md with the first-boot checklist, Secure Boot caveat, local image switching caveat, Tailscale auth, and KMonad /dev/uinput setup. - Update README verification steps to include Distrobox, Tailscale service enablement, and the post-install checklist. - Update rebase safety docs with Distrobox checks and pointers to machine-local setup. ## Verified - Built localhost/daedalus-microsoft-surface-intel:pr-check successfully. - Verified packages in the image: tailscale, distrobox, iptsd, kernel-surface, libwacom-surface, libwacom-surface-data. - Verified tailscaled.service is enabled. - Verified /usr/lib/bootc/kargs.d/10-microsoft-surface-intel.toml declares pci=hpiosize=0. - Verified patched surface_gpe.ko exists under the pinned linux-surface module tree. - Verified the image has a single module tree for 6.19.8-3.surface.fc43.x86_64. - Verified image labels: ostree.linux=6.19.8-3.surface.fc43.x86_64, ostree.bootable=true, containers.bootc=1. - Ran bootc container lint inside the built image: 13 passed, 1 skipped. ## Notes Secure Boot remains expected to be disabled unless the patched external surface_gpe module is signed. The hardware test confirmed Type Cover unlock at LUKS, touchscreen input, Tailscale after switching to the correct root-storage image, and lid suspend/resume once pci=hpiosize=0 was applied.
jad merged commit 1e0ac1c34c into main 2026-07-11 14:28:16 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
Reference
jad/daedalus!4
No description provided.