Rebuild initramfs on initial install to include GSP firmware #18

Merged
alukoshko merged 2 commits from jonathan/nvidia-open-kmod:initramfs-dev into main 2026-07-19 19:19:20 +00:00
Contributor

Fixes a first-boot failure where the NVIDIA open modules can't find their GSP firmware. This is due to an ordering issue when the initramfs rebuild occurs during scriptlets.


On a fresh dnf install nvidia-open-kmod nvidia-driver, the first boot fails with:

nvidia 0000:xx:00.0: Direct firmware load for nvidia/<ver>/gsp_ga10x.bin failed with error -2
[drm:nv_drm_dev_load [nvidia_drm]] *ERROR* Failed to allocate NvKmsKapiDevice

During the install transaction the initramfs is regenerated before the firmware (shipped by nvidia-kmod-common) is on disk, so the module loads early without it. A manual dracut -f afterward fixes it, which confirms the firmware is present on disk, just not captured in the initramfs the transaction left behind.

Fixes a first-boot failure where the NVIDIA open modules can't find their GSP firmware. This is due to an ordering issue when the initramfs rebuild occurs during scriptlets. --- On a fresh `dnf install nvidia-open-kmod nvidia-driver`, the first boot fails with: nvidia 0000:xx:00.0: Direct firmware load for nvidia/<ver>/gsp_ga10x.bin failed with error -2 [drm:nv_drm_dev_load [nvidia_drm]] *ERROR* Failed to allocate NvKmsKapiDevice During the install transaction the initramfs is regenerated before the firmware (shipped by `nvidia-kmod-common`) is on disk, so the module loads early without it. A manual `dracut -f` afterward fixes it, which confirms the firmware is present on disk, just not captured in the initramfs the transaction left behind.
jonathan added 2 commits 2026-07-19 19:16:02 +00:00
This reverts commit 196c7dc65a.
The open modules load GSP firmware (nvidia/<ver>/gsp_*.bin) early from the
initramfs. On a fresh install the initramfs is regenerated before that
firmware is on disk, so the first boot fails with
"gsp_*.bin failed with error -2" until a manual "dracut -f".

Add a %posttrans that rebuilds the initramfs after every payload in the
transaction has landed, guaranteeing the firmware is captured. Gate it to
the initial install with a %ghost stamp file, since $1 cannot distinguish
install from upgrade in %posttrans.
alukoshko merged commit bb7a6ece6f into main 2026-07-19 19:19:20 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: rpms/nvidia-open-kmod#18
No description provided.