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

Re: cleaning up kernel source



Hi,
>>"David" == David Morris <bweaver@worf.netins.net> writes:

David> OK, I downloaded the source for the 2.0.24 kernel and compiled
David> a custom kernel yesterday. And now I have the tree leftover
David> taking up 30M on my hard drive.  And I was wondering what I can
David> clean up to free up the space.

David> I know I can run a make clean to remove the *.o files and other
David> compiling files, but that would still leave quite a bit
David> leftover.

	(make-kpkg clean)

David> I am tempted to rm -r the whole tree (which I have done
David> previously), but I see the Documentation that I might want to
David> keep some things handy (like the documentation). So what do I
David> do with all the include files? should I copy them all over to
David> the /usr/include directory? and do I want to leave something
David> hanging around /usr/src/linux?

	Well, you really need not bother with the include files, since
 libc5-dev should contain header files for most of your needs.
 However, if you wish to be very cautious, build a
 kernel-headers-2.0.24 package, which will give you all the heades
 (under /usr/src/linux), just in case.

	Then rm -r all other subdirectories except the ones you want
 to keep (like the documentation). BTW, after cleaning up, the source
 come to just under 6M.


David> Thanks in advance for your assistance.

	You're welcome.

		manoj


	     Canned explanation about kernel header files
             ____________________________________________


        The headers were included in libc5-dev after a rash of very
 buggy alpha kernel releases (1.3.7* or something like that) that
 proceeded to break compilations, etc.  Kernel versions are changed
 far more rapidly than libc is, and there are higer chances that
 people install a custom kernel than they install custom libc.

        Add to that the fact that few programs really need the more
 volatile elements of the header files (that is, things that really
 change from kernel version to kernel version), [before you reject
 this, consider: programs compiled on one kernel version usually work
 on other kernels].

        So, it makes sense that a set of headers be provided from a
 known good kernel version, and that is sufficient for compiling most
 programs, (it also makes the compile time environments for programs
 on debian machines a well known one, easing the process of dealing
 with problem reports), the few programs that really depend on cutting
 edge kernel data structures may just use -I/usr/src/linux/include
 (provided that kernel-headers or kernel-source exists on the system).

        Most programs, even if they include <linux/something.h>, do
 not really depend on the version of the kernel, as long as the kernel
 versions are not too far off, they will work. And the headers
 provided in libc5-dev are just that. 

        libc5-deb is uploaded frequently enough that it never lags too
 far behind the latest released kernel.

        There are two different capabilities which are the issue, and
 the kernel-packages and libc5-dev address different ones:

 a) The kernel packages try tp provide a stable, well behaved kernel
    and modules, and may be upgraded whenever there are significant
    advances in those directions (bug fixes, more/better module
    support, etc).  These, however, may not have include files that
    are non-broken as far as non-kernel programs are concerned, and
    the quality of the development/compilation environment is not the
    kernel packages priority (Also, please note that the kernel
    packages are tied together, so kernel-source, headers, and image
    are produced in sync)

 b) Quality of the development/compilation environment is the priority
    of libc5-dev package, and it tries to ensure that the headers it
    provides would be stable and not break non-kernel programs. This
    assertion may fail for alpha kernels, which may otherwise be
    perfectly stable, hence the need for a different set of known-good
    kernel include files.


-- 
 Caesar had his Brutus--Charles the First, his Cromwell--and George
 the Third ("Treason!" cried the Speaker)--may profit by their
 example.  If this be treason, make the most of it.  -- Patrick Henry
Manoj Srivastava                                     <srivasta@datasync.com>

--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: