[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
distribution customization
- From: Bill Nottingham <notting redhat com>
- To: anaconda-devel-list redhat com
- Subject: distribution customization
- Date: Wed, 10 Jan 2007 14:26:03 -0500
One of the features we're working on for Fedora Core 7 is a
framework to customize the distribution [1] without necessarily
modifying the package set; this is needed as we're intending
to target multiple 'spins' [2] of Fedora.
Right now, what *currently* can be customized is:
- anaconda splash screens and artwork (via product.img)
- anaconda install classes (via product.img)
- default package set (via comps.xml)
- default groups selected in said package set (via installclasses)
- repository selection (via installclass)
What we *want* to be able to customize is:
- default set of services to start
rPath has sent a patch for chkconfig that allows for this; it works
by writing override files for any service you want to change,
and then running chkconfig.
- sysctl settings
Allow for different sets of defaults depending on app/workload.
Server/desktop/router/etc.
A simple implementation would just be to allow for /etc/sysctl.d/,
and lay down files there, although there are integration issues
there (see below.)
So, there are three issues that need solved:
1) What other parameters do we want modifiable?
I'm open to ideas.
The one that hits me is 'anything that can be specified in kickstart';
reasonably, anything done there (well, excluding %post) should be able
to be 1) made a default 2) made required.
Potential implementations of this:
a) Ship a kickstart file in the spin that's used by default.
Pros: Easily expandable to do anything we want, through the use
of %post
Allows for future expansion and automatic support of
any new anaconda features.
Cons: If we want the concept of 'setting defaults' that the
user of the spin can change, will need some reinterpretation
of how kickstart is used inside of anaconda. Unless I've
missed something.
b) Embed this information in the install class
Pros: Doesn't use kickstart
Allows you change anaconda's UI, add/remove screens, etc.
Cons: Deeply ties you to anaconda versions. More likely to break
c) ???
2) How do we package these modifications?
a) A package containing whatever files are used to customize that
pungi/whatever uses when building the image.
Pros: Easy to drop whatever customizations onto the filesystem
Cons: Well, either you have packages that Aren't Fedora in the spins,
or you make someone go through and review them.
b) Just a product.img, generated either as part of the spin, or
passed to the tool to be put in the spin
Pros: Easy to customize anaconda bits this way - infrastructure
is already there.
Cons: Awful for dropping any needed files on the filesystem. Unless
you use kickstart %post, which is a dirty dirty hack.
c) ????
Of course, you could argue that all this default setting, etc. belongs
as part of a centralized configuration management and provisioning tool,
such as cfengine or puppet. Not sure we really want to go down that
road, though.
Bill
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]