Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
nvme, distribution kernel
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 105

PostPosted: Sun Oct 27, 2024 9:20 am    Post subject: nvme, distribution kernel Reply with quote

Hello

I am trying to install gentoo on new hardware (AMD based) that has an nvme drive. I am using elilo, and would like to use that because of its simplicity.

I have insalled gentoo-kernel-bin and copied the vmlinuz kernel and initramfs file to my efi partition.

When I try to boot, the system reboots itself, after loading the vmlinuz and initramfs files.

How could I determine the cause of this?

I am suspecting that this has to do with nvme drives, and how they are not recognized by the initramfs. I found a thread in the forum that might be related to this. https://forums.gentoo.org/viewtopic-p-8835320.html. There it says

Quote:
Without CONFIG_VMD=y kernel cannot access its NVME devices.


In the distribution kernel I have these settings

Code:

...
CONFIG_VMD=m
...
CONFIG_NVME_COMMON=m
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NAME=m
CONFIG_NVME_MULTIPATH=y


I also wanted to ask if I could use distribution kernel, but use the gentoo-kernel and instead of gentoo-kernel-bin, and modify the configuration using (https://wiki.gentoo.org/wiki/Project:Distribution_Kernel#Modifying_kernel_configuration) using config snippets?

Regards
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5017
Location: Bavaria

PostPosted: Sun Oct 27, 2024 11:26 am    Post subject: Reply with quote

rzdndr,

before I answer I want to give you some infos:

1. You can have/use a kernel with an corresponding initramfs OR a kernel that does not have initramfs. What is the difference?

Any kernel that is NOT manually configured does not know which modules it needs to access the root partition, but still needs to run on every machine. Therefore, it passes control to an inítramfs that loads the appropriate modules. If you want to have a kernel without initramfs, you have to configure it manually and ALL the modules the kernel needs to access the root partition must be statically built INTO the kernel. Every Gentoo distribution kernel has an associated initramfs (because it is not manually configured) because the kernel requires it.

2. If you want your machine to boot a kernel WITH initramfs, then UEFI or the bootmanager/bootloader must load BOTH (this is done via the parameter initrd=...).

3. If a kernel reboots on its own, this is almost always due to a kernel panic. The most common reason for a kernel panic at system startup is that the kernel cannot access the root partition.

I suspect that your “elilo” is only trying to start the kernel, but not telling it the initramfs. Please read this paragraph:
https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Kernel_Commandline_Parameter#Parameter:_initrd.3D
Another possible mistake could be that elilo gives the kernel the wrong information about its root partitiion (root=...).

(Please don't ask me HOW to configure the “elilo” - I don't use it)

(I don't think it has anything to do with VMD because you have an AMD machine and vmd is the Intel Volume Management Device Driver.)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 105

PostPosted: Sun Oct 27, 2024 12:19 pm    Post subject: Reply with quote

pietinger wrote:
rzdndr,

before I answer I want to give you some infos:

1. You can have/use a kernel with an corresponding initramfs OR a kernel that does not have initramfs. What is the difference?

Any kernel that is NOT manually configured does not know which modules it needs to access the root partition, but still needs to run on every machine. Therefore, it passes control to an inítramfs that loads the appropriate modules. If you want to have a kernel without initramfs, you have to configure it manually and ALL the modules the kernel needs to access the root partition must be statically built INTO the kernel. Every Gentoo distribution kernel has an associated initramfs (because it is not manually configured) because the kernel requires it.

2. If you want your machine to boot a kernel WITH initramfs, then UEFI or the bootmanager/bootloader must load BOTH (this is done via the parameter initrd=...).

3. If a kernel reboots on its own, this is almost always due to a kernel panic. The most common reason for a kernel panic at system startup is that the kernel cannot access the root partition.

I suspect that your “elilo” is only trying to start the kernel, but not telling it the initramfs. Please read this paragraph:
https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Kernel_Commandline_Parameter#Parameter:_initrd.3D
Another possible mistake could be that elilo gives the kernel the wrong information about its root partitiion (root=...).

(Please don't ask me HOW to configure the “elilo” - I don't use it)

(I don't think it has anything to do with VMD because you have an AMD machine and vmd is the Intel Volume Management Device Driver.)


Yes, I have an AMD machine, and do not have to enable VMD.

In my kernel config I have CONFIG_BLK_DEV_NVME=m, which I changed to y (using config snippets) and recompiled the kernel. I get the same "reboot loop" behavior. If this was left at "m" then I think the nvme devices would not be available when initramfs is loaded, would that be correct?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5017
Location: Bavaria

PostPosted: Sun Oct 27, 2024 1:00 pm    Post subject: Reply with quote

rzdndr wrote:
In my kernel config I have CONFIG_BLK_DEV_NVME=m, which I changed to y (using config snippets) and recompiled the kernel. I get the same "reboot loop" behavior. If this was left at "m" then I think the nvme devices would not be available when initramfs is loaded, would that be correct?

No.

IF you use our distribution kernel THEN everything can be a <M>odule .. because the initramfs OF our dist kernel loads every necessary module. (It is only important that the initramfs gets load also :lol: )
IF you configure your kernel manually THEN start here: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 105

PostPosted: Sun Oct 27, 2024 1:18 pm    Post subject: Reply with quote

pietinger wrote:
rzdndr wrote:
In my kernel config I have CONFIG_BLK_DEV_NVME=m, which I changed to y (using config snippets) and recompiled the kernel. I get the same "reboot loop" behavior. If this was left at "m" then I think the nvme devices would not be available when initramfs is loaded, would that be correct?

No.

IF you use our distribution kernel THEN everything can be a <M>odule .. because the initramfs OF our dist kernel loads every necessary module. (It is only important that the initramfs gets load also :lol: )
IF you configure your kernel manually THEN start here: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration


Thanks for the link, will read that.

My vmlinuz and initramfs files are loaded (I can see them loaded, with the spinning pipe, forwardslash, and backslash characters). That would mean that my elilo configuration can find the vmlinuz and initramfs files correctly. After that the screen goes blank and reboots. That is a kernel panic I would assume. At this stage there are no logs created, from what I can tell. I think the nvme devices are not present in the devices folder (in my elilo configuration I refer to the root partition as /dev/nvme0n1p3).

I also made sure that the modules are loaded, checking the modules.buildin file with

Code:
cat /lib/modules/6.6.57-gentoo-dist/modules.builtin | grep -i nvme


There are nvme modules in that file listed. Those I do not have on my original PC, which does not have nvme, and nvme is a module (set to =m).

I also checked the config file generated into the /boot folder. This also has CONFIG_BLK_DEV_NVME=y, CONFIG_NVME_COMMON=y and CONFIG_NVME_CORE=y. Those were set to =m before I compiled the kernel. So these configuration settings are in effect in the current kernel and initramfs files I would believe.
Back to top
View user's profile Send private message
Nowa
Developer
Developer


Joined: 25 Jun 2014
Posts: 397
Location: Nijmegen

PostPosted: Sun Oct 27, 2024 2:35 pm    Post subject: Reply with quote

How are you building the initramfs?

Please share the output of "emerge --config gentoo-kernel-bin"
_________________
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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
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