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

Avoiding make-kpkg clean, redux



Hi all;

Well, I went through the thread earlier this month about this subject,
because I have EXACTLY the same issue with make-kpkg, and I was
disappointed in the outcome (which, as far as I could tell, just
wandered off into the weeds).  I'd like to restate it and see if we can
close it out:

What do I need to do to use make-kpkg to build my kernel packages, but
avoid having to run "make-kpkg clean" between every build?  I'm
upgrading to a 2.6 kernel and I'm tweaking and poking at my config.
Running a build after a clean takes too long.  Even with ccache.

If you're tempted to respond to this mail with any of the following
comments, please don't bother:

  * "Your machine is too slow/my compiles are fast".  I have a decent
    machine.  Even for the fastest "desktop" system, rebuilding the
    entire kernel from scratch takes too long if you're doing it many
    times.  Compare the time needed for this with doing it by hand with
    a simple "make"...not even close!
  * "Use ccache".  I do (but see below).  It still takes too long.
  * "Don't use make-kpkg; do it by hand".  Yeah, I did that for years.
    I'm interested in having my kernels be .deb packages now.  If you
    don't want to use make-kpkg great: you can ignore this thread.

I understand that for people who aren't used to building kernels, or
software in general, the safest, simplest method is to do a clean
rebuild every time.  I further understand that older kernels (pre-2.6
basically) used an older build system which was not as reliable in the
face of changes, but the 2.6 build system is very cool and these issues
are a thing of the past.


I tried to do the obvious thing: just run make-kpkg kernel_image again
with the same flags, but this did not work: it didn't try to build the
code again, it just recreated the .deb with the same content as before.
I just wish make-kpkg could be smarter about this stuff; maybe it needs
a set of special code for the 2.6 kernel that lets it integrate more
tightly with the new build system.

So... can someone please explain here, and maybe add to the make-kpkg
documentation, a more "experts guide" to building kernels which
discusses when you absolutely must clean and when you don't need to (in
general), how to rebuild a new .deb without first running clean, etc.?


Second, I wish make-kpkg would have better support for ccache, like a
--ccache flag or something.  Yes, I can change my PATH to use
/usr/lib/ccache but I don't like this method.  I'd prefer to override
the kernel CC variable, but I can't find any way to do that from the
make-kpkg command line (why can't make-kpkg simply any arguments that
are variable assignments down into the kernel make?)


Cheers!

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith@nortel.com>           HASMAT: HA Software Mthds & Tools
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.



Reply to: