View previous topic :: View next topic |
Author |
Message |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Mon Mar 24, 2025 4:48 pm Post subject: Fresh Gentoo Install - Trouble with ALL bootloaders |
|
|
Hello Gentoo Community,
I've been a gentoo user for at least the last 15 years, mainly on my home server environment. I have decided to upgrade my homelab server after 10 years of running (more or less) PC hardware and I purchased a used Dell R540 rack-mounted server with dual Xeon 6138 Gold CPUs.
I must say the gentoo handbook has become a wonderful document and following it with my fresh install was a bliss.
However, I cannot seem to get my system to boot - my server shows nothing else than "booting gentoo failed".
I have compiled my own kernel using gentoo-sources like I have been doing since my early days. My experience with "new" boot loaders have been very limited as I am still using lilo (with a GPT partition) on my current operational machine.
On this new install I set my system to UEFI in the BIOS setting and tried grub, systemd-boot and EFI stub. The pattern is always the same: Once I reboot from the liveCD, booting my installation fails with "booting <label> failed".
I have installed gentoo on a 1TB NVMe module installed with a PCIe adapter.
Hoping for some hints how to solve this. I think the easiest is to use Grub going forward and make this work somehow.
From the top, I have created a GPT partition as per the handbook:
Code: | Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 69208063 67108864 32G Linux swap
/dev/nvme0n1p3 69208064 1953525134 1884317071 898.5G Linux root (x86-64) |
The EFI partition is formatted with fat and the system partition is XFS-formatted.
installkernel is built with grub USE flag and all others have been disabled.
This is the output of "make install":
Code: | iucode_tool: Writing selected microcodes to: /boot/intel-uc.img
'/boot/grub/grub.cfg' -> '/boot/grub/grub.cfg~'
Generating grub configuration file ...
Found linux image: /efi/EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi
Found initrd image: /efi/EFI/Gentoo/intel-uc.img
Found linux image: /efi/EFI/Gentoo/vmlinuz-6.12.16-gentoo-old.efi
Found initrd image: /efi/EFI/Gentoo/intel-uc.img
Found linux image: /boot/vmlinuz-6.12.16-gentoo
Found initrd image: /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
Found linux image: /boot/vmlinuz-6.12.16-gentoo.old
Found initrd image: /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img.old
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest image: /boot/memtest86plus/memtest64.bios
Found memtest image: /boot/memtest86plus/memtest.efi64
done |
Any suggestions from anyone? Thank you! |
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Mon Mar 24, 2025 5:16 pm Post subject: |
|
|
Welcome,
The initial message gave me impression that first stage boot loader (BIOS/UEFI) having problem locate boot device. So from your system setup were you able see those NVMe device(s)? maybe you need to enable/disable something.
Have you seen this? https://dl.dell.com/topicspdf/poweredge-r540_reference-guide7_en-us.pdf |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Mon Mar 24, 2025 7:25 pm Post subject: |
|
|
Thanks for the hint. I triple checked my BIOS settings and they seem alright, e.g. regarding the NVMe module in non-RAID mode, etc.
The system seems to be able to "see" the module but fails to boot from it. This is the exact output during the boot attempt:
Code: | Booting from gentoo
Boot failed: gentoo
Booting from Linux Boot Manager
Boot failed: Linux Boot Manager |
I guess the second entry is from one of my earlier attempts with systemd-boot.
Could it be that my kernel is misconfigured? I kind of ruled this out before since it doesn't seem to load the kernel in the first place.
Any considerations regarding initramfs? Is there something wrong with my approach from my original post? |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55172 Location: 56N 3W
|
Posted: Mon Mar 24, 2025 8:18 pm Post subject: |
|
|
skips,
Those messages do not come from the kernel.
The boot sequence is
1. The EFI firmware loads an EFI compatible program of your choice. Often a boot loader but it can be the kernel too.
2. The boot loader does its thing, offers you a menu.
3. You select something to boot, the booot loader loads the kernel and optionally, one or more initramfs.
4. The boot loader exits by jumping to the kernel start address.
5. The kernel does it's initialisation, then mounts the root filesystem. This may be an initramfs.
6a. The initramfs executes its init script and drops you to a rescue shell it something goes wrong
6b Control is passed to /sbin/init to complete system startup.
It sounds like its not getting as far as step 2.
In the chroot, what does tell? _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Tue Mar 25, 2025 11:49 am Post subject: |
|
|
Okay, this makes perfect sense to me.
efibootmgr provides this output:
Code: | BootCurrent: 000D
BootOrder: 0005,0002,0000,0006,0007,0008,0009,000A,0003,000B,000C,000D
Boot0000 Embedded NIC 1 Port 1 Partition 1 VenHw(3a191845-5f86-4e78-8fce-c4cff59f9daa)
Boot0001* Hard drive C: VenHw(d6c0639f-c705-4eb9-aa4f-5802d8823de6)feff1800000000000000000000000104f000e0cb02000000cc00e0cb8401e0cb0000000000000000000000000
0000000000000000000000000000000000000000000000000120000000000000000001c0002010c00d041030a010000000101060000020101060000007fff04005000450052004300200
048003700330030005000200041006400610070007400650072002800620075007300200031003800200064006500760020003000300029000000feff0000000014000000000000000c0
30904409c02009000000000000904409c00000000000000000000000000000000000000000000000000000000000a00a0001cfc22a213001cfc22a2000000001c0002010c00d041030a
000000000101060000140305060009007fff04000000
Boot0002* Linux Boot Manager HD(1,GPT,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)/\EFI\systemd\systemd-bootx64.efi
Boot0003* DISK 2.0 PciRoot(0x0)/Pci(0x14,0x0)/USB(9,0)
Boot0004 BRCM MBA Slot 0400 v21.6.4 BBS(128,BRCM MBA Slot 0400 v21.6.4,0x0)feff0400000000000000000000000200620300c880000000800000c8470300c8000000000000000000000000000000000000000000000000000000000000000000000000
00110000020000000000001c0002010c00d041030a0000000001010600051c0101060000007fff04004200520043004d0020004d0042004100200053006c006f007400200030003400
3000300020007600320031002e0036002e0034000000
Boot0005* gentoo HD(1,GPT,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)/\EFI\gentoo\grubx64.efi
Boot0006* USB Placeholder VenHw(0c8cb6cc-13ae-45f4-bbcd-6a25e98ac250)
Boot0007 EFI RAID Disk PlaceHolder 1 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(1,0)
Boot0008 EFI RAID Disk PlaceHolder 2 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(4,0)
Boot0009 EFI RAID Disk PlaceHolder 3 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(7,0)
Boot000A EFI RAID Disk PlaceHolder 4 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(10,0)
Boot000B* PciRoot(0x0)/Pci(0x14,0x0)/USB(11,0)
Boot000C* Virtual Floppy PciRoot(0x0)/Pci(0x14,0x0)/USB(13,0)/USB(3,0)/USB(0,0)/Unit(1)
Boot000D* Virtual CD/DVD PciRoot(0x0)/Pci(0x14,0x0)/USB(13,0)/USB(3,0)/USB(0,0)/Unit(0)
MirroredPercentageAbove4G: 0.00
MirrorMemoryBelow4GB: false
|
Moderator note: Fixed non breaking long lines. -- Banana |
|
Back to top |
|
 |
