##install necessary packages

iman@debian:~$ sudo apt-get install libncurses5 libncurses5-dev libssl-dev kernel-package fakeroot build-essential

iman@debian:~$ sudo apt install libncurses5 libncurses5-dev debhelper libssl-dev libelf-dev flex bison fakeroot build-essential

##get kernel 3.10

iman@debian:~$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.xz

iman@debian:~$ tar -xvf linux-3.10.tar.xz

iman@debian:~$ cd linux-3.10

iman@debian:~/linux-3.10$ cp /boot/config-`uname -r` .config && yes "" | make oldconfig

##optional : configure kernel

#iman@debian:~/linux-3.10$ make menuconfig

##if not first compilation

#iman@debian:~/linux-3.10$ make-kpkg clean

##set compile at full speed

iman@debian:~/linux-3.10$ export CONCURRENCY_LEVEL=`grep "cpu cores" /proc/cpuinfo | head -1 | cut -d":" -f2 | cut -c2-`

##compile kernel image and kernel headers

iman@debian:~/linux-3.10$ fakeroot make-kpkg --initrd --revision=1+i --append-to-version=-`date +%Y%m%d` kernel-image kernel-headers

iman@debian:~/linux-3.10$ cd ..

iman@debian:~$ sudo dpkg -i linux-image-3.10.0-20130701_1+i_amd64.deb linux-headers-3.10.0-20130701_1+i_amd64.deb

##reboot then :

iman@debian:~$ uname -a

Linux debian 3.10.0-20130701 #1 SMP Mon Jul 1 09:55:44 CEST 2013 x86_64 GNU/Linux