Rootserver Sponsor

webtropia"

Donations

Please support your operating system's further development:

donate"

How to recompile aptosid kernel


This is intended for those who want to recompile aptosid kernel, to change some settings or add/remove patch.

In my case, to remove a patch that breaks backlight brightness on my laptop.

Please note that this procedure is intended to be done as a regular user, unless specified otherwise.

Grab the source


First step is to get the aptosid version of the kernel source.

To do that, you have to enable source in your apt configuration.

As root, edit your /etc/apt/sources.list.d/aptosid.list and remove the # in front of the line saying:

 deb-src http://oscar.aptosid.com/debian sid main fix.main 


Then as root update your apt:

 apt-get update 


Now as a regular user, you can actually grab the source:

replace $arch with the arch you actually want, in my case amd64
 apt-get source linux-image-2.6-aptosid-$arch 



NOTE: In case you're looking for the previous revision of aptosid kernels they are available via svn on berlios.de. Get the one you want with a svn checkout:

 svn checkout http://svn.berlios.de/svnroot/repos/fullstory/linux-aptosid-2.6/tag/<desired version> 


Install the required dependencies


As root, install the needed files
apt-get install fakeroot build-essential devscripts
apt-get build-dep linux-2.6



Compile the kernel


Where to find the config file


The .config file used for compiling a specific aptosid kernel version can be found in /boot or at /proc/config.gz

In my case: /boot/config-2.6.37-0.slh.23-aptosid-amd64


Patches


You can add or remove patches to be applied to the kernel in the relevant debian/patches subdirectory, then update the debian/series file.

In my case: removing the line referencing candidate/0147-drm-i915-panel-Fix-application-of-legacy-backlight-v.patch which is the culprit for breaking brightness on my intel video chipset.

Building custom binary package


The use of make-kpkg is deprecated, now you should use make deb-pkg.

In my case, it would be: fakeroot make deb-pkg


Rebuilding official binary package


You can build specific kernel binary packages using the targets listed in debian/rules.gen which have names of the form: binary-arch_<architecture>_<featureset>_<flavour>

In my case, it would be:

 fakeroot make -f debian/rules.gen binary-arch_amd64_none_aptosid-amd64 



Install the new kernel package


As root, you can now use dpkg to install the resulting .deb kernel package:

 dpkg -i linux-image-2.6.37-0.moose.backlightbugfix-aptosid-amd64.deb 



Other resources


Here are a few helpful resources for dealing with kernels and debian based distro:



System Administration