1、package to install in ubuntu or Debian
$ sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
2、Prepare Kernel Source and excute the command
$ make clean && make mrproper
3、Excute the command :the default config file location /arch/arm/configs/yourdevice_defconfig
$ make yourdevice_defconfig
$ adb pull /proc/config.gz
$ gunzip config.gz
4、Point the "Makefile" to the compilation tools
$ export CROSS_COMPILE=/home/***/ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-
5、Apply any kernel patches ie. BFS, BFQ etc.
$ patch -p1 < yourpatch.patch
6、Further configure your kernel if so desired:
$ make menuconfig
7、Execute compile command:
$ make -j5 ARCH=arm
8、Kernel & Wifi module locations after compilation:
/arch/arm/boot/zImage
/drivers/net/wireless/bcm4329_204/bcm4329.ko