[issue1140] installkernel POSTFIX directive

Matthew Dillon dillon at apollo.backplane.com
Mon Sep 22 08:49:22 PDT 2008


:Install a kernel:
:make installkernel KERNCONF=MYCONF
:
:Install a second kernel, for example a SMP one:
:make installkernel KERNCONF=MYSMPCONF KERNPOSTFIX=.smp
:
:Install a kernel and modules somewhere else than /boot (like a VKERNEL):
:make -DNO_MODULES installkernel KERNCONF=VKERNEL 
:DESTKERNDIR=/var/vkernel/boot
:
:I put the examples here to show that it does not really get that 
:confusing. At least I don't think so and it gives all the options one 
:might want.
:On the other hand I like the idea of making it even more simple. If 
:KERNPOSTFIX is not defined by the user we could set it to .${KERNCONF} 
:and we get the behaviour suggested above.
:
:-- 
:
: Mvh  - Stefan -

    Lets clean up the names a bit.  DESTKERNDIR is ok, but KERNPOSTFIX
    is a problem.  Lets rename KERNPOSTFIX to DESTVARIATION or DESTLABEL.
    I think DESTLABEL fits better.  KERNPOSTFIX is too confusing.

    I've thought about it a bit more and I am going to back away from
    wanting the postfix automatically based on the kernconf.  But we
    do want to get rid of the '.' in the postfix (as well as rename it).

    So how about this:

    make installkernel KERNCONF=GENERIC

	Installs as /boot/kernel, /boot/modules

    make installkernel KERNCONF=FUBAR DESTLABEL=smp

	Installs as /boot/kernel.smp, /boot/modules.smp

    make installkernel KERNCONF=FUBAR DESTLABEL=smp DESTDIR=/mnt

	Installs as /mnt/boot/kernel.smp, /mnt/boot/modules.smp

    make installkenrel KERNCONF=FUBAR DESTKERNDIR=/mnt/fubar

	Installs as /mnt/fubar/kernel and /mnt/fubar/kernel.smp

    
    I think its important for DESTLABEL to not need the '.', though it
    does mean some additional complication in the Makefile's.  I recommend
    building an internal DESTKERNNAME and DESTMODULESNAME based on
    DESTLABEL.  If DESTLABEL does not exist DESTKERNNAME would be 'kernel'
    and DESTMODULESNAME would be 'modules'.  If DESTLABEL does exist then
    DESTKERNNAME would be 'kernel.${DESTLABEL}' and DESTMODULESNAME would
    be 'modules.${DESTLABEL}'.

    One could also override the whole name by specifying DESTKERNNAME and
    DESTMODULESNAME.

    How does that sound?

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Bugs mailing list