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

Best kernel-building procedure



I've been experimenting with my kernel-building procedure..

I've been building kernel-images for a while..  since I'm on dialup, and
it takes so long to download the complete source every time, I keep the
kernel-source..orig file.. currently I have 2.4.21...

I then download the current "kernel-source..diff" and apply the patch to
an orig. directory structure..  On this, I run "debian/rules binary"
which compiles the suite of debs.. kernel-patch (don't need it on this),
kernel-doc and then, of course, what I really need, kernel-source..deb.
I install the kernel-source deb and run make-kpkg...  I go through this
because make-kpkg doesn't work on the kernel-source patched directly
from the diff...  it probably would if I deleted the debian directory..
the debian/rules doesn't seem to be set up for that.. make-kpkg barfs
at "no dummy_do_dep" target, I believe it is..

To simplify things, I tried installing the kernel-patch deb, unpacking a
copy of the kernel-source..orig, and then doing
  $ "PATCH_THE_KERNEL=YES fakeroot make-kpg...kernel_image"
the theory being that I _should_ come up with an identical vmlinuz..

Well.. I don't quite..

the one created under the sources patched with the diff.
$ll /boot/vmlinuz-2.4.21-4.dlb
-rw-r--r--    1 root     root       907325 Aug  6 20:48 /boot/vmlinuz-2.4.21-4.dlb

the first deb created using kernel-patch
$dpkg --contents kernel-image-2.4.21-4.dlb-first.deb
-rw-r--r-- root/root    907234 2003-08-07 19:13:15 ./boot/vmlinuz-2.4.21-4.dlb

another kernel-patch try...
hmm.. this latest one is closer in size to the one made with the diff...

$dpkg --contents kernel-image-2.4.21-4.dlb_10.00_Custom_i386.deb
-rw-r--r-- root/root    907322 2003-08-08 20:56:26 ./boot/vmlinuz-2.4.21-4.dlb

these last two were created under, AFAIK the same conditions.. the only
possible exception being the "_first" kernel-patch deb _may_ have been
created with the --rootcmd fakeroot option and I know the last. and I'm
pretty sure the original above, were called by $fakeroot make-kpkg..
don't know why that would make any difference..

When I diff the directory where the diff patch was applied, with the
kernel-patched directory, the only difference (besides some diffs in
.hdepend - caused by this) is the existence in the diff'ed dir of
ip6_fw.h and ip6_fw.c and not in the kernel-patched dir..  It looks like
these files were supposed to have been deleted in 2.4.21-3  - the
diff file puts it into the kernel-patch.. but fails to delete it in
itself, and it gets passed on into the kernel-source deb..

Anyway.. after this long-winded explanation.. what _is_ the best way to
compile the new kernels where you don't want to dload the complete
kernel source each time?



Reply to: