[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Introduction and RFC on kernel cmdline based kickstart-file generation



Hey,

my name is Fabian Deutsch besides beeing a long time Fedora - and thus
anaconda - user, I'm workin on oVirt Node (http://www.ovirt.org/Node).

Node is a slimmed down Fedora (or CentOS), which is deployed in the
livecd form factor.
This livecd is getting installed - as in copied - on to a LV by our
custom installer.
At runtime the host boots the livecd image stored on the LV. Changes to
configuration files are persisted by storing those files on a writable
partition and bind mounting them into the appropriate place.

One thing - besides others - I like about Node is that you can do a
complete installation and configuration using kernel arguments. Our
customer is reading the installation parameters from the kernel cmdline
instead of reading them from a kickstart like anaconda does.
This is very convenient when Node get's deployed via PXE boot - where
the installation parameters can be just given in the pxe conf.

The following patch is basically an idea of how to bring kernel
arguments based installations to anaconda:
https://github.com/fabiand/anaconda/compare/master...kargs

The high level idea is that kickstart directives can be given on the
kernel cmdline, which are then - by a small script - transformed into a
kickstart. This kickstart is later picked up by anaconda.

Let me illustrate how such a transformation can look:

    keyboard --vckeymap=us
    rootpw --plaintext "foo bar"
    repo --baseurl=ur1.ca/bar --cost=42

becomes

    a.keyboard(vckeymap=us) a.rootpw(plaintext)="foo bar" \
    a.repo(baseurl=ur1.ca/bar;cost=42)

The transformation is (or intended to be) "lossless" and thus
bidirectional.

I've not yet come round to build a boot image to test this. There is
only a doctest validating that the transformation is right.

Any thoughts on such an (isolated) feature?

Greetings
fabian

Attachment: signature.asc
Description: This is a digitally signed message part


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]