Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installing Linux Surface Kernel on Bazzite running Surface Pro 7+ fails #1666

Open
dankerthrone opened this issue Jan 21, 2025 · 2 comments
Open

Comments

@dankerthrone
Copy link

Similar to the issues described in #1511, I got the ol'

error: rpm-ostree kernel-install wrapper when trying to execute

 rpm-ostree override remove kernel kernel-core \
                           kernel-modules kernel-modules-extra \
                           libwacom libwacom-data \
                           --install kernel-surface \
                           --install iptsd \
                           --install libwacom-surface \
                           --install libwacom-surface-data

I went and reinstalled Bazzite with a larger EFI partition, but I fear it might not have been enough? I'll reinstall again with like 5GB each of EFI and boot, just to be able to exclude that from the list of possible reasons.

Anyway, the above error message disappears with like 2 GB of EFI and /boot each. However, there's a new error message reading:

error: Running %posttrans for kernel-surface-core: bwrap(/bin/sh): Child process killed by signal 126; run `journalctl -t 'rpm-ostree(kernel-surface-core.posttrans)'` for more information

This is the output of above journalctl command:

rpm-ostree(kernel-surface-core.posttrans)[24531]: This system is rpm-ostree based; initramfs handling is
rpm-ostree(kernel-surface-core.posttrans)[24531]: integrated with the underlying ostree transaction mechanism.
rpm-ostree(kernel-surface-core.posttrans)[24531]: Use `rpm-ostree initramfs` to control client-side initramfs generation.
rpm-ostree(kernel-surface-core.posttrans)[24531]: rpm-ostree: Note: This system is image (rpm-ostree) based.
rpm-ostree(kernel-surface-core.posttrans)[24531]: rpm-ostree: Dropping privileges as `dracut` was executed with not "known safe" arguments.
rpm-ostree(kernel-surface-core.posttrans)[24531]: rpm-ostree: You may invoke the real `dracut` binary in `/usr/libexec/rpm-ostree/wrapped/dracut`.
rpm-ostree(kernel-surface-core.posttrans)[24531]: rpm-ostree: Continuing execution in 5 seconds.
rpm-ostree(kernel-surface-core.posttrans)[24531]: setpriv: failed to execute /usr/libexec/rpm-ostree/wrapped/dracut: Permission denied
rpm-ostree(kernel-surface-core.posttrans)[24473]: /usr/lib/kernel/install.d/50-dracut.install failed with exit status 126.
rpm-ostree(kernel-surface-core.posttrans)[25137]: cp: cannot create regular file '/boot/vmlinuz-6.12.7-1.surface.fc41.x86_64': No such file or directory
rpm-ostree(kernel-surface-core.posttrans)[25139]: cp: cannot create regular file '/boot/System.map-6.12.7-1.surface.fc41.x86_64': No such file or directory
rpm-ostree(kernel-surface-core.posttrans)[25142]: cp: cannot create regular file '/boot/config-6.12.7-1.surface.fc41.x86_64': No such file or directory
rpm-ostree(kernel-surface-core.posttrans)[25144]: cp: cannot create regular file '/boot/.vmlinuz-6.12.7-1.surface.fc41.x86_64.hmac': No such file or directory
rpm-ostree(kernel-surface-core.posttrans)[25160]: grub2-probe: error: failed to get canonical path of `tmpfs'.
rpm-ostree(kernel-surface-core.posttrans)[25159]: No path or device is specified.
rpm-ostree(kernel-surface-core.posttrans)[25159]: Usage: grub2-probe [OPTION...] [OPTION]... [PATH|DEVICE]
rpm-ostree(kernel-surface-core.posttrans)[25159]: Try 'grub2-probe --help' or 'grub2-probe --usage' for more information.
rpm-ostree(kernel-surface-core.posttrans)[25161]: grub2-mkrelpath: error: failed to get canonical path of `/boot/vmlinuz-6.12.7-1.surface.fc41.x86_64'.
rpm-ostree(kernel-surface-core.posttrans)[25162]: dirname: missing operand
rpm-ostree(kernel-surface-core.posttrans)[25162]: Try 'dirname --help' for more information.
rpm-ostree(kernel-surface-core.posttrans)[25230]: This system is rpm-ostree based; initramfs handling is
rpm-ostree(kernel-surface-core.posttrans)[25230]: integrated with the underlying ostree transaction mechanism.
rpm-ostree(kernel-surface-core.posttrans)[25230]: Use `rpm-ostree initramfs` to control client-side initramfs generation.
rpm-ostree(kernel-surface-core.posttrans)[25230]: rpm-ostree: Note: This system is image (rpm-ostree) based.

