NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: misc/60956: ramdisk-cgdroot.fs seems to check for /libdata/firmware/ in the ram disk rather than the mounted cgdroot



> Date: Mon, 02 Nov 2026 17:07:06 -0500
> From: "David H. Gutteridge" <david%gutteridge.ca@localhost>
> 
> I haven't tried this myself (I don't use this particular setup), but I
> believe it may be possible instead to add the /altroot path to the
> firmware loading path, e.g.:
> 
> hw.firmware.path=/altroot/libdata/firmware:/altroot/usr/libdata/firmware
> 
> ... or such in your sysctl.conf.

This helps with drivers that load firmware at time of first use by
userland, but not with drivers that load firmware at config_mountroot
time.

For those drivers, we need to either:

(a) bake the firmware images into cgdroot.fs;

(b) teach the bootloader to gather firmware images from another source
    than the root file system like it does for the kernel, modules,
    and cgdroot.fs itself; or

(c) find a way to defer the firmware loading in these drivers until
    the `real' root has been mounted -- which the kernel doesn't have
    a concept of.

And, if there are any drivers that only load firmware at time of first
use (not sure offhand which, if any, do this), it would be nice for
them to not get out of sync between the boot medium, cgdroot.fs, and
the `real' root.

It should not be a matter of asking users to manually assemble their
own custom cgdroot.fs from sets or a custom build -- we should have a
systematic way to handle this.



Home | Main Index | Thread Index | Old Index