
kif - kernel installation facility

Automate the building and installation of Linux kernels. Manage the necessary configuration files for each installed Linux kernel.
kif [options] [startingPhase [endingPhase]]

kif and it's associated perl modules provide a framework for building and installing Linux kernels. It is extensible and can be made to handle any combination of architectures and boot loaders. Version 1.00 handles:
any and all extensions made for other processor architectures and boot loaders will be greatfully included.
The kernel installation process is broken into "phases". These phases define what kif is to do. Be default kif begins at the first phase and goes to the last. kif may be instructed to begin and end at any desired phase. The phases and their purposes are:
If there is no valid autoconf.h or the .config file is newer, then the autoconf.h file is regenerated using "make oldconfig".

By default the current architecture. Used to select the appropriate perl modules for building on the specified architecture. The value of this option may be any valid Linux architecture as returned by "uname -a". Not all valid architectures may be supported at any given time.
The path to the directory containing the source for the Linux kernel and modules. If omitted it defaults to the current working directory.
Produce this pod.
The path to the file into which the output of kif is to be written.
Run kif but do not execute any commands. This is mostly useful in conjunction with the verbose option, below.
These may be used more than once to increase the verbosity of the output.
Print the current version number.

All files saved or written by kif will be "tagged" with the version information extracted from the make file present in the build directory. It is the responsibility of the user to modify the make file as appropriate to allow kif to work sanely. The collection of information defining the current release of the kernel is called the "releaseTag".
Not all of the following files exist on each system. Not all systems use /boot as the place to store kernel images.
The aboot configuration file used to boot this kernel.
The autoconf.h generated when this kernel was built.
The .config file used to generate autoconf.h when this kernel was built.
The grub configuration file used to boot this kernel.
The initrd file genereated for this kernel.
The system map for this kernel.
Symbolic link to the appropriate default uncompressed Linux kernel.
The uncompressed Linux kernel image.
Symbolic link to the appropriate default compressed Linux kernel.
The compressed Linux kernel image.
The lilo configuration file used to boot this kernel.
The modules associated with the Linux kernel.

The CVS sources and release kits are available from SourceForge at:
http://sf.net/projects/kif
The latest released version is also available from my PAUSE directory at:
http://backpan.cpan.com/authors/id/M/MU/MUNROER/kif
The latest development version is available from my website at:
http://www.csworks.com/download/

Dick Munroe (munroe@csworks.com). I'm looking for work (contract or permanent). I do a lot more than just hack Perl. Take a look at my:
Resume: http://www.csworks.com/resume Skills: http://www.csworks.com/skills CV: http://www.csworks.com/cv
for the gory details. If you see a match, drop me a not and we'll see what we can work out.