sMueggli Guru

Joined: 03 Sep 2022 Posts: 579
|
Posted: Tue Mar 25, 2025 3:57 pm Post subject: |
|
|
Please show the content of /boot/grub/grub.cfg.
And also the output of:
Code: | file /boot/vmlinuz-6.12.16-gentoo
emerge -pv sys-kernel/installkernel |
|
|
Back to top |
|
 |
keekkenen n00b

Joined: 05 Oct 2024 Posts: 56
|
Posted: Tue Mar 25, 2025 4:52 pm Post subject: |
|
|
I think you need to use a simple way such in wiki https://wiki.gentoo.org/wiki/GRUB
add GRUB_PLATFORMS="efi-64" to make.conf
emerge grub with 'mount' flag
emerge os-prober (if you use other OS on ohters ssd)
create boot directory in root (I mean /)
grub-mkconfig -o /boot/grub/grub.cfg
emerge installkernell (I use solid kernel only, and I have grub emerged with grub flag only)
mount /efi
grub-install --efi-directory=/efi (sorry you did it already)
the last command should add a grub loader to /efi and gentoo boot element to your UEFI,
Code: | kee /home/ed # efibootmgr | grep gentoo
Boot0000* gentoo HD(1,GPT,abf721c9-36c7-423d-ab44-16b726c7e4a8,0x800,0x200000)/\EFI\gentoo\grubx64.efi |
after that you can choose it in your BIOS, and after your 'make install' command new kernel should be added to /boot directory and grub config should update (installkernel and os-prober help with it) and you can see the same output
Code: | INSTALL /boot
Reading /usr/lib/kernel/install.conf...
/usr/lib/kernel/install.conf configures layout=grub
/usr/lib/kernel/install.conf configures initrd_generator=none
/usr/lib/kernel/install.conf configures uki_generator=none
Running /usr/lib/kernel/preinst.d/35-amd-microcode.install 6.12.16-gentoo-gentoo-dist arch/x86/boot/bzImage...
* Generating AMD CPU Microcode early initramfs image...
* Created temporary directory: /tmp/tmp.1wZhO9F3xI
* Created microcode archive at: /boot/amd-uc.img
* Cleaned up temporary directory: /tmp/tmp.1wZhO9F3xI
Hook /usr/lib/kernel/preinst.d/35-amd-microcode.install finished successfully
Running /usr/lib/kernel/preinst.d/99-check-diskspace.install 6.12.16-gentoo-gentoo-dist arch/x86/boot/bzImage...
* Checking available disk space on /boot...
* Disk space okay. Need at least 29844 KiB, found 1193380728 KiB.
Hook /usr/lib/kernel/preinst.d/99-check-diskspace.install finished successfully
Installing kernel image for 6.12.16-gentoo-gentoo-dist...
Installing System.map for 6.12.16-gentoo-gentoo-dist...
Installing config for 6.12.16-gentoo-gentoo-dist...
Running /usr/lib/kernel/postinst.d/91-grub-mkconfig.install 6.12.16-gentoo-gentoo-dist /boot/vmlinuz-6.12.16-gentoo-gentoo-dist...
* Backing up existing grub config as /boot/grub/grub.cfg~...
'/boot/grub/grub.cfg' -> '/boot/grub/grub.cfg~'
* Generating new GRUB config as /boot/grub/grub.cfg...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.12.16-gentoo-gentoo-dist
Found initrd image: /boot/amd-uc.img
Found linux image: /boot/vmlinuz-6.12.16-gentoo-gentoo-dist.old
Found initrd image: /boot/amd-uc.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
done
Hook /usr/lib/kernel/postinst.d/91-grub-mkconfig.install finished successfully
Running /usr/lib/kernel/postinst.d/99-write-log.install 6.12.16-gentoo-gentoo-dist /boot/vmlinuz-6.12.16-gentoo-gentoo-dist...
* Appending installed kernel to /var/log/installkernel.log...
Hook /usr/lib/kernel/postinst.d/99-write-log.install finished successfully |
_________________ 7950x3d / x670e MSI Tomagawk / Sapphire RX 7800XT 16Gb / G.Skill 64Gb 5600 / A-Data Legend 960 2Tb (x2), A-Data SX8200PNP 256Gb |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55172 Location: 56N 3W
|
Posted: Tue Mar 25, 2025 5:49 pm Post subject: |
|
|
skips,
Code: | Boot0005* gentoo HD(1,GPT,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)/\EFI\gentoo\grubx64.efi |
This says to load grubx64.efi from the ESP from the directory EFI/gentoo. The \ are correct in the path name above. Microsoft had a hand in writing the EFI specification.
It looks correct.
This goes on to load the file grub_stage2 (from memory) from /boot/grub/.
That in turn displays a menu for you to choose what to boot.
/boot can be the ESP.
Hence sMueggli asking for /boot/grub/grub.cfg, asit populates the boot menu.
If it never gets that far the error is with the grub build or install.
Along with /boot/grub/grub.cfg, tho output of will be good, so we can see that the files listed in the menu actually exist. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Tue Mar 25, 2025 8:31 pm Post subject: |
|
|
Thanks to all of you. Here's the requested information - disclaimer, it's about to get messy.
Code: | $>cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=de_DE
insmod gettext
fi
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
}
submenu 'Advanced options for Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo.efi' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo.efi-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo.efi (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo.efi-recovery-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro single
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo-old.efi' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-old.efi-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo-old.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo-old.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo-old.efi (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-old.efi-recovery-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo-old.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo-old.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro single
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo (recovery mode)' -class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-recovery-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo.old' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo.old-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.old ...'
linux /boot/vmlinuz-6.12.16-gentoo.old root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img.old
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo.old (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo.old-recovery-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.old ...'
linux /boot/vmlinuz-6.12.16-gentoo.old root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img.old
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/39_memtest86+ ###
submenu 'Memtest86+' {
if [ "x$grub_platform" = xpc ]; then
menuentry 'Memtest86+ 64bit' {
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
linux "/boot/memtest86plus/memtest64.bios"
}
fi
if [ "x$grub_platform" = xefi ]; then
menuentry 'Memtest86+ 64bit UEFI' {
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
chainloader "/boot/memtest86plus/memtest.efi64"
}
fi
}
### END /etc/grub.d/39_memtest86+ ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "GRML" {
iso_path="/grml-full-2024.12-amd64.iso"
export iso_path
search --set=root --file $iso_path
# support booting recent GRUB versions on UEFI systems
rmmod tpm
loopback loop $iso_path
set root=(loop)
# the path below is on the SystemRescue ISO, not the hard drive
configfile /boot/grub/loopback.cfg
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
|
Code: | $>file /boot/vmlinuz-6.12.16-gentoo
/boot/vmlinuz-6.12.16-gentoo: Linux kernel x86 boot executable bzImage, version 6.12.16-gentoo (root@livecd) #10 SMP PREEMPT_DYNAMIC Mon Mar 24 18:05:57 CET 2025, RO-rootFS, swap_dev 0XA, Normal VGA
|
Code: | $>emerge -pv sys-kernel/installkernel
[ebuild R ~] sys-kernel/installkernel-57::gentoo USE="grub -dracut -efistub -refind -systemd -systemd-boot -ugrd -uki -ukify" 0 KiB |
Code: | $>ls -l /boot
total 167504
-rw-r--r-- 1 root root 5656431 Mar 24 18:08 System.map-6.12.16-gentoo
-rw-r--r-- 1 root root 5656431 Mar 24 18:07 System.map-6.12.16-gentoo.old
-rw-r--r-- 1 root root 512 Mar 23 12:31 boot.10300
-rw-r--r-- 1 root root 20283904 Mar 22 11:25 bzImage
-rw-r--r-- 1 root root 9966592 Mar 23 12:31 bzImage.working
-rw-r--r-- 1 root root 118645 Mar 24 18:08 config-6.12.16-gentoo
-rw-r--r-- 1 root root 118645 Mar 24 18:07 config-6.12.16-gentoo.old
drwxr-xr-x 6 root root 113 Mar 24 18:08 grub
-rw-r--r-- 1 root root 42749404 Mar 24 18:08 initramfs-6.12.16-gentoo.img
-rw-r--r-- 1 root root 42749404 Mar 24 18:07 initramfs-6.12.16-gentoo.img.old
-rw-r--r-- 1 root root 21873664 Mar 25 15:10 intel-uc.img
-rw------- 1 root root 314880 Mar 23 21:01 map
drwxr-xr-x 2 root root 49 Mar 22 11:21 memtest86plus
-rw-r--r-- 1 root root 11006976 Mar 24 18:08 vmlinuz-6.12.16-gentoo
-rw-r--r-- 1 root root 11006976 Mar 24 18:07 vmlinuz-6.12.16-gentoo.old |
Again, thank you for your support - it's amazing to be able to count on this community for help!
Excessive white space removed by NeddySeagoon. |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Tue Mar 25, 2025 8:56 pm Post subject: |
|
|
keekkenen wrote: | I think you need to use a simple way such in wiki https://wiki.gentoo.org/wiki/GRUB
add GRUB_PLATFORMS="efi-64" to make.conf
emerge grub with 'mount' flag
emerge os-prober (if you use other OS on ohters ssd)
create boot directory in root (I mean /)
grub-mkconfig -o /boot/grub/grub.cfg
emerge installkernell (I use solid kernel only, and I have grub emerged with grub flag only)
mount /efi
grub-install --efi-directory=/efi (sorry you did it already)
the last command should add a grub loader to /efi and gentoo boot element to your UEFI,
Code: | kee /home/ed # efibootmgr | grep gentoo
Boot0000* gentoo HD(1,GPT,abf721c9-36c7-423d-ab44-16b726c7e4a8,0x800,0x200000)/\EFI\gentoo\grubx64.efi |
after that you can choose it in your BIOS, and after your 'make install' command new kernel should be added to /boot directory and grub config should update (installkernel and os-prober help with it) and you can see the same output
Code: | INSTALL /boot
Reading /usr/lib/kernel/install.conf...
/usr/lib/kernel/install.conf configures layout=grub
/usr/lib/kernel/install.conf configures initrd_generator=none
/usr/lib/kernel/install.conf configures uki_generator=none
Running /usr/lib/kernel/preinst.d/35-amd-microcode.install 6.12.16-gentoo-gentoo-dist arch/x86/boot/bzImage...
* Generating AMD CPU Microcode early initramfs image...
* Created temporary directory: /tmp/tmp.1wZhO9F3xI
* Created microcode archive at: /boot/amd-uc.img
* Cleaned up temporary directory: /tmp/tmp.1wZhO9F3xI
Hook /usr/lib/kernel/preinst.d/35-amd-microcode.install finished successfully
Running /usr/lib/kernel/preinst.d/99-check-diskspace.install 6.12.16-gentoo-gentoo-dist arch/x86/boot/bzImage...
* Checking available disk space on /boot...
* Disk space okay. Need at least 29844 KiB, found 1193380728 KiB.
Hook /usr/lib/kernel/preinst.d/99-check-diskspace.install finished successfully
Installing kernel image for 6.12.16-gentoo-gentoo-dist...
Installing System.map for 6.12.16-gentoo-gentoo-dist...
Installing config for 6.12.16-gentoo-gentoo-dist...
Running /usr/lib/kernel/postinst.d/91-grub-mkconfig.install 6.12.16-gentoo-gentoo-dist /boot/vmlinuz-6.12.16-gentoo-gentoo-dist...
* Backing up existing grub config as /boot/grub/grub.cfg~...
'/boot/grub/grub.cfg' -> '/boot/grub/grub.cfg~'
* Generating new GRUB config as /boot/grub/grub.cfg...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.12.16-gentoo-gentoo-dist
Found initrd image: /boot/amd-uc.img
Found linux image: /boot/vmlinuz-6.12.16-gentoo-gentoo-dist.old
Found initrd image: /boot/amd-uc.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
done
Hook /usr/lib/kernel/postinst.d/91-grub-mkconfig.install finished successfully
Running /usr/lib/kernel/postinst.d/99-write-log.install 6.12.16-gentoo-gentoo-dist /boot/vmlinuz-6.12.16-gentoo-gentoo-dist...
* Appending installed kernel to /var/log/installkernel.log...
Hook /usr/lib/kernel/postinst.d/99-write-log.install finished successfully |
|
Thank you - I repeated all these steps and, sadly, the outcome is unchanged. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55172 Location: 56N 3W
|
Posted: Tue Mar 25, 2025 9:14 pm Post subject: |
|
|
skips,
Your default memu entry
Code: | ### BEGIN /etc/grub.d/10_linux ###
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo.efi ...'
linux /EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi root=PARTUUID=68bbd7e7-c72c-4f78-b1d6-02c30175ba48 ro
echo 'Loading initial ramdisk ...'
initrd /EFI/Gentoo/intel-uc.img
} |
Tries to load a a kernel from /EFI/Gentoo/vmlinuz-6.12.16-gentoo.efi
Thats not wrong but its an efi stub kernel.
There is no initrd to load kernel modules from. That's OK if you made your own kernel.
We don't know that EFI/Gentoo/ exists and is populated. We haven't asked yet.
Anyway, that's doing it the hard way, so we can come back to that.
Its not until we get into the advanced menu that we get Code: | menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
} |
Which is much more like we expect and all the bits are in /boot to support.
Do you get a grub menu at all?
I think that's the 5th entry in the advanced menu. The first 4 all want various efi stub kernels.
Does the 5th entry in the advanced menu boot? _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
keekkenen n00b

