[OpenIndiana-discuss] installing boot driver

Edward Ned Harvey (openindiana) openindiana at nedharvey.com
Sat Aug 25 02:16:21 UTC 2012


On a 64bit intel (amd64) system ...
I have an HBA.  I have a driver for the HBA.  I can boot the live cd, and I can load the driver by copying the file to /usr/kernel/drv/amd64 and doing "sudo add_drv blah blah" command.  At this point, the storage becomes available, and I can install the OS.  But I'd like to be able to boot from it...   ;-)

I'm not very familiar with the solaris boot process, and I'm getting lost in all the different versions of documentation.  I'd like to know if I'm going the right direction...

I believe (correct me if I'm wrong) the boot-time drivers are loaded via the boot_archive file.  This is the solaris analog of linux initrd.  It's a filesystem that gets loaded into ram before the / filesystem is mounted, and discarded from ram after the / filesystem is mounted.

So I *think* I need to modify the boot_archive, to include my driver in (boot_archive)/kernel/drv/amd64
And I think I need to probably generate some sort of conf file ... that will contain all the parameters I specified on the "sudo add_drv" command line...

But I can't seem to figure out where to put some conf file (if indeed I need to do that)

There's this "bootadm update-archive" command, that I'm sure fits into the puzzle somewhere...  But all the man pages just say "Updates the boot archive, if required."    Not exactly the most informative man page...  I don't know what it's trying to update from, or to, or based on what criteria.

Do I just load the driver once into the running kernel, and then run the bootadm update-archive command?  Does it fetch the currently running config, and save it to the boot_archive file?

If I'm not mistaken, the disk blocks of the kernel and the boot archive get hard-coded into grub, right?  Do I need to installgrub after doing the above?

Thanks for any help...


More information about the OpenIndiana-discuss mailing list