create new tag
view all tags

Install time contexts

install context

There is an install context which is set for the majority of the installroot process; you can identify when it is unset by looking for the setctxnormal install method in install.installmethods.

For example, the following, under DICE or INF, would disable LDAP for nsswitch lookups for the duration of the installroot process.

!nsswitch.mods_passwd[install] files
!nsswitch_mods_group[install] files

Note that you can not use this context to modify which packages populate the installbase set of RPMs.

installbase context

There is also an installbase context which is set from the start of the installbase process (ie the first boot off the hard disk) until some, undefined, time during the updaterpms run of the first boot.

!profile.packages       mADD(notatinstallbase-*-*:i)
!profile.packages       mADD(notatinstallbase-3-6[!installbase])

Note that, in DICE, as the openldap component starts after the updaterpms component, you cannot use this mechanism to install RPMs which require DICE directory service lookups as part of their installscripts. Currently you must use the booting context to ensure that such RPMs are installed as part of the overnight run rather than at boot time. (TIP Maybe we should look at moving the openldap component to earlier in the boot cycle for FC6).

Also note that as the installbase context is unset during the run of the updaterpms component, it is not of any use for components which start after updaterpms. This restriction may be lifted in the future.

Implementation details (aide memoire for Alastair)

The installbase context is set by two methods, both of which are required.

The install.imethod_setctxbase method, called during the installroot, loads the installbase context compiled resources into the target machine. This ensures that components that start before the client component, during the installbase boot, will receive installbase context resources.

The lcfg-installfixups RPM, installed as part of the installbase set of RPMs, sets the installbase context in the target root filesystem. This is necessary to indicate to the client component, when it starts during the installbase boot, that it should be using the installbase context; otherwise it would unset the context and subsequent components would not receive installbase context compiled resources.

-- AlastairScobie - 09 Feb 2007

Topic revision: r1 - 2008-02-07 - squinney
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback