Compile 3.9 Kernel on Debian 7 Wheezy for Lenovo X230

Reason for compiling your own kernel

Debian Wheezy out of the box installs the Linux 3.2 kernel which was released back in January 2012. The 3.2 kernel is marked as longterm by the kernel team and will be supported until 2016. That’s probably the reason why Debian chose to release Wheezy with the 3.2 Kernel. However most newer hardware (released after January 2012) will not properly be supported by this kernel. The Intel HD4000 graphics chip in my Lenovo X230 suffers from lock-ups while using the 3.2 kernel. These problems were fixed in the 3.4 kernel (Intel provided a new graphics chip driver). The following commands will compile and install the latest available kernel from (v. 3.9.4 at the time of writing)


The following packages are needed to compile your kernel

$ sudo apt-get install kernel-package fakeroot build-essential ncurses-dev

Download the new kernel from

(replace 3.9.4 with current version number)

$ wget

Extract the archive and cd into it

$ tar xvf linux-3.9.4.tar.bz2
$ cd linux-3.9.4/

Compile the kernel

Base the kernel config on your current configuration

$ cat /boot/config-`uname -r`>.config
## OR (depending on your current kernel)
$ cat /boot/config-3.2.0-4-amd64 > .config

$ make oldconfig

Remark: you’ll be asked quite a lot of questions (newer kernel contain more options and tweaks). If in doubt, choose the default answer.

Create the kernel related debian packages

$ make-kpkg clean

Compile the kernel

$ sudo time fakeroot make-kpkg -j4 --initrd kernel_image kernel_headers

replace 4 with the amount of available cpu-cores

Install the new kernel

$ sudo dpkg -i ../linux-image-3.9.4_3.9.4-10.00.Custom_amd64.deb ../linux-headers-3.9.4_3.9.4-10.00.Custom_amd64.deb

Reboot and select the new kernel in grub

Leave a Reply

Your email address will not be published. Required fields are marked *