Hello,
I’m trying to add the nVidia proprietary drivers and a modprobe.conf file to the initrd file.
I run dracut -f to create the initrd file. It fails.
These are the two files that I’ve created:
#/etc/dracut.conf.d/nvidia.conf
add_drivers+="nvidia nvidia_modeset nvidia_uvm nvidia_drm"
install_items+="/etc/modprobe.d/nvidia.conf"
#/etc/modprobe.d/nvidia.conf
options nvidia_drm modeset=1
The lines starting with the #'s aren’t actually in the file, that’s just the filenames. And there’s no new blank lines at the top of the files, I just added that so it’s a bit easier to read.
Anyway, I create these two files. Then I execute dracut -f and this is the output:
eugene:/mnt/initrd # dracut -f
dracut: Executing: /usr/bin/dracut -f
dracut: *** Including module: bash ***
dracut: *** Including module: systemd ***
dracut: *** Including module: warpclock ***
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: i18n ***
dracut: *** Including module: drm ***
dracut: *** Including module: plymouth ***
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: resume ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: suse-xfs ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: dracut-systemd ***
dracut: *** Including module: haveged ***
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including module: suse ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies and firmware ***
dracut: *** Installing kernel module dependencies and firmware done ***
**dracut-install: ERROR: installing '/usr/lib/udev/rules.d/11-dm-parts.rules/etc/modprobe.d/nvidia.conf'**
**dracut: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.3ipW9s/initramfs -a /usr/lib/udev/rules.d/11-dm-parts.rules/etc/modprobe.d/nvidia.conf**
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done***
dracut: *** Hardlinking files ***
dracut: *** Hardlinking files done ***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing GenuineIntel.bin ****
dracut: *** Store current command line parameters ***
dracut: Stored kernel commandline:
dracut: resume=UUID=ac985b5e-fb17-442f-b6ac-24c1c53e5bff
dracut: root=UUID=3c6e7faf-093a-49df-83db-ca247620f093 rootfstype=ext4 rootflags=rw,relatime,data=ordered
dracut: *** Creating image file '/boot/initrd-4.14.15-1-default' ***
dracut: *** Creating initramfs image file '/boot/initrd-4.14.15-1-default' done ***
Not sure what I’m doing wrong here. For some reason, it seems like it’s looking for some /usr/lib/udev/rules.d/11-dm-parts.rules/etc/modprobe.d/nvidia.conf file.
/usr/lib/udev/rules.d/11-dm-parts.rules is a file that exists, but it appears there’s no space between that and the /etc/modprobe.d/nvidia.conf file I try adding to my image.
If I add a space before /etc/modprobe.d/nvidia.conf in the install_items+= area, like this:
add_drivers+="nvidia nvidia_modeset nvidia_uvm nvidia_drm"
install_items+=" /etc/modprobe.d/nvidia.conf"
I don’t actually see where dracut adds my files. I’ve tried extracting the contents of the ASCII CPIO file, but there’s two files inside, nothing else (when I add the space and the initramfs file is created successfully.
early_cpio
kernel
kernel->x86
kernel->x86->microcode
kernel->x86->microcode->GenuineIntel.bin
Neither of the files are big. 8KB for the GenuineIntel.bin file, and the early_cpio was 2 bytes.
Any ideas what I’m doing wrong here? I’m sure there’s more to the initrd file that I’m attempting to extract, but I couldn’t find any other ways to extract the files except for using:
cpio -id < /boot/initrd-4.14.15-1-default
I’m running the latest Linux proprietary drivers from nVidia, I’m also running kernel 4.14.15-1-default. I did a zypper dup the other night because I haven’t used this box in a while.
Any help would be greatly appreciated.
Thank you.