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

Re: Debian kernel source diff



On Sat, Jan 15, 2005 at 12:41:07AM +0000, Ketil Froyn wrote:
> Hi,
> 
> I'm having some trouble with Bug#285521, where my laptop will not
> suspend any more when I close the lid. I'd like to inspect a diff
> between the kernel-image source for 2.4.27-1-686-2.4.27-2 and
> 2.4.27-1-686-2.4.27-6 to look for anything that might affect this, but
> I'm not even sure how to get the source for -2 any longer... (As I'm
> sure you've worked out, I'm still quite fresh with Debian).
> 
> Any pointers would be appreciated, or if there is already a fix,
> please let me know so I don't waste any more time. :)

Hi Keitl,

You are in luck.

The source for kernel-image-XXX-2.4.27 packages is provided by the 
kernel-source-2.4.27 package, and in the case of the package
you refer to above, and all over i386 packages, this source is used
completly unmodified.

If you install kernel-patch-debian-2.4.27 then you will get
all of the patches that were used to construct _all_ versions of
kernel-source-2.4.27. They live in /usr/src/kernel-patches/all/2.4.27/debian/

In /usr/src/kernel-patches/all/2.4.27/debian/series/ you will find
the meta-files which control which patches went into which version.
A line starting with a + means the patch was added, 
a line starting with a - means the patch was removed,
and a line starting with an X means a file was removed,
usually because of licencing problems.

Additionally, if you look in the changelog, you will see a fairly detailed
list of what changes were made to which version.

/usr/share/doc/kernel-patch-debian-2.4.27/changelog.Debian.gz

The only trick is to note that confusingly,
kernel-image-2.4.27-1-686 2.4.27-2 was actually built against
kernel-source-2.4.27/kernel-patch-debian-2.4.27 2.4.27-5.

To reiterate, you actually want to compare the difference
between kernel-source-2.4.27/kernel-patch-debian-2.4.27 2.4.27-5
and kernel-source-2.4.27/kernel-patch-debian-2.4.27 2.4.27-6.

>From there things get a bit easier to follow as
kernel-image-2.4.27-1-686 2.4.27-6 was built against
kernel-source-2.4.27/kernel-patch-debian-2.4.27 2.4.27-6.
Simmilarly for 2.4.27-7. And the plan is to do the same for
2.4.27-8.


If you want to apply the patches here is what to do.

install kernel-source-2.4.27
Find some spare disk space and run
tar -jxf /usr/src/kernel-source-2.4.27.tar.bz2
cd kernel-source-2.4.27

This will give you a directory with the patched kernel source,
to find out which version run
cat version.Debian

To patch to a different version run
override_version=2.4.27 /usr/src/kernel-patches/all/2.4.27/apply/debian

You can control the version to patch to by changing the value of 
override_version=2.4.27. 2.4.27 means pristine (less files that have
been removed for licencing reasons, as they can't be recreated).
2.4.27-1, would mean the -1 release and so on.

After each invocation of this command you can inspect version.Debian
to find out what version you are at. If it is missing then 
2.4.27 is assumed by the script, so you should probably do the same.

Please note, that the way this work is implemented by the
kernel-source-2.4.27 package. While kernel-source-2.6.8,9,10, 
have similar systems, based on the code, they are not exactly the same,
so be careful. And for 2.4.26 and earlier, the system was not
as well developed and did not allow you to inspect individual patches.


-- 
Horms



Reply to: