release notes for kinst 1.1: 22 June 1995
todd j. derr (tjd@barefoot.org)

This package consists of a few perl scripts that will help you to
maintain different kernel versions with lilo.  Perl[45] is required.

things have changed quite a bit since 1.0 to accomodate the installkernel
script; there are a lot of command line options to the programs.  A lot of
things have been cleaned up as well.  Please see below.

anyone wanna _think_ about porting these to sh? :-)

please send bug reports, suggestions, etc. to me:

todd (tjd@barefoot.org)

---------------------------------------------------------------------------
'installkernel' is new in v1.1.  If you install this in 'sbin' it will be
called by the kernel's makefile when you 'make install' [i'm not sure
exactly when the makefile was rewritten to do this -tjd].

installkernel bacsically takes the arguments from 'install.sh' (part of
the kernel's install procedure) and passes them on to 'kinst' (see below).

note that since you can't specify extra arguments this way, if you want to
use an extra tag for your kernel, you can set the environment variable
$KERNEL_TAG prior to running 'make install'.

things you might need to change are:

	$KINST: path to the 'kinst' program (usually /sbin/kinst)

	$FORCE is passed to kinst.

		$FORCE="-f": no prompting before overwriting files.
		$FORCE="":   prompt before overwriting.

---------------------------------------------------------------------------
'kinst' is a script that installs kernel images in a directory, automatically
extracting the kernel version from the Makefile and appending it (and an
optional tag on the command line) to the name.

Before you install the script, please edit it to make sure the pathnames
specified are correct for your system.

If you just type 'kinst', it will install the compressed kernel image
	/usr/src/linux/arch/i386/kernel/zImage as
		/boot/zImage.version.sublevel.patchlevel

from the command line, you can specify a 'tag' used to distinguish between
different kernels of the same version.  The tag (with a leading dot) gets
appended to the name of the installed image.  For example, if you are
installing kernel 1.3.1 and type 'kinst foo', it will install the image as
"/boot/zImage.1.3.1.foo".  If you are using 'genlilo', you'll probably want
to keep these tags short (usually 2 or 3 characters), since lilo limits
label names to 15 characters.

After the kernel image is copied, 'kinst' runs 'genlilo' to generate a
lilo configuration.

The command line options are as follows, though you probably won't need to
use most of them, they're included mainly for use of 'installkernel':

usage: kinst [-d path] [-i path] [-z file] [-m file] [-v version] [-f] [tag]

	-d:  path to top level kernel source dir
	-i:  destination for installation of image and map files
	-z:  full filename for zImage
	-m:  full filename for System.map
	-v:  kernel version: v.p.s (ie. '1.3.3')
	-f:  force 'yes' answers to all questions
	tag: extra tag to use on installed image


---------------------------------------------------------------------------
'genlilo' creates a lilo.conf file from a prototype.  As with kinst,
please edit the locations for files in the script to match your system
if necessary.  There are also a couple other things you might want to
change.

A sample lilo.conf.proto is included here.  The sample lilo.conf is what
is generated from this file by running 'genlilo' with my 5 current kernel
images.  From insspecting these two files, it should be fairly obvious how
it works.   The prototype file looks like this:

header.  This part is copied verbatim into lilo.conf, with a blank line
following it
[PROTO_START]
	prototype for kernel images.  For every kernel in your boot
	directory, lilo.conf will generate 'label' and 'image' lines,
	followed by this prototype.  Should be indented by a tab for
	maximum prettiness :-)
[PROTO_END]
footer.  Like the header, it is copied verbatim.

Please note that the tags [PROTO_START] and [PROTO_END] should appear on
lines by themselves (though you can put a comment on the same line, either
before or after the tags, if you so desire.)

After the lilo configuration file is generated, genlilo calls lilo to
install it.

As mentioned in the kinst documentation above, lilo limits labels to 15
characters.  Since 'linux.x.y.z' is 11 characters, you're limited to 3
character tags (or 2 for patchlevels >10, maybe 1 for future kernel
versions.)  if this is a problem, change the value of $LABEL in the
script to use a shorter label than 'linux.'.

Command line options (these are mainly for the benefit of 'kinst'), you can
override the default values in the script itself:

genlilo [ -d path ] [ -z name ] [ -l base_label ]

	-d: path to images
	-z: basename of images
	-l: basename of lilo label

