View previous topic :: View next topic |
Author |
Message |
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Sun Jul 28, 2024 1:26 am Post subject: EFI stub wouldn't boot: kernel "Not Found" |
|
|
Is there any way to troubleshoot this? I checked the kernel config, whether the binary is in the right place and the boot entry is valid, via efibootmgr. Nothing stands out as being obviously wrong. I can even see the kernel from the EFI prompt, but when I try to run it from there, everything freezes.
Many thanks.
Last edited by NP_complete on Wed Jul 31, 2024 9:12 am; edited 2 times in total |
|
Back to top |
|
|
kimchi_sg Advocate
Joined: 26 Nov 2004 Posts: 3038
|
Posted: Sun Jul 28, 2024 2:27 am Post subject: Re: EFI stub wouldn't boot: kernel "Not Found" |
|
|
NP_complete wrote: | I can even see the kernel from the EFI prompt, but when I try to run it from there, everything freezes. |
Post the basic info please:
- kernel config - use wgetpaste
- efibootmgr command output
Usually if loading kernel freezes immediately, it is a sign framebuffer or proper video driver was not compiled into kernel. |
|
Back to top |
|
|
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Sun Jul 28, 2024 4:20 am Post subject: |
|
|
Thanks for your reply, @kimchi_sg. I am using a minimal USB stick for the installation. Please see here, here, and below: Quote: | BootCurrent: 0003
Timeout: 2 seconds
BootOrder: 0004,0000,0001,0002,0003
Boot0000* Setup MemoryMapped(11,0x860000,0x15fffff)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
Boot0001 UEFI BootManagerMenuApp MemoryMapped(11,0x860000,0x15fffff)/FvFile(eec25bdc-67f2-4d95-b1d5-f81b2039d11d)
Boot0002* UEFI Shell MemoryMapped(11,0x860000,0x15fffff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
Boot0003* MyFlashDrive PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0){auto_created_boot_option}
Boot0004* gentoo-6.9.11 HD(1,MBR,0x5eca5c4a,0x800,0x1ce7800)/File(\EFI\Gentoo\bzImage-6.9.11.efi) | Quote: | 13880 -rwx------ 1 root root 14210048 Jul 28 01:03 /efi/EFI/Gentoo/bzImage-6.9.11.efi |
|
|
Back to top |
|
|
Phoenix591 Guru
Joined: 17 Sep 2007 Posts: 493
|
Posted: Sun Jul 28, 2024 5:13 am Post subject: |
|
|
Code: | Boot0004* gentoo-6.9.11 HD(1,MBR,0x... |
is your drive partitioned in old mbr format? that could be throwing it off. Double check your disk layout with fdisk -l . |
|
Back to top |
|
|
kimchi_sg Advocate
Joined: 26 Nov 2004 Posts: 3038
|
Posted: Sun Jul 28, 2024 5:25 am Post subject: |
|
|
NP_complete wrote: | Thanks for your reply, @kimchi_sg. I am using a minimal USB stick for the installation. Please see here, here, and below: Quote: | BootCurrent: 0003
Timeout: 2 seconds
BootOrder: 0004,0000,0001,0002,0003
Boot0000* Setup MemoryMapped(11,0x860000,0x15fffff)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
Boot0001 UEFI BootManagerMenuApp MemoryMapped(11,0x860000,0x15fffff)/FvFile(eec25bdc-67f2-4d95-b1d5-f81b2039d11d)
Boot0002* UEFI Shell MemoryMapped(11,0x860000,0x15fffff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
Boot0003* MyFlashDrive PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0){auto_created_boot_option}
Boot0004* gentoo-6.9.11 HD(1,MBR,0x5eca5c4a,0x800,0x1ce7800)/File(\EFI\Gentoo\bzImage-6.9.11.efi) | Quote: | 13880 -rwx------ 1 root root 14210048 Jul 28 01:03 /efi/EFI/Gentoo/bzImage-6.9.11.efi |
|
I have Alder Lake Intel NUC which is 2 generations behind yours... the below is probably the issue.
I am assuming you also use the Intel integrated graphics.
In your config, all the Intel display driver settings are set to static "y" instead of module "m".
But the firmware for Intel graphics is not compiled into the kernel:
Code: |
CONFIG_EXTRA_FIRMWARE=""
|
I assume you have emerged linux-firmware which contains essential firmware for the graphics to work.
You can either:
- Change to compile the Intel drivers as modules, or
- Compile them static as now, and compile the firmware into the kernel also.
How to compile firmware into kernel? Using CONFIG_EXTRA_FIRMWARE, which is a list of firmware files separated by spaces.
The files should have extension .bin
How to get the firmware files that is needed for your Meteor Lake graphics?
My method:
- Boot the Gentoo LiveUSB
- Once booted run:
Code: | # dmesg | grep 'oading f' | grep -v yoyo |
It will list all the firmware files that the kernel tried to load.
(The 'grep -v yoyo' filters out a false result which is known to be missing in linux-firmware and not needed.) |
|
Back to top |
|
|
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Sun Jul 28, 2024 6:01 am Post subject: |
|
|
@kimchi_sg, I built CONFIG_DRM_I915 as module - same problem. I am wondering, though, if this module MUST be built into the kernel because it is being used by the frame buffer at boot. What do you think?
@Phoenix591, thanks for the comment. According to fdisk -l, the disk label type is gpt. Correct me if I'm wrong: the MBR is present here because the ESP partition contains vfat. |
|
Back to top |
|
|
kimchi_sg Advocate
Joined: 26 Nov 2004 Posts: 3038
|
Posted: Sun Jul 28, 2024 6:27 am Post subject: |
|
|
NP_complete wrote: | @kimchi_sg, I built CONFIG_DRM_I915 as module - same problem. I am wondering, though, if this module MUST be built into the kernel because it is being used by the frame buffer at boot. What do you think? |
I play safe and static everything, and disable loadable module support. But then I do not change my hardware setup though, so YMMV. |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 489
|
Posted: Sun Jul 28, 2024 8:08 am Post subject: |
|
|
Please show Code: | lsblk -f -o +PARTUUID |
Which command did you use to create the NVRAM entry? Please provide the complete command. |
|
Back to top |
|
|
Nowa Developer
Joined: 25 Jun 2014 Posts: 429 Location: Nijmegen
|
Posted: Sun Jul 28, 2024 8:18 am Post subject: |
|
|
NP_complete wrote: | I am wondering, though, if this module MUST be built into the kernel because it is being used by the frame buffer at boot. What do you think? |
You don't need it built in if you enable some other framebuffer driver such as FB_EFI or DRM_SIMPLEDRM. _________________ OS: Gentoo 6.10.12-gentoo-dist, ~amd64, 23.0/desktop/plasma/systemd
MB: MSI Z370-A PRO
CPU: Intel Core i9-9900KS
GPU: Intel Arc A770 16GB & Intel UHD Graphics 630
SSD: Samsung 970 EVO Plus 2 TB
RAM: Crucial Ballistix 32GB DDR4-2400 |
|
Back to top |
|
|
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Sun Jul 28, 2024 7:13 pm Post subject: |
|
|
@sMueggli, @AndrewAmmerlaan, thanks for weighing in.
@sMueggli, running Quote: | lsblk -f -o +PARTUUID | outputs Quote: | NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS PARTUUID
loop0
sda
└─sda1
sdb
└─sdb1 3.4G 0% /root/usb
zram0
nvme0n1
├─nvme0n1p1
├─nvme0n1p2
├─nvme0n1p3 84.9G 15% /
└─nvme0n1p4 | Here, sda1 is the live USB, and sdb1 is another flash drive I use to move files back and forth. For your second question, Quote: | Which command did you use to create the NVRAM entry? Please provide the complete command. | could you clarify what "NVRAM entry" means? |
|
Back to top |
|
|
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Sun Jul 28, 2024 9:38 pm Post subject: |
|
|
This may be crucial, or it may not be. Apparently, I forgot to mention that the EFI is coreboot-based. The kernel has a handful of options that mention coreboot, so I did this: Quote: | 1569,1570c1569,1577
< # CONFIG_SYSFB_SIMPLEFB is not set
< # CONFIG_GOOGLE_FIRMWARE is not set
---
> CONFIG_SYSFB_SIMPLEFB=y
> CONFIG_GOOGLE_FIRMWARE=y
> # CONFIG_GOOGLE_SMI is not set
> CONFIG_GOOGLE_CBMEM=y
> CONFIG_GOOGLE_COREBOOT_TABLE=y
> # CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
> CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
> # CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
> # CONFIG_GOOGLE_VPD is not set
3361c3368
< # CONFIG_DRM_SIMPLEDRM is not set
---
> CONFIG_DRM_SIMPLEDRM=y
3410d3416
< # CONFIG_FB_SIMPLE is not set | Sadly, this made no difference. |
|
Back to top |
|
|
Goverp Advocate
Joined: 07 Mar 2007 Posts: 2177
|
Posted: Mon Jul 29, 2024 8:34 am Post subject: |
|
|
NP_complete wrote: | ...Correct me if I'm wrong: the MBR is present here because the ESP partition contains vfat. |
I'm pretty sure you're wrong, but I couldn't find a reference to prove it! (EFI documention seems over-engineered to me....)
The ESP uses vfat, (or rather, IIRC the EFI spec requires FAT32, which is about the same), but that's irrelevant, as it's a filesystem. MBR is about partition tables, and EFI was defined for GPT partitions - I think its MBR support is to allow a format readable by legacy applications, and in most situations (and all new installations) it's unnecessary.
There is a requirement to set appropriate flags in the GPT to identify the ESP, and that's reminiscent of the MBR need to flag a Windows partition as "bootable". This similarity sometimes leads people to incorrectly assume a need for MBR. Unfortunately various partitioning tools use differing settings for this flag, adding to the confusion. The Arch Linux wiki contains a fairly clear explanation. _________________ Greybeard |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 489
|
Posted: Mon Jul 29, 2024 4:09 pm Post subject: |
|
|
NP_complete wrote: | @sMueggli, running Quote: | lsblk -f -o +PARTUUID | outputs [...] |
I was hoping to see the partition UUID to see on which partition your boot entry is pointing.
NP_complete wrote: | For your second question, Quote: | Which command did you use to create the NVRAM entry? Please provide the complete command. | could you clarify what "NVRAM entry" means? |
The boot entries are stored in the so called NVRAM. Basically I wanted to see the "efibootmgr -c..." command (or whatever you used). |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 489
|
Posted: Mon Jul 29, 2024 4:37 pm Post subject: |
|
|
Goverp wrote: | NP_complete wrote: | ...Correct me if I'm wrong: the MBR is present here because the ESP partition contains vfat. |
I'm pretty sure you're wrong, but I couldn't find a reference to prove it! (EFI documention seems over-engineered to me....) |
I think, the answer is not hidden in the UEFI spec.
The output is generated by "efibootmgr" which is parsing the /sys/firmware/efi/efivars/Boot* files. The MBR or GPT entry should reflect the partition table of the disk.
On the other hand it is also possible that NVRAM entries are out of date or wrong (in this specific case I do not think that the data are "historical" and out of date, but simply wrong). |
|
Back to top |
|
|
NP_complete Tux's lil' helper
Joined: 21 Mar 2009 Posts: 136
|
Posted: Wed Jul 31, 2024 9:10 am Post subject: |
|
|
@sMueggli, you were absolutely right! This boot entry Quote: | Boot0004* gentoo-6.9.11 HD(1,MBR,0x5eca5c4a,0x800,0x1ce7800)/File(\EFI\Gentoo\bzImage-6.9.11.efi) | was problematic, although I'm still scratching my head as to how it came about, given that I was using efibootmgr. Anyway, after erasing and recreating the entry, I don't get the "Not Found" message anymore. In the newly created entry, GPT replaces MBR. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|