How to exclude unused kernel firmware from initrd

I am running into space issues with my /boot partition. Before anyone suggests making it larger, that is a major operation and I’m not yet ready to do it. I did it once several years ago and don’t relish doing it again.

The latest 15.6 creates initrd files 66MB in size. They used to be much smaller, as in less than 1/3 of that size. With a 300MB boot partition, there’s barely enough room for 3 initrds created when a kernel update appears. I won’t get into why 3 are created, since that’s a bug report for another day. Making smaller initrd files should be much easier than making /boot larger.

Looking through the initrd file, I find the largest space hogs are some kernel firmware files for GPUs I don’t have. There are upwards of 500 files in lib/firmware/nvidia included in the initrd for GPUs I don’t have, nor likely will ever have. Most of those files are tiny, but there are a few really big ones. All these files come from the kernel-firmware-nvidia package.

I have an nVidia GeForce GT710 GPU that is working fine with the G05 kernel modules from the Proprietary X11 Drivers repository. It requires nothing from the kernel-firmware-nvidia package. I have blacklisted the xf86-video-nouveau package.

I’ve dug through the dracut documentation, but find no easy way to exclude files. I can’t delete the kernel-firmware-nvidia package without breaking things, as I need other firmware files for other devices.

I’ve thought about just deleting the kernel firmware files so they don’t get included, but that’s not a long-term solution.

So, I’m asking if anyone has suggestions about the best way to keep dracut from including unnecessary nVidia kernel firmware from the initrd. Ideally, it would be a conf file change so everything stays automatic, but I don’t know what to put where.

Thanks in advance for any suggestions!

I don’t use NVidia proprietary drivers with any of my NVidia GPUs. On this, using Intel iGPU, they are a fraction of the size of yours:

# lsinitrd /boot/initrd | grep i915
# ls -gGh initrd-6*
-rw------- 1 19M Dec 16 20:25 initrd-6.4.0-150600.23.30-default
-rw------- 1 17M Jan 21 15:48 initrd-6.4.0-150600.23.33-default
-rw------- 1 17M Feb 13 08:14 initrd-6.4.0-150600.23.38-default

On a different host using GT630 with only FOSS, it has:

# lsinitrd /boot/initrd | grep veau
# ls -gGh initrd-6*
-rw------- 1 16M Nov  5 15:51 /boot/initrd-6.4.0-150600.23.25-default
-rw------- 1 16M Jan 21 23:16 /boot/initrd-6.4.0-150600.23.33-default

I have done no configuration intended to affect their size. I must suppose the size of yours at least in part may be proprietary graphics driver related.

Does your configuration demand a separate /boot/ filesystem? If not, you should be able to simply retire use of yours, moving everything from it to the root filesystem’s /boot/ directory.

My root is encrypted, so I run a separate unencrypted /boot. That’s not going to change.

My large initrd is because of kernel firmware, not the proprietary G05 nVidia driver. None of the kernel firmware included in the initrd is for the GPU I have.

Can you show the content of one of the images?
Make your konsole history unlimited so that no content gets cut. Adapt the command to your kernel in use and paste the output to paste.opensuse.org

sudo lsinitrd /boot/initrd-6.4.0-150600.23.42-default

Try this for my current initrd listing, also .23.42. I’ve not used this before, so sorry if it doesn’t work right.

Ok, then you can uninstall and lock the kernel-firmware-all package. It is only a metapackage and won’t uninstall any firmware package (but pulls in also unneeded firmware packages when installed).

Afterwards remove the kernel-firmware-nvidia package and rebuild your initrd (sudo dracut -f --regenerate-all). If this breaks your graphics, simply reinstall it and rebuild the initrd again.

