Wikula » RecompileAptosidKernel
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:
- Readme.Debian and Readme.sources provided with aptosid kernel source
- How To Rebuild An Official Debian Kernel Package∞ on debian wiki.
- Debian Kernel Custom Compilation∞
- Debian Linux Kernel Handbook∞
System Administration