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>