-rw-r--r--   1 root     root      1456224 Mar 10 11:18 lib/modules/6.4.0-150600.23.42-default/kernel/drivers/gpu/drm/nouveau/nouveau.ko.zst
bor@bor-Latitude-E5450:~$ modinfo nouveau | grep firmware:
firmware:       nvidia/gp100/acr/ucode_load.bin
firmware:       nvidia/gp100/acr/bl.bin
firmware:       nvidia/gm206/acr/ucode_load.bin
firmware:       nvidia/gm206/acr/bl.bin
firmware:       nvidia/gm204/acr/ucode_load.bin
firmware:       nvidia/gm204/acr/bl.bin
firmware:       nvidia/gm200/acr/ucode_load.bin
firmware:       nvidia/gm200/acr/bl.bin
firmware:       nvidia/gp100/acr/ucode_unload.bin
firmware:       nvidia/gm206/acr/ucode_unload.bin
firmware:       nvidia/gm204/acr/ucode_unload.bin
firmware:       nvidia/gm200/acr/ucode_unload.bin
firmware:       nvidia/gp107/acr/ucode_load.bin
firmware:       nvidia/gp107/acr/bl.bin
firmware:       nvidia/gp106/acr/ucode_load.bin
firmware:       nvidia/gp106/acr/bl.bin
firmware:       nvidia/gp104/acr/ucode_load.bin
firmware:       nvidia/gp104/acr/bl.bin
firmware:       nvidia/gp102/acr/ucode_load.bin
firmware:       nvidia/gp102/acr/bl.bin
firmware:       nvidia/gp107/acr/ucode_unload.bin
firmware:       nvidia/gp107/acr/unload_bl.bin
firmware:       nvidia/gp106/acr/ucode_unload.bin
firmware:       nvidia/gp106/acr/unload_bl.bin
firmware:       nvidia/gp104/acr/ucode_unload.bin
firmware:       nvidia/gp104/acr/unload_bl.bin
firmware:       nvidia/gp102/acr/ucode_unload.bin
firmware:       nvidia/gp102/acr/unload_bl.bin
firmware:       nvidia/gp108/acr/ucode_load.bin
firmware:       nvidia/gp108/acr/bl.bin
firmware:       nvidia/gp108/acr/ucode_unload.bin
firmware:       nvidia/gp108/acr/unload_bl.bin
firmware:       nvidia/gv100/acr/ucode_load.bin
firmware:       nvidia/gv100/acr/bl.bin
firmware:       nvidia/gv100/acr/ucode_unload.bin
firmware:       nvidia/gv100/acr/unload_bl.bin
firmware:       nvidia/tu117/acr/ucode_ahesasc.bin
firmware:       nvidia/tu117/acr/bl.bin
firmware:       nvidia/tu116/acr/ucode_ahesasc.bin
firmware:       nvidia/tu116/acr/bl.bin
firmware:       nvidia/tu106/acr/ucode_ahesasc.bin
firmware:       nvidia/tu106/acr/bl.bin
firmware:       nvidia/tu104/acr/ucode_ahesasc.bin
firmware:       nvidia/tu104/acr/bl.bin
firmware:       nvidia/tu102/acr/ucode_ahesasc.bin
firmware:       nvidia/tu102/acr/bl.bin
firmware:       nvidia/tu117/acr/ucode_asb.bin
firmware:       nvidia/tu116/acr/ucode_asb.bin
firmware:       nvidia/tu106/acr/ucode_asb.bin
firmware:       nvidia/tu104/acr/ucode_asb.bin
firmware:       nvidia/tu102/acr/ucode_asb.bin
firmware:       nvidia/tu117/acr/ucode_unload.bin
firmware:       nvidia/tu117/acr/unload_bl.bin
firmware:       nvidia/tu116/acr/ucode_unload.bin
firmware:       nvidia/tu116/acr/unload_bl.bin
firmware:       nvidia/tu106/acr/ucode_unload.bin
firmware:       nvidia/tu106/acr/unload_bl.bin
firmware:       nvidia/tu104/acr/ucode_unload.bin
firmware:       nvidia/tu104/acr/unload_bl.bin
firmware:       nvidia/tu102/acr/ucode_unload.bin
firmware:       nvidia/tu102/acr/unload_bl.bin
firmware:       nvidia/ga107/acr/ucode_ahesasc.bin
firmware:       nvidia/ga106/acr/ucode_ahesasc.bin
firmware:       nvidia/ga104/acr/ucode_ahesasc.bin
firmware:       nvidia/ga103/acr/ucode_ahesasc.bin
firmware:       nvidia/ga102/acr/ucode_ahesasc.bin
firmware:       nvidia/ga107/acr/ucode_asb.bin
firmware:       nvidia/ga106/acr/ucode_asb.bin
firmware:       nvidia/ga104/acr/ucode_asb.bin
firmware:       nvidia/ga103/acr/ucode_asb.bin
firmware:       nvidia/ga102/acr/ucode_asb.bin
firmware:       nvidia/ga107/acr/ucode_unload.bin
firmware:       nvidia/ga106/acr/ucode_unload.bin
firmware:       nvidia/ga104/acr/ucode_unload.bin
firmware:       nvidia/ga103/acr/ucode_unload.bin
firmware:       nvidia/ga102/acr/ucode_unload.bin
firmware:       nvidia/gp108/nvdec/scrubber.bin
firmware:       nvidia/gp107/nvdec/scrubber.bin
firmware:       nvidia/gp106/nvdec/scrubber.bin
firmware:       nvidia/gp104/nvdec/scrubber.bin
firmware:       nvidia/gp102/nvdec/scrubber.bin
firmware:       nvidia/gv100/nvdec/scrubber.bin
firmware:       nvidia/tu117/nvdec/scrubber.bin
firmware:       nvidia/tu116/nvdec/scrubber.bin
firmware:       nvidia/tu106/nvdec/scrubber.bin
firmware:       nvidia/tu104/nvdec/scrubber.bin
firmware:       nvidia/tu102/nvdec/scrubber.bin
firmware:       nvidia/ga107/nvdec/scrubber.bin
firmware:       nvidia/ga106/nvdec/scrubber.bin
firmware:       nvidia/ga104/nvdec/scrubber.bin
firmware:       nvidia/ga103/nvdec/scrubber.bin
firmware:       nvidia/ga102/nvdec/scrubber.bin
firmware:       nvidia/ad107/gsp/gsp-535.113.01.bin
firmware:       nvidia/ad107/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ad107/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ad107/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ad106/gsp/gsp-535.113.01.bin
firmware:       nvidia/ad106/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ad106/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ad106/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ad104/gsp/gsp-535.113.01.bin
firmware:       nvidia/ad104/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ad104/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ad104/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ad103/gsp/gsp-535.113.01.bin
firmware:       nvidia/ad103/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ad103/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ad103/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ad102/gsp/gsp-535.113.01.bin
firmware:       nvidia/ad102/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ad102/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ad102/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga107/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga107/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga107/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga107/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga106/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga106/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga106/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga106/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga104/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga104/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga104/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga104/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga103/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga103/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga103/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga103/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga102/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga102/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga102/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga102/gsp/booter_load-535.113.01.bin
firmware:       nvidia/ga100/gsp/gsp-535.113.01.bin
firmware:       nvidia/ga100/gsp/bootloader-535.113.01.bin
firmware:       nvidia/ga100/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/ga100/gsp/booter_load-535.113.01.bin
firmware:       nvidia/tu117/gsp/gsp-535.113.01.bin
firmware:       nvidia/tu117/gsp/bootloader-535.113.01.bin
firmware:       nvidia/tu117/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/tu117/gsp/booter_load-535.113.01.bin
firmware:       nvidia/tu116/gsp/gsp-535.113.01.bin
firmware:       nvidia/tu116/gsp/bootloader-535.113.01.bin
firmware:       nvidia/tu116/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/tu116/gsp/booter_load-535.113.01.bin
firmware:       nvidia/tu106/gsp/gsp-535.113.01.bin
firmware:       nvidia/tu106/gsp/bootloader-535.113.01.bin
firmware:       nvidia/tu106/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/tu106/gsp/booter_load-535.113.01.bin
firmware:       nvidia/tu104/gsp/gsp-535.113.01.bin
firmware:       nvidia/tu104/gsp/bootloader-535.113.01.bin
firmware:       nvidia/tu104/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/tu104/gsp/booter_load-535.113.01.bin
firmware:       nvidia/tu102/gsp/gsp-535.113.01.bin
firmware:       nvidia/tu102/gsp/bootloader-535.113.01.bin
firmware:       nvidia/tu102/gsp/booter_unload-535.113.01.bin
firmware:       nvidia/tu102/gsp/booter_load-535.113.01.bin
firmware:       nvidia/gm206/gr/sw_method_init.bin
firmware:       nvidia/gm206/gr/sw_bundle_init.bin
firmware:       nvidia/gm206/gr/sw_nonctx.bin
firmware:       nvidia/gm206/gr/sw_ctx.bin
firmware:       nvidia/gm206/gr/gpccs_sig.bin
firmware:       nvidia/gm206/gr/gpccs_data.bin
firmware:       nvidia/gm206/gr/gpccs_inst.bin
firmware:       nvidia/gm206/gr/gpccs_bl.bin
firmware:       nvidia/gm206/gr/fecs_sig.bin
firmware:       nvidia/gm206/gr/fecs_data.bin
firmware:       nvidia/gm206/gr/fecs_inst.bin
firmware:       nvidia/gm206/gr/fecs_bl.bin
firmware:       nvidia/gm204/gr/sw_method_init.bin
firmware:       nvidia/gm204/gr/sw_bundle_init.bin
firmware:       nvidia/gm204/gr/sw_nonctx.bin
firmware:       nvidia/gm204/gr/sw_ctx.bin
firmware:       nvidia/gm204/gr/gpccs_sig.bin
firmware:       nvidia/gm204/gr/gpccs_data.bin
firmware:       nvidia/gm204/gr/gpccs_inst.bin
firmware:       nvidia/gm204/gr/gpccs_bl.bin
firmware:       nvidia/gm204/gr/fecs_sig.bin
firmware:       nvidia/gm204/gr/fecs_data.bin
firmware:       nvidia/gm204/gr/fecs_inst.bin
firmware:       nvidia/gm204/gr/fecs_bl.bin
firmware:       nvidia/gm200/gr/sw_method_init.bin
firmware:       nvidia/gm200/gr/sw_bundle_init.bin
firmware:       nvidia/gm200/gr/sw_nonctx.bin
firmware:       nvidia/gm200/gr/sw_ctx.bin
firmware:       nvidia/gm200/gr/gpccs_sig.bin
firmware:       nvidia/gm200/gr/gpccs_data.bin
firmware:       nvidia/gm200/gr/gpccs_inst.bin
firmware:       nvidia/gm200/gr/gpccs_bl.bin
firmware:       nvidia/gm200/gr/fecs_sig.bin
firmware:       nvidia/gm200/gr/fecs_data.bin
firmware:       nvidia/gm200/gr/fecs_inst.bin
firmware:       nvidia/gm200/gr/fecs_bl.bin
firmware:       nvidia/gp100/gr/sw_method_init.bin
firmware:       nvidia/gp100/gr/sw_bundle_init.bin
firmware:       nvidia/gp100/gr/sw_nonctx.bin
firmware:       nvidia/gp100/gr/sw_ctx.bin
firmware:       nvidia/gp100/gr/gpccs_sig.bin
firmware:       nvidia/gp100/gr/gpccs_data.bin
firmware:       nvidia/gp100/gr/gpccs_inst.bin
firmware:       nvidia/gp100/gr/gpccs_bl.bin
firmware:       nvidia/gp100/gr/fecs_sig.bin
firmware:       nvidia/gp100/gr/fecs_data.bin
firmware:       nvidia/gp100/gr/fecs_inst.bin
firmware:       nvidia/gp100/gr/fecs_bl.bin
firmware:       nvidia/gp102/gr/sw_method_init.bin
firmware:       nvidia/gp102/gr/sw_bundle_init.bin
firmware:       nvidia/gp102/gr/sw_nonctx.bin
firmware:       nvidia/gp102/gr/sw_ctx.bin
firmware:       nvidia/gp102/gr/gpccs_sig.bin
firmware:       nvidia/gp102/gr/gpccs_data.bin
firmware:       nvidia/gp102/gr/gpccs_inst.bin
firmware:       nvidia/gp102/gr/gpccs_bl.bin
firmware:       nvidia/gp102/gr/fecs_sig.bin
firmware:       nvidia/gp102/gr/fecs_data.bin
firmware:       nvidia/gp102/gr/fecs_inst.bin
firmware:       nvidia/gp102/gr/fecs_bl.bin
firmware:       nvidia/gp106/gr/sw_method_init.bin
firmware:       nvidia/gp106/gr/sw_bundle_init.bin
firmware:       nvidia/gp106/gr/sw_nonctx.bin
firmware:       nvidia/gp106/gr/sw_ctx.bin
firmware:       nvidia/gp106/gr/gpccs_sig.bin
firmware:       nvidia/gp106/gr/gpccs_data.bin
firmware:       nvidia/gp106/gr/gpccs_inst.bin
firmware:       nvidia/gp106/gr/gpccs_bl.bin
firmware:       nvidia/gp106/gr/fecs_sig.bin
firmware:       nvidia/gp106/gr/fecs_data.bin
firmware:       nvidia/gp106/gr/fecs_inst.bin
firmware:       nvidia/gp106/gr/fecs_bl.bin
firmware:       nvidia/gp104/gr/sw_method_init.bin
firmware:       nvidia/gp104/gr/sw_bundle_init.bin
firmware:       nvidia/gp104/gr/sw_nonctx.bin
firmware:       nvidia/gp104/gr/sw_ctx.bin
firmware:       nvidia/gp104/gr/gpccs_sig.bin
firmware:       nvidia/gp104/gr/gpccs_data.bin
firmware:       nvidia/gp104/gr/gpccs_inst.bin
firmware:       nvidia/gp104/gr/gpccs_bl.bin
firmware:       nvidia/gp104/gr/fecs_sig.bin
firmware:       nvidia/gp104/gr/fecs_data.bin
firmware:       nvidia/gp104/gr/fecs_inst.bin
firmware:       nvidia/gp104/gr/fecs_bl.bin
firmware:       nvidia/gp107/gr/sw_method_init.bin
firmware:       nvidia/gp107/gr/sw_bundle_init.bin
firmware:       nvidia/gp107/gr/sw_nonctx.bin
firmware:       nvidia/gp107/gr/sw_ctx.bin
firmware:       nvidia/gp107/gr/gpccs_sig.bin
firmware:       nvidia/gp107/gr/gpccs_data.bin
firmware:       nvidia/gp107/gr/gpccs_inst.bin
firmware:       nvidia/gp107/gr/gpccs_bl.bin
firmware:       nvidia/gp107/gr/fecs_sig.bin
firmware:       nvidia/gp107/gr/fecs_data.bin
firmware:       nvidia/gp107/gr/fecs_inst.bin
firmware:       nvidia/gp107/gr/fecs_bl.bin
firmware:       nvidia/gp108/gr/sw_method_init.bin
firmware:       nvidia/gp108/gr/sw_bundle_init.bin
firmware:       nvidia/gp108/gr/sw_nonctx.bin
firmware:       nvidia/gp108/gr/sw_ctx.bin
firmware:       nvidia/gp108/gr/gpccs_sig.bin
firmware:       nvidia/gp108/gr/gpccs_data.bin
firmware:       nvidia/gp108/gr/gpccs_inst.bin
firmware:       nvidia/gp108/gr/gpccs_bl.bin
firmware:       nvidia/gp108/gr/fecs_sig.bin
firmware:       nvidia/gp108/gr/fecs_data.bin
firmware:       nvidia/gp108/gr/fecs_inst.bin
firmware:       nvidia/gp108/gr/fecs_bl.bin
firmware:       nvidia/gv100/gr/sw_method_init.bin
firmware:       nvidia/gv100/gr/sw_bundle_init.bin
firmware:       nvidia/gv100/gr/sw_nonctx.bin
firmware:       nvidia/gv100/gr/sw_ctx.bin
firmware:       nvidia/gv100/gr/gpccs_sig.bin
firmware:       nvidia/gv100/gr/gpccs_data.bin
firmware:       nvidia/gv100/gr/gpccs_inst.bin
firmware:       nvidia/gv100/gr/gpccs_bl.bin
firmware:       nvidia/gv100/gr/fecs_sig.bin
firmware:       nvidia/gv100/gr/fecs_data.bin
firmware:       nvidia/gv100/gr/fecs_inst.bin
firmware:       nvidia/gv100/gr/fecs_bl.bin
firmware:       nvidia/tu116/gr/sw_veid_bundle_init.bin
firmware:       nvidia/tu116/gr/sw_method_init.bin
firmware:       nvidia/tu116/gr/sw_bundle_init.bin
firmware:       nvidia/tu116/gr/sw_nonctx.bin
firmware:       nvidia/tu116/gr/sw_ctx.bin
firmware:       nvidia/tu116/gr/gpccs_sig.bin
firmware:       nvidia/tu116/gr/gpccs_data.bin
firmware:       nvidia/tu116/gr/gpccs_inst.bin
firmware:       nvidia/tu116/gr/gpccs_bl.bin
firmware:       nvidia/tu116/gr/fecs_sig.bin
firmware:       nvidia/tu116/gr/fecs_data.bin
firmware:       nvidia/tu116/gr/fecs_inst.bin
firmware:       nvidia/tu116/gr/fecs_bl.bin
firmware:       nvidia/tu117/gr/sw_veid_bundle_init.bin
firmware:       nvidia/tu117/gr/sw_method_init.bin
firmware:       nvidia/tu117/gr/sw_bundle_init.bin
firmware:       nvidia/tu117/gr/sw_nonctx.bin
firmware:       nvidia/tu117/gr/sw_ctx.bin
firmware:       nvidia/tu117/gr/gpccs_sig.bin
firmware:       nvidia/tu117/gr/gpccs_data.bin
firmware:       nvidia/tu117/gr/gpccs_inst.bin
firmware:       nvidia/tu117/gr/gpccs_bl.bin
firmware:       nvidia/tu117/gr/fecs_sig.bin
firmware:       nvidia/tu117/gr/fecs_data.bin
firmware:       nvidia/tu117/gr/fecs_inst.bin
firmware:       nvidia/tu117/gr/fecs_bl.bin
firmware:       nvidia/tu106/gr/sw_veid_bundle_init.bin
firmware:       nvidia/tu106/gr/sw_method_init.bin
firmware:       nvidia/tu106/gr/sw_bundle_init.bin
firmware:       nvidia/tu106/gr/sw_nonctx.bin
firmware:       nvidia/tu106/gr/sw_ctx.bin
firmware:       nvidia/tu106/gr/gpccs_sig.bin
firmware:       nvidia/tu106/gr/gpccs_data.bin
firmware:       nvidia/tu106/gr/gpccs_inst.bin
firmware:       nvidia/tu106/gr/gpccs_bl.bin
firmware:       nvidia/tu106/gr/fecs_sig.bin
firmware:       nvidia/tu106/gr/fecs_data.bin
firmware:       nvidia/tu106/gr/fecs_inst.bin
firmware:       nvidia/tu106/gr/fecs_bl.bin
firmware:       nvidia/tu104/gr/sw_veid_bundle_init.bin
firmware:       nvidia/tu104/gr/sw_method_init.bin
firmware:       nvidia/tu104/gr/sw_bundle_init.bin
firmware:       nvidia/tu104/gr/sw_nonctx.bin
firmware:       nvidia/tu104/gr/sw_ctx.bin
firmware:       nvidia/tu104/gr/gpccs_sig.bin
firmware:       nvidia/tu104/gr/gpccs_data.bin
firmware:       nvidia/tu104/gr/gpccs_inst.bin
firmware:       nvidia/tu104/gr/gpccs_bl.bin
firmware:       nvidia/tu104/gr/fecs_sig.bin
firmware:       nvidia/tu104/gr/fecs_data.bin
firmware:       nvidia/tu104/gr/fecs_inst.bin
firmware:       nvidia/tu104/gr/fecs_bl.bin
firmware:       nvidia/tu102/gr/sw_veid_bundle_init.bin
firmware:       nvidia/tu102/gr/sw_method_init.bin
firmware:       nvidia/tu102/gr/sw_bundle_init.bin
firmware:       nvidia/tu102/gr/sw_nonctx.bin
firmware:       nvidia/tu102/gr/sw_ctx.bin
firmware:       nvidia/tu102/gr/gpccs_sig.bin
firmware:       nvidia/tu102/gr/gpccs_data.bin
firmware:       nvidia/tu102/gr/gpccs_inst.bin
firmware:       nvidia/tu102/gr/gpccs_bl.bin
firmware:       nvidia/tu102/gr/fecs_sig.bin
firmware:       nvidia/tu102/gr/fecs_data.bin
firmware:       nvidia/tu102/gr/fecs_inst.bin
firmware:       nvidia/tu102/gr/fecs_bl.bin
firmware:       nvidia/ga107/gr/NET_img.bin
firmware:       nvidia/ga107/gr/gpccs_sig.bin
firmware:       nvidia/ga107/gr/gpccs_bl.bin
firmware:       nvidia/ga107/gr/fecs_sig.bin
firmware:       nvidia/ga107/gr/fecs_bl.bin
firmware:       nvidia/ga106/gr/NET_img.bin
firmware:       nvidia/ga106/gr/gpccs_sig.bin
firmware:       nvidia/ga106/gr/gpccs_bl.bin
firmware:       nvidia/ga106/gr/fecs_sig.bin
firmware:       nvidia/ga106/gr/fecs_bl.bin
firmware:       nvidia/ga104/gr/NET_img.bin
firmware:       nvidia/ga104/gr/gpccs_sig.bin
firmware:       nvidia/ga104/gr/gpccs_bl.bin
firmware:       nvidia/ga104/gr/fecs_sig.bin
firmware:       nvidia/ga104/gr/fecs_bl.bin
firmware:       nvidia/ga103/gr/NET_img.bin
firmware:       nvidia/ga103/gr/gpccs_sig.bin
firmware:       nvidia/ga103/gr/gpccs_bl.bin
firmware:       nvidia/ga103/gr/fecs_sig.bin
firmware:       nvidia/ga103/gr/fecs_bl.bin
firmware:       nvidia/ga102/gr/NET_img.bin
firmware:       nvidia/ga102/gr/gpccs_sig.bin
firmware:       nvidia/ga102/gr/gpccs_bl.bin
firmware:       nvidia/ga102/gr/fecs_sig.bin
firmware:       nvidia/ga102/gr/fecs_bl.bin
firmware:       nvidia/gp107/sec2/sig-1.bin
firmware:       nvidia/gp107/sec2/image-1.bin
firmware:       nvidia/gp107/sec2/desc-1.bin
firmware:       nvidia/gp106/sec2/sig-1.bin
firmware:       nvidia/gp106/sec2/image-1.bin
firmware:       nvidia/gp106/sec2/desc-1.bin
firmware:       nvidia/gp104/sec2/sig-1.bin
firmware:       nvidia/gp104/sec2/image-1.bin
firmware:       nvidia/gp104/sec2/desc-1.bin
firmware:       nvidia/gp102/sec2/sig-1.bin
firmware:       nvidia/gp102/sec2/image-1.bin
firmware:       nvidia/gp102/sec2/desc-1.bin
firmware:       nvidia/gp107/sec2/sig.bin
firmware:       nvidia/gp107/sec2/image.bin
firmware:       nvidia/gp107/sec2/desc.bin
firmware:       nvidia/gp106/sec2/sig.bin
firmware:       nvidia/gp106/sec2/image.bin
firmware:       nvidia/gp106/sec2/desc.bin
firmware:       nvidia/gp104/sec2/sig.bin
firmware:       nvidia/gp104/sec2/image.bin
firmware:       nvidia/gp104/sec2/desc.bin
firmware:       nvidia/gp102/sec2/sig.bin
firmware:       nvidia/gp102/sec2/image.bin
firmware:       nvidia/gp102/sec2/desc.bin
firmware:       nvidia/gv100/sec2/sig.bin
firmware:       nvidia/gv100/sec2/image.bin
firmware:       nvidia/gv100/sec2/desc.bin
firmware:       nvidia/gp108/sec2/sig.bin
firmware:       nvidia/gp108/sec2/image.bin
firmware:       nvidia/gp108/sec2/desc.bin
firmware:       nvidia/tu117/sec2/sig.bin
firmware:       nvidia/tu117/sec2/image.bin
firmware:       nvidia/tu117/sec2/desc.bin
firmware:       nvidia/tu116/sec2/sig.bin
firmware:       nvidia/tu116/sec2/image.bin
firmware:       nvidia/tu116/sec2/desc.bin
firmware:       nvidia/tu106/sec2/sig.bin
firmware:       nvidia/tu106/sec2/image.bin
firmware:       nvidia/tu106/sec2/desc.bin
firmware:       nvidia/tu104/sec2/sig.bin
firmware:       nvidia/tu104/sec2/image.bin
firmware:       nvidia/tu104/sec2/desc.bin
firmware:       nvidia/tu102/sec2/sig.bin
firmware:       nvidia/tu102/sec2/image.bin
firmware:       nvidia/tu102/sec2/desc.bin
firmware:       nvidia/ga107/sec2/hs_bl_sig.bin
firmware:       nvidia/ga107/sec2/sig.bin
firmware:       nvidia/ga107/sec2/image.bin
firmware:       nvidia/ga107/sec2/desc.bin
firmware:       nvidia/ga106/sec2/hs_bl_sig.bin
firmware:       nvidia/ga106/sec2/sig.bin
firmware:       nvidia/ga106/sec2/image.bin
firmware:       nvidia/ga106/sec2/desc.bin
firmware:       nvidia/ga104/sec2/hs_bl_sig.bin
firmware:       nvidia/ga104/sec2/sig.bin
firmware:       nvidia/ga104/sec2/image.bin
firmware:       nvidia/ga104/sec2/desc.bin
firmware:       nvidia/ga103/sec2/hs_bl_sig.bin
firmware:       nvidia/ga103/sec2/sig.bin
firmware:       nvidia/ga103/sec2/image.bin
firmware:       nvidia/ga103/sec2/desc.bin
firmware:       nvidia/ga102/sec2/hs_bl_sig.bin
firmware:       nvidia/ga102/sec2/sig.bin
firmware:       nvidia/ga102/sec2/image.bin
firmware:       nvidia/ga102/sec2/desc.bin
bor@bor-Latitude-E5450:~$ 

