Skip to content

contrib/surface: add Surface Pro/Laptop x86-64 bootc example (systemd-boot, linux-surface, TPM2)#1

Open
corning-croak-cable wants to merge 8 commits into
mainfrom
feature/surface-x86-uefi
Open

contrib/surface: add Surface Pro/Laptop x86-64 bootc example (systemd-boot, linux-surface, TPM2)#1
corning-croak-cable wants to merge 8 commits into
mainfrom
feature/surface-x86-uefi

Conversation

@corning-croak-cable

Copy link
Copy Markdown
Collaborator

Surface Pro / Surface Laptop - x86-64 UEFI (contrib example)

Adds example Containerfile and supporting config for building a bootc-compatible
OCI image for Microsoft Surface Pro and Surface Laptop (x86-64) devices.

Files (contrib/surface/x86/)

contrib/surface/x86/
  Containerfile.fedora                          # Fedora-based OCI image (linux-surface kernel)
  usr/lib/bootc/install/50-surface-x86.toml    # install config: systemd-boot, DPS, kargs
  usr/lib/bootc/kargs.d/50-surface-x86.toml    # persistent kargs (PSR, deep sleep, lid fix)
  usr/lib/modprobe.d/surface-x86.conf           # usbhid poll rate, pcspkr blacklist
  usr/lib/udev/rules.d/99-surface-typecover.rules  # Type Cover wakeup-from-suspend
  usr/lib/systemd/sleep.conf.d/surface-x86.conf    # prefer S3 deep sleep
  usr/lib/systemd/system-preset/15-surface-x86.preset  # enable iptsd, thermald
  README.md

Install config design (verified from config.rs)

Field Value Reason
match-architectures ["x86_64"] Only applied on x86-64 hosts (verified: test_arch() in config.rs)
bootloader "systemd" Surface UEFI is standard EFI; systemd-boot works natively
discoverable-partitions true Enabled when systemd-boot is selected (BLI always implemented)
block ["direct", "tpm2-luks"] Both allowed; user selects via --block-setup at install
kargs PSR off, deep sleep, lid fix Surface-specific ACPI/i915 quirks

Build and install

podman build --platform linux/amd64 -f contrib/surface/x86/Containerfile.fedora -t surface-x86 .
podman run --rm --privileged --pid=host -v /dev:/dev surface-x86 bootc install to-disk /dev/nvme0n1

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant