Open qzed opened 2 years ago
See https://github.com/linux-surface/grub/issues/1 for more information.
It looks like the Pro X is one of the few devices that actually care about different memory types and the redhat patches allocate data-type memory for the kernel. When we try to execute that on the Pro X, it stalls. Allocating code-type memory instead fixes this: https://github.com/linux-surface/grub/commit/55b95a388414a3d850e24fd2ae8fac100ffd9319. I've submitted a PR with this commit to rhboot/grub2: https://github.com/rhboot/grub2/pull/101.
Some GRUB versions, notably the ones provided by Arch Linux ARM and Fedora, do not seem to work well with the Surface Pro X and prevent the kernel from booting. The device seems to lock up even before the kernel exits the EFI stub. This may be an issue with kernel loader changes introduced by Red Hat, as plain upstream GRUB sources seem to behave well. We should find out what exactly causes this issue.
Known working GRUB images can be found at https://github.com/linux-surface/grub-image-aarch64.