Hi Peter.

Thanks for your review.  Comments inline...

On 08/13/09 13:20, Peter Tribble wrote:
> On Thu, Aug 13, 2009 at 3:45 AM, Jack Schwartz<Jack.A.Schwartz at sun.com> 
> wrote:
>   
>> Hi everyone.
>>
>> I haven't received any email comments on the spec.
>> Is the spec so good that no one had anything to say? :)
>>     
>
> 1.2 You allow for delivery of drivers using 3 mechanisms - IPS, SVR4,
> and a DU image. However, you only mention searching the Device Driver
> Utility database for IPS packaes. Does the database only contain IPS
> packages? In that case, how does the user find drivers that are only
> available in SVR4 form?
>   
All packages the DDU database points to are IPS packages.  These are 
categorized as "Solaris" packages.  Other entries it categorizes are 
OpenSolaris (which point to OpenSolaris project websites) and ThirdParty 
(which point to other websites).

Even if the DDU pointed to non-IPS packages, though, I would propose 
that Driver Update not use them.  I would only want an automatic 
installation of a driver if that driver has gone through the process 
needed to make it into an official OpenSolaris distribution ("certified" 
is as close a term as I can think of here).  We can't be responsible for 
the results if the DDU were to install a third party driver from a 
source we know nothing about.

All of the above applies only to automatic search and install of 
drivers, which is what the database is used for.  If you know of a third 
party driver you want to use, or have an SVR4 driver left over from S10 
you want to install on your older hardware, you can do this.  In fact, 
support of DU images is just for this purpose: to make it easy to 
install older drivers without having to convert their format.
> 3.3 Why add specific support to AI? I would have thought that adding
> additional drivers to the installed image was no different to adding any
> other package.
You are correct in that the mechanics of adding an additional driver to 
the installed image is the same as adding any other package to that 
image.  (In fact, updates to the DDU for doing manual installs of 
packages will be shim layers which call pkg or pkgadd to do the real work.)

So why is this needed?  Special drivers have to be added to the 
installed image so they are available to aid in the installation 
itself.  One needs to add the special driver for a legacy raid card 
before the disks of that card can be used as a target for the install.  
That driver won't be available soon enough if its package is merely 
listed as one of the packages to install.
>  And traditionally I would have rebuilt the miniroot - why
> not do that (needed for getting the network driver on in any case).
>   
You still can, but Driver Update is a heck of a lot more convenient for 
most cases.

Network drivers may need special attention.  In the case of net-booted 
AI, you've already got a network connection when you start.  But in the 
case of media-booted AI, you may not have a network connection.  Driver 
update can certainly load a driver from local media (e.g. USB stick) but 
configuring the AI client's network stack to use it is another issue.  
(You'd still have the problem even without Driver Update, though.)

As I see it, net configuration would fall under the domain of the AI 
Client effort.
> (I think I interpret the spec here as saying that you specify an updated
> driver location and it gets automatically loaded into both the installation
> environment and the installed system.)
>   
Correct.  The driver will not only be used during the installation, but 
it will also be installed in the target environment.

I need to clarify in the spec though that specifying the "noinstall" 
flag is the way to use a driver during an installation but not install 
it.  It is there in the first example in the first <bundle>.  However, I 
forgot to explain it in the spec.
> For AI, why is searching there? I wouldn't expect that I would be able
> to contact the search system, and I wouldn't want the system to start
> guessing what drivers I do or don't want - I would want to explicitly
> control what gets installed.
>   
In OpenSolaris, there could be drivers which haven't been included in 
the AI image (and thus not in the client-booted installation 
environment) but yet are in the repo.  This is how the search can be useful.

The "database" used by the DDU and which will be used by AI through a 
DDU library, is a flat file delivered with the DDU.  It is nothing fancy 
and doesn't require going to a special database system.

We can specify a repo for the automatic search and install.  This is to 
accommodate testing teams, which may want to test with a special repo.  
For this reason, I suggest in the spec that the database that is used 
come from the repo it represents,.  Suppose for example, that the /dev 
repo has a more current set of drivers than /release.  We'll need the 
/dev repo's database to know about the new driver set. 

We don't want the system to automatically search and install drivers 
without the user's permission.  The user needs to explicitly put the 
<searchall> tag into the manifest to enable this feature.  You can 
always install manually if you prefer, to have explicit control.

One detail which wasn't discussed in the spec but needs to be, is how 
the manual and automatic options can interact.  I'm going to propose 
that <searchall> can be done as the last "specification" in an 
<add_drivers> group.  This way, specific drivers can be added 
explicitly, and then <searchall> can be used to find the rest.  Human 
interaction can drive this same behavior with the live CD and text 
installers too, as already proposed.
> The statement:
>
>  > Third party drivers will not be installed automatically.
>
> confuses me. Isn't that one of the things you're trying to automate?
>   
Again, to clarify, you *can* add third party drivers to an installation 
environment to aid an installation but you have to add its package name 
and location to the manifest.

By "installed automatically" I meant "search the database for a driver 
to match a device and install its package".  This couldn't happen for 
third party drivers.  How would the database know about them?  Even if 
the database could, how could the reliability and security of those 
drivers be certified since the location could be arbitrary?  In the case 
of AI, third party drivers can't be installed anyway, in many cases, 
because to download them would require human interaction (e.g. clicking 
at the third party website to agree to their license, click the download 
button, etc);  AI is hands-off.

Thanks so much for your feedback.  You are helping make my spec more 
complete and clear.  I'll be updating the spec and reposting it within 
the next couple of hours.

    Thanks,
    Jack
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/caiman-discuss/attachments/20090813/4996e3ca/attachment.html>

Reply via email to