On 07/20/10 11:04 PM, Dave Miner wrote:
On 07/20/10 04:29 PM, Karen Tung wrote:
On 07/20/10 11:08 AM, Alok Aggarwal wrote:
Hi Karen,

On Tue, 20 Jul 2010, Karen Tung wrote:

       The problem with this is that the repository does not get
       initialized until boot_archive_configure, [2] which runs after
       slimcd_pre_boot_archive_pkg_img_mod.  This means that the
       repository in the proto area really only contains the basic
       schema itself and has no knowledge of ANY services.

If I remember correctly, we want to initialize the GNOME caches at this
point,
as supposed to do it in the boot archive configure step, because we want
these
initializations to carry over to the installed system too.  It might
also be
that
the boot archive didn't contain all the commands necessary to execute
these
GNOME initialization scripts.

       There appears to be at least 3 possible solutions to this:

       1:  Generate the GNOME caches in boot_archive_configure after
       SMF is initialized
       2:  Move the SMF initialization code to the pre_boot_archive
       finalizer
       3:  Don't use the proto area's repository.


What about option 4?

4: Do SMF import of all the services to a *tempoary" SMF repository, and
query against
that temporary repo to get the needed information.  This temp repo
should
not
be part of the image.

(4) seems rather heavyweight.

Do you foresee any problems with (2) - move the SMF
initialization to pre-boot archive creation?
The problem with moving the SMF initialization to pre-boot
archive creation is that we will import SMF services to
the package image area's repository.db, which will
get copied over to the installed system.  So, the installed
system's SMF repository will contain services and configurations
that's made for the live CD, and those might or might not
exist for the installed system.  If I remember correctly, we want to
preserve an unmodified repository so when the system reboots
for the first time after install, all SMF services will get imported
correctly.

If we really want to do this at pre-boot archive creation, we can
first save a copy of the unmodified repository.db, and then, add an
ICT to restore the unmodified repository.db.


We already have the seed repository at /lib/svc/seed/global.db for this purpose.

And in current implementation ICT already assures it gets copied to the target's
/etc/svc/repository.db - create_smf_repository ICT task takes care of it:

http://src.opensolaris.org/source/xref/caiman/slim_source/usr/src/lib/libict_pymod/ict.py#create_smf_repository

Jan

_______________________________________________
caiman-discuss mailing list
caiman-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to