Need systemd unit file help.

Doug Ledford dledford at redhat.com
Mon Sep 26 17:34:04 UTC 2011


----- Original Message -----
> Well, you can move your service into the early boot part if
> necessary. However, there's a fundamental problem here: iiuc you
> compile
> driver modules at boot and want them recognized by the system during
> the
> same boot run. That's hardly possible though. To compile your modules
> you probably need the full set of file systems around (i.e. /var and
> /tmp), but that's only available after udev was started and driver
> loading triggered. So the earliest time you can build the drivers is
> already too late to load them properly.

You can always trigger the device you are building for again once the build is complete.

> My question to you: why are these modules built at boot time at all?
> Why
> not at install time? Seems like the more appropriate time to me,
> given
> that the set of kernel packages does not change during boot, but only
> at
> install time.

Because a kernel install can happen after the package that rebuilds the module is installed and the kernel rpm doesn't itself build these modules.  Now, you might be able to use a %trigger in rpm, but in general, several people in the past have resorted to boot time builds so that if you boot up on a new kernel and the custom driver was already installed, then the custom drivers get built for the new kernel.  In some cases (although it can probably be argued this is a bad driver make process), the driver might require the running kernel be what it is building for and then you would *have* to wait until the first time that particular kernel is booted to build the module.

So, long story short, there are difficulties, not the least of which is the poorly understood usage of the %trigger capabilities in rpm.

-- 
Doug Ledford <dledford at redhat.com>
              GPG KeyID: CFBFF194
	      http://people.redhat.com/dledford



More information about the devel mailing list