On Thu, Aug 13, 2009 at 11:17 PM, Jack Schwartz<Jack.A.Schwartz at sun.com> wrote: > Hi Peter. > > Thanks for your review.? Comments inline...
I must be being dense. I understand even less how this might work than I did before... > > 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.) Thinking about this more: why would I have to explicitly specify that a driver identified as being required by a piece of hardware in my system be installed? Why wouldn't the installer just install all necessary drivers (unless explicitly told to ignore them, of course)? > 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. But, if I'm running AI, then I'm booting an AI image. I would expect that to have all the "official" drivers in it already by default. All the drivers that DU knows about and you're proposing to allow automatic installation of will already be present - or should be. (That's different from installing off the live cd, where space limitations may force you to skip a whole load of drivers.) > > 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. What I meant was - wouldn't Driver Update just do that for me transparently? > Network drivers may need special attention.? In the case of net-booted AI, > you've already got a network connection when you start. Only if the driver is in the miniroot. So you rebuild the miniroot. Given that you have to do that for some drivers, why not do it for all? > ? But in the case of > media-booted AI, you may not have a network connection. Realistically, that's not AI. If it's requiring the level of intervention required to work around the lack of a network driver, then it's not going to be hands off. > > 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. Again, my question would be: why are they missing? And if they are missing, then the approach would be to add them to the image rather than getting DU to search for them. > 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. So it's delivered with the "media" (including the AI image)? In that case, how does it get updated? > 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. So you install from /dev, and you just get the updated drivers without doing anything. > 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. Quite. So I would download the driver package, and run whatever magic was necessary to add the package to my AI server, and that would be all I had to do. All done on the server - the client does nothing. > 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, -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/
