[OpenIndiana-discuss] installing boot driver

Edward Ned Harvey (openindiana) openindiana at nedharvey.com
Sat Aug 25 05:38:09 UTC 2012


> From: Richard Lowe [mailto:richlowe at richlowe.net]
> 
> When you've installed the system, you should be able to install the
> driver into the root we created (mounted at /a, I believe),

This is kinda funny ...

First of all, the miniroot (or whatever, installation environment) has a lock file, /a/var/run/AdDrEm.lck
This prevents add_drv or bootadm update-archive from running.  But by googling around, it seems safe to simply remove the lock file.

Second of all, while the installer is running, it's mounted as /a
But the moment it finishes and displays the "Reboot" button, it's remounted as / and it's really difficult to do anything about that.  If you try to remount, unmount, volume is busy.  But when you ls or cd or whatever ... You're still seeing the filesystem of the live cd environment, not the chrooted installation environment.   (Weird.)

So if you wait that long, it's too late, you can't run the bootadm update-archive.  If you don't wait long enough (let's say, the zfs filesystem hasn't been created yet, or the kernel directory doesn't exist yet) then it also fails.  

So you have to do the following stuff, in the middle of the installation, while the installation progress meter is running.

The process I have now, is as follows:

(I'm not sure how precise the timing needs to be, but I know there is some sensitivity, and I'm documenting what I did successfully.)

To install openindiana on a system with 3ware 9650SE adapter...
Go to 3ware.com, (lsi.com, whatever) and download 9.5.4-Codeset-Complete.iso  (this is the complete utility, including configuration tool and manuals, drivers, etc, everything.)  

Boot from the openindiana live cd.
Personally, I found it useful to sudo svcadm enable svc:/network/ssh:default
And then ssh into the system, so I can use my clipboard to paste commands.  But that's not necessary.
You need to extract the "tw" driver file from the iso.  If it's easier to do this on another computer, go for it.  Otherwise:
	download the iso to the openindiana computer.  (You can't eject livecd while booted from livecd)
	sudo mkdir /mnt/cd
	sudo mount -F hsfs 9.5.4-Codeset-Complete.iso /mnt/cd
	sudo cp /mnt/cd/packages/drivers/opensolaris/amd64/tw /kernel/drv/amd64/
Copy the "tw" file to /kernel/drv/amd64/

sudo add_drv -m "* 0666 root sys" -i '"pci13c1,1003" "pci13c1,1004" "pci13c1,1005" "pci13c1,1010"' -c scsi tw

Now the storage drivers are loaded.  You can begin installing the OS.

When the installer gets to around 30% or so, do this:
sudo cp /kernel/drv/amd64/tw /a/kernel/drv/amd64/

When it gets to around 75%, do this:
sudo rm /a/var/run/AdDrEm.lck
sudo bootadm update-archive -R /a

You should be long since completed with the above commands, before the installer reaches 90%

When the installer gives you the Reboot button...  Reboot.

Notice, it boots up but doesn't go through grub or anything.  Shutdown, halt, or go to the shutdown menu and un-select "skip boot menu on restart."  This will force the system to completely reset, and go through BIOS, and grub.  This should solidly confirm for you, that the system is able to load the necessary drivers during boot.

If you want, you can quit now.  But it's really useful to install the 3ware management utilities, so you can reconfigure disks, manage disks, get email alerts, etc.  So I recommend continuing:

Mount the iso as described above.  (or just burn a disc and insert the disc)
cd /mnt/cd/packages/installers/tools/opensolaris
sudo ./setupSolaris_x86.bin
	(Or, perhaps)   sudo ./setupSolaris_x86.bin -console





More information about the OpenIndiana-discuss mailing list