dracut adds firmware referenced by the kernel modules that are installed into initrd. Kernel does not have any framework to indicate for which device each firmware file is, so dracut has no choice.

Do you really need both nouveau and NVIDIA driver in the initrd?

That may work. I’ll keep it in mind if I can’t find another way. I do worry about it affecting other firmware that I need, like for the Ethernet.

No, I do not. I thought I had blacklisted it, but there it is. Searching, I find it came from the package kernel-default-extra, which contains a long list of kernel modules.

I’ll try the dracut option --omit-drivers nouveau and see what happens.

Brief update: I did build a test initrd, which ended up about 27MB, and did not include any of the useless (to me) firmware files. I haven’t had a chance to try booting with this test initrd, and will post my results when I try.
I also haven’t yet experimented to find the best place to put the new flag for when YaST installs a new kernel, but it likely will be in /etc/dracut.conf.d/60-nvidia-default.conf.

Most likely if you don’t want or need the nouveau kernel module, you have no reason to have kernel-default-extra installed. In Leap, the only reason I have it installed anywhere is to have nouveau available for my few functional old NVidia GPUs that depend on it. If you don’t have it installed, no effort is involved in avoiding nouveau, just like on my PCs with AMD and Intel GPUs, where it would constitute nothing but space wasting bloat. :stuck_out_tongue: AIUI, the reason it’s in kernel-default-extra in the first place is that that rpm is a Leap-only container for modules that SLE does not provide or support, a concept inapplicable to Leap, which has no paid support available. The helpful openSUSE installer sees when you have an NVidia GPU, and as programmed, adds kernel-default-extra, which normally would not be installed absent your specifically selecting it for installation in detailed package selection.

Thanks for the suggestion, mrmazda. At first glance, it does look like I can delete kernel-default-extra and kernel-default-optional that depends on it. Before I take that leap, I’m going to run through the kernel modules I have installed and make sure I’m not using any from kernel-default-extra.
This looks like the best solution so far.

After checking, I need to keep kernel-default-extra, as I have a handful of modules installed from it. They are:

  • nct6683 = temp/fan sensors
  • qrtr = Qualcomm IPC router nameservice
  • tiny_power_button = ACPI power button driver
  • polyval_clmulni = “POLYVAL hash function accelerated by PCLMULQDQ-NI”
  • polyval_generic = POLYVAL hash function (crypto)
  • sp5100_tco = watchdog

Rather than figure out if I can live without these, I’m back to my earlier plan of telling dracut to leave out nouveau.

Final solution: I added this line to /etc/dracut.conf.d/60-nvidia-default.conf
omit_drivers+=" nouveau "
rebuilt my initrds with
dracut --force --regenerate-all
then checked and found much smaller initrds, about 27MB instead of 66MB.
The system rebooted as usual. All is good. I now have 140MB free on /boot, which is plenty for 3 initrds next time a kernel update appears.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.