It throws the same error if you build the dummy package btw as described in the Silverblue install guide.

All in all, this is quite a bummer, because I've tried every supported distro now (well, except for Tumbleweed, for which support isn't maintained anymore :() and Bazzite is not only incredibly slick and fast, but also supports rudimentary touch input right out of the box. Unfortunately, Debian and Fedora both do not work on my SP 7+.

I'll just try again with a bigger EFI partition, but I doubt that's where the problem is.

@dankerthrone
Copy link
Author

dankerthrone commented Jan 21, 2025

The same happens when I run the installation commands as root.

I also followed this advice and got the same results again:

Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7147]: cp: cannot create regular file '/boot/vmlinuz-6.12.7-1.surface.fc41.x86_64': No such file or directory
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7149]: cp: cannot create regular file '/boot/System.map-6.12.7-1.surface.fc41.x86_64': No such file or directory
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7151]: cp: cannot create regular file '/boot/config-6.12.7-1.surface.fc41.x86_64': No such file or directory
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7153]: cp: cannot create regular file '/boot/.vmlinuz-6.12.7-1.surface.fc41.x86_64.hmac': No such file or directory
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7170]: grub2-probe: error: failed to get canonical path of `tmpfs'.
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7169]: No path or device is specified.
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7169]: Usage: grub2-probe [OPTION...] [OPTION]... [PATH|DEVICE]
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7169]: Try 'grub2-probe --help' or 'grub2-probe --usage' for more information.
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7171]: grub2-mkrelpath: error: failed to get canonical path of `/boot/vmlinuz-6.12.7-1.surface.fc41.x86_64'.
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7172]: dirname: missing operand
Jan 21 19:46:51 surface rpm-ostree(kernel-surface-core.posttrans)[7172]: Try 'dirname --help' for more information.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: This system is rpm-ostree based; initramfs handling is
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: integrated with the underlying ostree transaction mechanism.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: Use `rpm-ostree initramfs` to control client-side initramfs generation.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: rpm-ostree: Note: This system is image (rpm-ostree) based.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: rpm-ostree: Dropping privileges as `dracut` was executed with not "known safe" arguments.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: rpm-ostree: You may invoke the real `dracut` binary in `/usr/libexec/rpm-ostree/wrapped/dracut`.
Jan 21 19:46:56 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: rpm-ostree: Continuing execution in 5 seconds.
Jan 21 19:47:01 surface rpm-ostree(kernel-surface-core.posttrans)[7185]: setpriv: failed to execute /usr/libexec/rpm-ostree/wrapped/dracut: Permission denied
Jan 21 19:47:01 surface rpm-ostree(kernel-surface-core.posttrans)[7145]: /usr/lib/kernel/install.d/50-dracut.install failed with exit status 126.

This also happens when I unmount both the EFI and boot partitions. I dunno, thought it might be worth a shot if it's an access/permissions problem

@dankerthrone
Copy link
Author

dankerthrone commented Jan 22, 2025

So for anyone finding themselves in a similar situation: if understand this discussion correctly, Bazzite seems to be moving away from supporting linux-surface-kernel. That's a major bummer, as I learned to really like it (except for the missing touch support).

My current "workaround" is just installing Aurora Linux (KDE-flavored Fedora Atomic/UBlue) as that above discussion and the project website both claim out of the box support for Surface devices. And I can confirm: even without following the Linux-surface installation wiki guide, I have multi-touch gesture, palm rejection and pen support. iptsd even comes preinstalled and is ready to be calibrated on first boot.

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

No branches or pull requests

1 participant