[OpenIndiana-discuss] installing boot driver

Jim Klimov jimklimov at cos.ru
Sat Aug 25 22:25:56 UTC 2012


2012-08-25 6:16, Edward Ned Harvey (openindiana) пишет:
> 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...

Well, technically - this is a relatively new process (just a decade
old) introduced with Solaris 10 and OpenSolaris (SXCE and others).

The list of files (including drivers) that must make it to the
boot_archive is here, individually in the current BE:
/boot/solaris/filelist.ramdisk

"bootadm update-archive -R /a" can be run relative to the BE mount
path, likely when you're installing your OS too. If the boot_archive
file is older than any file in this list of its supposed contents,
it is recreated with the up-to-date information.

 > 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...


I think you can copy your driver and related configuration files
during the installation into your new BE, and modify this text file.
Then update-archive, and the system should be working after boot :)

There is also /boot/solaris/filelist.safe, I'm not sure what it is.
Maybe a leftover from "failsafe boot" which was in SXCE/Solaris 10
and made a similar "initrd" geared towards system recovery if the
boot pool (or SVM mirror) died or got seriously corrupted?..



HTH,
//Jim



More information about the OpenIndiana-discuss mailing list