Summary: | sys-kernel/genkernel-4.3.10: initramfs fails with modules.{alias,builtin,dep} not found | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christopher Head <bugs> |
Component: | Current packages | Assignee: | Gentoo Genkernel Maintainers <genkernel> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | bugs, reagentoo, whissi |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
genkernel.log from the failing run
genkernel.conf that caused the failure Contents of the genkernel temp dir |
Description
Christopher Head
2024-01-23 00:16:42 UTC
Created attachment 882905 [details]
genkernel.log from the failing run
Created attachment 882906 [details]
genkernel.conf that caused the failure
(In reply to Christopher Head from comment #0) > The three named files *do* exist in /lib/modules/6.6.13-gentoo; I can’t > check in /var/tmp/genkernel/gk_iAp5Fxna because that directory has already > been deleted. Can you please re check: genkernel --no-cleanup --no-postclear ramdisk Any ideas why it's trying to find it in /var/tmp/genkernel/gk_iAp5Fxna ? (In reply to Christopher Head from comment #2) > Created attachment 882906 [details] > genkernel.conf that caused the failure Looks like INSTALL="no" changes the default KERNEL_MODULES_PREFIX. I don't have solution yet how genkernel shuld handle it properly. Try to comment this line. BTW, why do you disable this? - RAMDISKMODULES="no" To answer your questions: > Can you please re check: > genkernel --no-cleanup --no-postclear ramdisk # genkernel --no-cleanup --no-postclear ramdisk * Gentoo Linux Genkernel; Version 4.3.10 * Using genkernel configuration from '/etc/genkernel.conf' ... * Running with options: --no-cleanup --no-postclear ramdisk * Working with Linux kernel 6.6.13-gentoo for x86_64 * Using kernel config file '/usr/share/genkernel/arch/x86_64/generated-config' ... * Current kernel's LOCALVERSION is set to ''; Will ignore set --kernel-localversion value '-x86_64' because kernel was not built ... * initramfs: >> Initializing ... * >> Appending devices cpio data ... * >> Appending base_layout cpio data ... * >> Appending util-linux cpio data ... * >> Appending eudev cpio data ... * >> Appending auxiliary cpio data ... * >> Appending busybox cpio data ... * >> Appending btrfs cpio data ... * >> Appending modprobed cpio data ... * >> Appending firmware cpio data ... cat: /var/tmp/genkernel/gk_N37og1LE/mod_prefix/lib/modules/6.6.13-gentoo/modules.alias: No such file or directory cat: /var/tmp/genkernel/gk_N37og1LE/mod_prefix/lib/modules/6.6.13-gentoo/modules.builtin: No such file or directory cat: /var/tmp/genkernel/gk_N37og1LE/mod_prefix/lib/modules/6.6.13-gentoo/modules.dep: No such file or directory * ERROR: modinfo error! * Please consult '/var/log/genkernel.log' for more information and any * errors that were reported above. * * Report any genkernel bugs to bugs.gentoo.org and * assign your bug to genkernel@gentoo.org. Please include * as much information as you can in your bug report; attaching * '/var/log/genkernel.log' so that your issue can be dealt with effectively. * * Please do *not* report kernel compilation failures as genkernel bugs! * I’ll attach a file listing of the contents of /var/tmp/genkernel/gk_N37og1LE. > Any ideas why it's trying to find it in /var/tmp/genkernel/gk_iAp5Fxna ? Nope! > Looks like INSTALL="no" changes the default KERNEL_MODULES_PREFIX. I don't have solution yet how genkernel shuld handle it properly. Try to comment this line. Is that safe? I don’t want genkernel to break booting if it does something in /boot that is different to how I have my files laid out. I’m using EFI stub, so it’s probably not laid out in a way that genkernel understands. > BTW, why do you disable this? - RAMDISKMODULES="no" Because I don’t need modules in my initramfs. I’d use a non-modular kernel if I had the choice, but since I use x11-drivers/nvidia-drivers, I don’t—but I still build everything else statically, because why not? And x11-drivers/nvidia-drivers specifically works fine not being in the initramfs (as presumably would pretty much any module not needed to mount root fs). Created attachment 883015 [details]
Contents of the genkernel temp dir
(In reply to Christopher Head from comment #6) > cat: > /var/tmp/genkernel/gk_N37og1LE/mod_prefix/lib/modules/6.6.13-gentoo/modules. > dep: No such file or directory > * ERROR: modinfo error! I guess before upgrade to 4.3.10 the KERNEL_MODULES_PREFIX changes in the same way due INSTALL="no". But you didn't use RAMDISKMODULES. If you want to use FIRMWARE="yes" on 4.3.10 (which had a new behavior since 4.3.7), you should have a valid KERNEL_MODULES_PREFIX. Currently you can use ALLFIRMWARE instead of FIRMWARE. As an experiment you could try to enable RAMDISKMODULES on 4.3.6 and you will see the same error (cat: .../modules.dep: No such file or directory). (In reply to Christopher Head from comment #6) > > Looks like INSTALL="no" changes the default KERNEL_MODULES_PREFIX. I don't have solution yet how genkernel shuld handle it properly. Try to comment this line. > > Is that safe? I don’t want genkernel to break booting if it does something > in /boot that is different to how I have my files laid out. I’m using EFI > stub, so it’s probably not laid out in a way that genkernel understands. Need some additional INSTALL=n handling. PR is welcome. (In reply to Dmitry Baranov from comment #8) > (In reply to Christopher Head from comment #6) > > cat: > > /var/tmp/genkernel/gk_N37og1LE/mod_prefix/lib/modules/6.6.13-gentoo/modules. > > dep: No such file or directory > > * ERROR: modinfo error! > > I guess before upgrade to 4.3.10 the KERNEL_MODULES_PREFIX changes in the > same way due INSTALL="no". But you didn't use RAMDISKMODULES. If you want to > use FIRMWARE="yes" on 4.3.10 (which had a new behavior since 4.3.7), you > should have a valid KERNEL_MODULES_PREFIX. Currently you can use ALLFIRMWARE > instead of FIRMWARE. As an experiment you could try to enable RAMDISKMODULES > on 4.3.6 and you will see the same error (cat: .../modules.dep: No such file > or directory). Does FIRMWARE_FILES also have some kind of impact? I have two machines with almost identical genkernel.conf files, and it works on one but not the other. One notable difference is that the working one has FIRMWARE_FILES set to one specific file, while the non-working one has it unset. I don’t actually need any firmware in the initramfs on this box either, so I tried unsetting FIRMWARE (I had it turned on for previous hardware which I’m no longer using), and that makes it work. I never considered firmware because I never imagined it would cause errors related to modules. (In reply to Dmitry Baranov from comment #8) > Currently you can use ALLFIRMWARE instead of FIRMWARE. Small remark: ALLFIRMWARE and FIRMWARE also. (In reply to Christopher Head from comment #9) > Does FIRMWARE_FILES also have some kind of impact? Relevant snippets: https://github.com/gentoo/genkernel/blob/d6a77d90fd511b04b12bd7ae40d710d3d144c077/gen_initramfs.sh#L1767-L1793 https://github.com/gentoo/genkernel/blob/d6a77d90fd511b04b12bd7ae40d710d3d144c077/gen_initramfs.sh#L2181-L2184 The behavior is: FIRMWARE=y && ALLFIRMWARE=y -- all firmwares will be copied, FIRMWARE=y && FIRMWARE_FILES=y -- only the custom fw-list will be copied, FIRMWARE=y -- copy only the necessary firmwares depending on the included modules. > The behavior is:
> FIRMWARE=y && ALLFIRMWARE=y -- all firmwares will be copied,
> FIRMWARE=y && FIRMWARE_FILES=y -- only the custom fw-list will be copied,
> FIRMWARE=y -- copy only the necessary firmwares depending on the included
> modules.
Ah, I see, that makes sense, I missed that FIRMWARE=y on its own meant to automatically discover firmware based on modules (I think that was a recent change?), which obviously doesn’t work if you can’t find modules (because the prefix is wrong with INSTALL=n). not something I personally need, given my lack of modules altogether. Thanks.
|