Drivers
Would someone explain the driver load process on Solaris 10 I86pc?
Does the OS dynamically load drivers each boot if one is found? On a display of devices I find my NIC netgear ga302T. It is supposed to use the bge driver so I added the pci id to the bge.conf file. Does the driver also have a binary listing of the pci id's also? Could I just edit the bge file to add in the pci id?
On that same note I bought a realtek adapter airlink model. Would it work as a realtek or do I need to edit or recompile that driver to add in pci id.
Does solaris use the pci id to move drivers to the /kernel/drv at boot?
[632 byte] By [
jefro] at [2007-11-26 11:17:02]

# 1
It uses the /etc/driver_aliases file to bind a PCI id to a driver.
It doesn't move anything in or out of /kernel/drv.
See also Dan Mick's blog for the specifics on the format in the file:
http://blogs.sun.com/dmick/entry/title_pci_device_identification_and
--
Darren
# 3
You also asked about loading. Nothing is loaded until it's needed or if you explicitly ask it to be forceloaded.
I believe that it's common to load drivers in linux in the initrd or in a startup script before the device is used. Most of the time in Solaris that isn't necessary. When the device is used, the driver will be autoloaded.
If you have a tape drive attached, this is easy to see. You can use 'modinfo' to view the modules and see that 'st' isn't there. Then access one of the devices (something like 'mt -f /dev/rmt/0cbn status' is good). The driver will load and appear in modinfo. (And output from the driver will get logged and/or sent to the console).
--
Darren