You are not logged in.

#1 2026-10-04 21:40:08

bunnycat
Member
Registered: 2026-08-01
Posts: 13

[SOLVED] grub-mkconfig can't find linux-surface kernel

Hello. I'm attempting to install the linux-surface kernel on my laptop, and it seemed to go fine, but the grub-mkconfig command simply can't find it when making the config.
I've been using this guide. https://github.com/linux-surface/linux- … Setup#Arch
I've tried to look at ways to manually add the option to grub, but I genuinely just can't wrap my head around it (I've been at this for most of the day and it's probably fatigued me), so I'm reaching out here for some help too. I'm not sure what logs to include, I still haven't fully setup the laptop either so it'll take some time before I can login there and send logs. Any advice would be greatly appreciated. Thank you! ^^

EDIT: For those having the same issue, it's an archinstall thing! If you go to "/etc/grub.d" and run "chmod +x 10_linux", it is correctly added when running grub-mkconfig.

Last edited by bunnycat (Today 15:01:48)

Offline

#2 2026-10-05 06:57:39

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,156

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

pacman -Qikk linux-surface
lsblk -f
ls /boot
cat /boot/grub/grub.cfg

Offline

#3 Yesterday 01:32:10

bunnycat
Member
Registered: 2026-08-01
Posts: 13

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

Not totally sure what I'm meant to parse here myself, so I'll just send the results.
Pastebin link for "pacman -Qikk linux-surface": https://pastebin.com/TE0Hw3gf
Pastebin link for "lsblk -f": https://pastebin.com/4unrCGd5
Pastebink link for "ls /boot": https://pastebin.com/dvPuSfQQ
Pastebin link for "cat /boot/grub/grub.cfg": https://pastebin.com/vtemregd
Let me know if I broke something, it's late for me when I'm doing this so I might've missed something while trying to upload these.

Offline

#4 Yesterday 06:23:37

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,156

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

grub
initramfs-linux-surface.img
intel-ucode.img
loader
vmlinuz-linux
vmlinuz-linux-surface
### BEGIN /etc/grub.d/15_uki ###
if [ "$grub_platform" = "efi" ]; then
  uki
fi

You got screwed by the archinstall script: https://bbs.archlinux.org/viewtopic.php … 4#p2306744
Your main kernel is a UKI, the surface one is not and the grub config generation has been changed to only handle https://wiki.archlinux.org/title/Unified_kernel_image (which might easily also show up with the same label if you build the surface kernel as one)

Offline

#5 Yesterday 19:47:45

bunnycat
Member
Registered: 2026-08-01
Posts: 13

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

Archinstall messing me up again...
Thank you, I got a little closer, however it still won't boot into the surface kernel. I used ukify to make "vmlinuz-linux-surface.unsigned.efi", using the example on how to use ukify on the Arch Linux wiki page as a template, and I moved the file into /boot/EFI/Linux.
It did show up on GRUB as "Arch Linux", but when I tried to load into it, I was booted into an emergency shell that I couldn't even type in.
Transcription of the error message from a photo I took vvv

ERROR: device '' not found. Skipping fsck.
mount: /sysroot: wrong fs type, bad option, bad superblock on , missing codepage or helper program
ERROR: Failed ot mount '' on real root
You are now being dropped into an emergency shell.
sh: can't access ttg: job control turned off
[rootfs ~]# _

I am still capable of booting into the normal Linux shell, which is nice. I have a feeling that this was user error on my end and I didn't fully understand how to make the UKI file, so I wonder if there's a way I can make GRUB also read the vmlinuz-linux-surface and initramfs-linux-surface.img files as a kernel too? It'd probably be a lot easier for the future and updates and such if I was able to do that, but I'm not fully certain how. I'll probably look at the Arch Linux Wiki some more on how to change my GRUB configuration, it looks like this issue has appeared before, so I'll likely find a solution online.

Last edited by bunnycat (Yesterday 19:48:38)

Offline

#6 Yesterday 20:23:41

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,156

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

I can make GRUB also read the vmlinuz-linux-surface and initramfs-linux-surface.img files as a kernel too?there's a way I can make GRUB also read the vmlinuz-linux-surface and initramfs-linux-surface.img files as a kernel too?

Yes. The kernels are usually added by /etc/grub.d/10_linux - archinstall will have deactivated/removed that (I guess)

Offline

#7 Today 14:17:37

bunnycat
Member
Registered: 2026-08-01
Posts: 13

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

Sorry if I'm not understanding right, but /etc/grub.d/10_linux is present, so what would I change to have to have it get read and the vmlinuz-linux-surface and initramfs-linux-surface.img will get added as a kernel? I tried looking at ways to disable GRUB only reading uki but I'm not actually finding any results that are helping. (Google thinks I want to skip the GRUB menu...)
Edit: Oh, I can probably just manually change grub.cfg, haha.

Last edited by bunnycat (Today 14:21:52)

Offline

#8 Today 14:38:59

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,156

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

but /etc/grub.d/10_linux is present

It doesn't show up in the generated config.
Is it executable? What are its contents?

Also check /etc/default/grub

I can probably just manually change grub.cfg

Yes.

Offline

#9 Today 14:59:52

bunnycat
Member
Registered: 2026-08-01
Posts: 13

Re: [SOLVED] grub-mkconfig can't find linux-surface kernel

Good news: I was able to have my laptop boot from the initramfs and vmlinuz files. However, it had the same error the UKI file did, so... that stinks. However, this is another mistake I made, but I don't need to fix it.

As for the questions you raised, 10_linux was in fact not executable. Now it is! big_smile And now that it is (which I really should've checked first lol), the linux-surface kernel is present and even boots properly unlike my scuffed attempts. Thank you so much big_smile

Offline

Board footer

Powered by FluxBB