Joined: 05 Oct 2024 Posts: 56
|
Posted: Tue Mar 25, 2025 10:26 pm Post subject: |
|
|
NeddySeagoon wrote: |
Which is much more like we expect and all the bits are in /boot to support. |
Yes, I agree with you, expected
Code: | echo 'Loading Linux 6.12.16-gentoo-gentoo-dist ...'
linux /boot/vmlinuz-6.12.16-gentoo-gentoo-dist root=PARTUUID=... ro |
grub.cfg looks like wrong, so after 'make install' command grub.cfg was regenerated or not?
in your 'ls -l /boot' output I see *.old after kernel update, but there doesn't exists grub.cfg~ - previous config
install kernel had to run grub config update as
Code: | grub-mkconfig -o /boot/grub/grub.cfg |
_________________ 7950x3d / x670e MSI Tomagawk / Sapphire RX 7800XT 16Gb / G.Skill 64Gb 5600 / A-Data Legend 960 2Tb (x2), A-Data SX8200PNP 256Gb |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Wed Mar 26, 2025 8:06 am Post subject: |
|
|
Thank you for all your suggestions. I tried removing the clutter by reformatting my efi partition and deleting all files from /boot.
After re-running make install and generating a new grub.cfg - this is what I get:
Code: | $>ls /boot
# ls -l /boot
total 79500
-rw-r--r-- 1 root root 5656431 Mar 26 08:59 System.map-6.12.16-gentoo
-rw-r--r-- 1 root root 118645 Mar 26 08:59 config-6.12.16-gentoo
drwxr-xr-x 6 root root 96 Mar 26 09:01 grub
-rw-r--r-- 1 root root 42749404 Mar 26 08:59 initramfs-6.12.16-gentoo.img
-rw-r--r-- 1 root root 21871616 Mar 26 08:59 intel-uc.img
-rw-r--r-- 1 root root 11006976 Mar 26 08:59 vmlinuz-6.12.16-gentoo |
Code: | $>cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=de_DE
insmod gettext
fi
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
}
submenu 'Advanced options for Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-advanced-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
}
menuentry 'Gentoo GNU/Linux, with Linux 6.12.16-gentoo (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.12.16-gentoo-recovery-bce381c4-6226-467c-954b-c9e6314f8572' {
load_video
if [ "x$grub_platform" = xefi ]; then
set gfxpayload=keep
fi
insmod gzio
insmod part_gpt
insmod xfs
search --no-floppy --fs-uuid --set=root bce381c4-6226-467c-954b-c9e6314f8572
echo 'Loading Linux 6.12.16-gentoo ...'
linux /boot/vmlinuz-6.12.16-gentoo root=UUID=bce381c4-6226-467c-954b-c9e6314f8572 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/intel-uc.img /boot/initramfs-6.12.16-gentoo.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/39_memtest86+ ###
### END /etc/grub.d/39_memtest86+ ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "GRML" {
iso_path="/grml-full-2024.12-amd64.iso"
export iso_path
search --set=root --file $iso_path
# support booting recent GRUB versions on UEFI systems
rmmod tpm
loopback loop $iso_path
set root=(loop)
# the path below is on the SystemRescue ISO, not the hard drive
configfile /boot/grub/loopback.cfg
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
|
Code: | $>efibootmgr
BootCurrent: 000D
BootOrder: 0003,0002,0000,0006,0007,0008,0009,000A,000C,000D
Boot0000 Embedded NIC 1 Port 1 Partition 1 VenHw(3a191845-5f86-4e78-8fce-c4cff59f9daa)
Boot0001* Hard drive C: VenHw(d6c0639f-c705-4eb9-aa4f-5802d8823de6)feff1800000000000000000000000104f000e0cb02000000cc00e0cb8401e0cb000000000000000000
00000000000000000000000000000000000000000000000000000000120000000000000000001c0002010c00d041030a0100
00000101060000020101060000007fff0400500045005200430020004800370033003000500020004100640061007000740065
0072002800620075007300200031003800200064006500760020003000300029000000feff0000000014000000000000000c030
904409c02009000000000000904409c00000000000000000000000000000000000000000000000000000000000a00a0001cfc2
2a213001cfc22a2000000001c0002010c00d041030a000000000101060000140305060009007fff04000000
Boot0002* Linux Boot Manager HD(1,GPT,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)/\EFI\systemd\systemd-bootx64.efi
Boot0003* gentoo HD(1,GPT,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)/\EFI\gentoo\grubx64.efi
Boot0004 BRCM MBA Slot 0400 v21.6.4 BBS(128,BRCM MBA Slot 0400 v21.6.4,0x0)feff0400000000000000000000000200620300c8800
00000800000c8470300c8000000000000000000000000000000000000000
00000000000000000000000000000000000110000020000000000001c0002010c00d041030a0000000001010600051c0101060000007fff040
04200520043004d0020004d0042004100200053006c006f0074002000300034003000300020007600320031002e0036002e0034000000
Boot0006* USB Placeholder VenHw(0c8cb6cc-13ae-45f4-bbcd-6a25e98ac250)
Boot0007 EFI RAID Disk PlaceHolder 1 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(1,0)
Boot0008 EFI RAID Disk PlaceHolder 2 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(4,0)
Boot0009 EFI RAID Disk PlaceHolder 3 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(7,0)
Boot000A EFI RAID Disk PlaceHolder 4 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(10,0)
Boot000C* Virtual Floppy PciRoot(0x0)/Pci(0x14,0x0)/USB(13,0)/USB(3,0)/USB(0,0)/Unit(1)
Boot000D* Virtual CD/DVD PciRoot(0x0)/Pci(0x14,0x0)/USB(13,0)/USB(3,0)/USB(0,0)/Unit(0)
MirroredPercentageAbove4G: 0.00
MirrorMemoryBelow4GB: false |
It looks like the gentoo entry in efibootmgr is correct; however, there is the old systemd-boot entry and some "Hard drive C:" options. Is it possible to regenerate this boot manager list and start over from scratch?
To your point, grub never loads and I cannot get passed the failed boot message as listed above. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 55172 Location: 56N 3W
|
Posted: Wed Mar 26, 2025 11:39 am Post subject: |
|
|
skips,
Since grub never loads the content of grub.cfg has no bearing on the problem yet.
You can use efibootmgr to remove entries and reorder them.
That won't help either as your gentoo entry is first in the list.
It has to be the way grub is built or installed.
Please post the output of emerge --info.
You should have an entry for grub there.
I'm a syslinux user but that's not a reccomendation.
The information on it is both sparse and conflicting. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Wed Mar 26, 2025 12:23 pm Post subject: |
|
|
Here's the output of emerge --info
Code: | Portage 3.0.67 (python 3.12.9-final-0, default/linux/amd64/23.0/no-multilib, gcc-14, glibc-2.40-r8, 6.12.16 x86_64)
=================================================================
System uname: Linux-6.12.16-x86_64-Intel-R-_Xeon-R-_Gold_6230N_CPU_@_2.30GHz-with-glibc2.40
KiB Mem: 97513372 total, 91499448 free
KiB Swap: 33554428 total, 33554428 free
Timestamp of repository gentoo: Tue, 25 Mar 2025 11:45:00 +0000
Head commit of repository gentoo: 572e45f62436a714a34e26176fe20bb4379bf0bd
sh bash 5.2_p37
ld GNU ld (Gentoo 2.44 p1) 2.44.0
app-misc/pax-utils: 1.3.8::gentoo
app-shells/bash: 5.2_p37::gentoo
dev-build/autoconf: 2.72-r1::gentoo
dev-build/automake: 1.17-r1::gentoo
dev-build/cmake: 3.31.5::gentoo
dev-build/libtool: 2.5.4::gentoo
dev-build/make: 4.4.1-r100::gentoo
dev-build/meson: 1.7.0::gentoo
dev-lang/perl: 5.40.0-r1::gentoo
dev-lang/python: 3.12.9::gentoo, 3.13.2::gentoo
sys-apps/baselayout: 2.17::gentoo
sys-apps/openrc: 0.56::gentoo
sys-apps/sandbox: 2.39::gentoo
sys-devel/binutils: 2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc: 14.2.1_p20241221::gentoo
sys-devel/gcc-config: 2.12.1::gentoo
sys-kernel/linux-headers: 6.12::gentoo (virtual/os-headers)
sys-libs/glibc: 2.40-r8::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
volatile: False
sync-rsync-verify-max-age: 3
sync-rsync-verify-jobs: 1
sync-rsync-verify-metamanifest: yes
sync-rsync-extra-opts:
Binary Repositories:
gentoobinhost
priority: 1
sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=skylake -O2 -pipe -ftree-vectorize -flto=4 -fuse-linker-plugin"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-march=skylake -O2 -pipe -ftree-vectorize -flto=4 -fuse-linker-plugin"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=skylake -O2 -pipe -ftree-vectorize -flto=4 -fuse-linker-plugin"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=skylake -O2 -pipe -ftree-vectorize -flto=4 -fuse-linker-plugin"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j48"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS=" -C target-cpu=native"
SHELL="/bin/bash"
USE="acl amd64 bzip2 cet crypt gdbm iconv ipv6 libtirpc ncurses nls openmp pam pcre readline seccomp ssl test-rust unicode xattr zlib" ABI_X86="64" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 avx512_vnni avx512bw avx512cd avx512dq avx512f avx512vl f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS |
|
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Wed Mar 26, 2025 3:03 pm Post subject: |
|
|
I still believe your first stage boot load (UEFI) having trouble finding boot device.
Can you share fdisk -l /dev/nvme0n1 or blkid, so we can see what is UUID for the device. |
|
Back to top |
|
 |
sMueggli Guru

Joined: 03 Sep 2022 Posts: 579
|
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Wed Mar 26, 2025 4:03 pm Post subject: |
|
|
I think we are getting closer. It's great that we can rule out (at least major) configuration issues. I'll try using another slot and/or adapter later tonight.
For now, here's fdisk -l:
Code: | Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 970 EVO Plus 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 22815EBB-883E-4203-954F-FEB71745D890
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 69208063 67108864 32G Linux swap
/dev/nvme0n1p3 69208064 1953525134 1884317071 898.5G Linux root (x86-64) |
|
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Wed Mar 26, 2025 4:40 pm Post subject: |
|
|
Your disk identifier is "22815EBB-883E-4203-954F-FEB71745D890" whereas your uefi boot string use "faacf487-8301-44a7-80e6-3b121d89d23e" I suspect that could be a issue.
I am not UEFI user and I don't have existing system to test. but if you can update your uefi boot entry to use the "22815EBB-883E-4203-954F-FEB71745D890" to see if that help.
Alternative, if that does not help, I suspect your system UEFI firmware may not recognize the NVMe on the PCIe adapter as "disk" therefor the "HD(1,GPT..." is not working. so it is possible you need to use "PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/NVMe(0x1,faacf487-8301-44a7-80e6-3b121d89d23e,0x800,0x200000)" as boot entry string. Please note those PciXXX number may need to change depend on how you PCIe card plug in on your board. you can use lspci to list them. However I am don't know how to identify PCI list output, but I suggest you still try to list them here, so someone can help and identify the PCI path.
Another possibility is that in system setup (F2) SATA Settings details/Embedded SATA you need to set right type "AHCI Mode" and NVMe Settings details/NVMe Mode type is " Non RAID"
my primary thinking is that your board UEFI not able to find the device. I don't know if you have way to verify that at UEFI level you can actually detect that NVMe device.
Maybe you can use Boot Manager main menu/System Utilities that enable System Utilities and use One-shot UEFI boot menu/System Utilities to lunch Launch Diagnostics to see if there any tool to help you identify and verify UEFI know something about the NVMe device. |
|
Back to top |
|
 |
sMueggli Guru

Joined: 03 Sep 2022 Posts: 579
|
Posted: Wed Mar 26, 2025 4:55 pm Post subject: |
|
|
pingtoo wrote: | Your disk identifier is "22815EBB-883E-4203-954F-FEB71745D890" whereas your uefi boot string use "faacf487-8301-44a7-80e6-3b121d89d23e" I suspect that could be a issue. |
The output of efiboomgr references the partition UUID, and not the disk UUID. The EFI-System-Partition has to be a partition. |
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Wed Mar 26, 2025 6:05 pm Post subject: |
|
|
sMueggli wrote: | pingtoo wrote: | Your disk identifier is "22815EBB-883E-4203-954F-FEB71745D890" whereas your uefi boot string use "faacf487-8301-44a7-80e6-3b121d89d23e" I suspect that could be a issue. |
The output of efiboomgr references the partition UUID, and not the disk UUID. The EFI-System-Partition has to be a partition. | .
OK, we should still review if the partition UUID match or not.
Explain why I think it is disk UUID wrote: |
I am just reading UEFI specification v2.10 :: Protocols Device Path Protocol :: 10.3.5.1. Hard Drive :: Table 10.54 Hard Drive Media Device Path. In that table The forth(4) field is already specific partition number (in reference to "HD(1,GPT,...)" That "1" is refer to partition 1, so that following UUID would be a disk UUID in the event where a system have multiple bookable "disk"s a way let UEFI firmware to identify which "disk" for boot. |
|
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Wed Mar 26, 2025 6:40 pm Post subject: |
|
|
sMueggli,
I have confirmed that UUID field indeed refer to partition UUID from the specification.
Boot Manager :: Firmware Boot Manager :: Boot Manager Programming :: Load Option Processing wrote: | The boot manager must also support booting from a short-form device path that starts with the first element being a hard drive media device path (Hard Drive Media Device Path ). The boot manager must use the GUID or signature and partition number in the hard drive device path to match it to a device in the system. If the drive supports the GPT partitioning scheme the GUID in the hard drive media device path is compared with the UniquePartitionGuid field of the GUID Partition Entry ( GPT Partition Entry ). If the drive supports the PC-AT MBR scheme the signature in the hard drive media device path is compared with the UniqueMBRSignature in the Legacy Master Boot Record ( Legacy MBR ). If a signature match is made, then the partition number must also be matched. The hard drive device path can be appended to the matching hardware device path and normal boot behavior can then be used. If more than one device matches the hard drive device path, the boot manager will pick one arbitrarily. Thus the operating system must ensure the uniqueness of the signatures on hard drives to guarantee deterministic boot behavior. | It is said "If a signature match is made, then the partition number must also be matched"
whereas the GUID Partition Entry specify "UniquePartitionGUID" Quote: | GUID that is unique for every partition entry. Every partition ever created will have a unique GUID. This GUID must be assigned when the GPT Partition Entry is created. The GPT Partition Entry is created whenever the NumberOfPa rtitionEntries in the GPT Header is increased to include a larger range of addresses. |
|
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Wed Mar 26, 2025 7:20 pm Post subject: |
|
|
Thanks for clarifying. I checked the partition IDs and the EFI partition matches up with the boot entry.
Code: | /dev/sr0: BLOCK_SIZE="2048" UUID="2025-03-23-18-17-27-00" LABEL="Gentoo-amd64-20250323" TYPE="iso9660" PTTYPE="PMBR"
/dev/nvme0n1p3: UUID="bce381c4-6226-467c-954b-c9e6314f8572" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="68bbd7e7-c72c-4f78-b1d6-02c30175ba48"
/dev/nvme0n1p1: LABEL_FATBOOT="efi-boot" LABEL="efi-boot" UUID="8370-A3D4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="faacf487-8301-44a7-80e6-3b121d89d23e"
/dev/nvme0n1p2: UUID="1db07912-2968-4868-b09d-c0970c27fd0a" TYPE="swap" PARTUUID="bdd39b2f-5b5f-4abc-8e74-dc787e908421"
|
I'm seriously puzzled. |
|
Back to top |
|
 |
skips n00b

Joined: 24 Mar 2025 Posts: 15
|
Posted: Wed Mar 26, 2025 7:49 pm Post subject: |
|
|
Quick update on this: I swapped the PCIe adapter for another module and used it in another slot.
Sadly, the issue prevails. I checked disk and partition UUIDs remained unchanged. Could it be that my NVMe module does not work in this setup? |
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1632 Location: Richmond Hill, Canada
|
Posted: Wed Mar 26, 2025 8:02 pm Post subject: |
|
|
skips wrote: | Quick update on this: I swapped the PCIe adapter for another module and used it in another slot.
Sadly, the issue prevails. I checked disk and partition UUIDs remained unchanged. Could it be that my NVMe module does not work in this setup? |
Did you try to use One-shot UEFI boot menu/System Utilities to lunch Launch Diagnostics to see if NVMe device visible at UEFI firmware boot manager? |
|
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
|
|