Tuesday, September 04, 2018

Patch and build kernel



## Install kernel build dependencies
apt-get -y install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc g++

## Download kernel source & unpack
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
tar -xJf linux-4.4.tar.xz

## Apply kernel patches, modify configs
cp /opt/intel/mediasdk/opensource/patches/kmd/4.4/intel-kernel-patches.tar.bz2 .
tar -xvjf intel-kernel-patches.tar.bz2
cd linux-4.4
for i in ../intel-kernel-patches/*.patch; do patch -p1 < $i; done
cp /boot/config-`uname -r` .config

## Build patched kernel & install 
make -j8 LOCALVERSION=-custom
make modules_install
make install

## Or build patches kernel as .deb file, and install
make -j8 deb-pkg LOCALVERSION=-smbus18ww36
sudo dpkg -i ../*.deb
sudo update-grub && sudo reboot

PS, generated .deb files :
linux-firmware-image-4.4.0-smbus18ww36_4.4.0-smbus18ww36-1_amd64.deb
linux-headers-4.4.0-smbus18ww36_4.4.0-smbus18ww36-1_amd64.deb
linux-image-4.4.0-smbus18ww36_4.4.0-smbus18ww36-1_amd64.deb
linux-image-4.4.0-smbus18ww36-dbg_4.4.0-smbus18ww36-1_amd64.deb
linux-libc-dev_4.4.0-smbus18ww36-1_amd64.deb

PS, disable CONFIG_DEBUG_INFO and -dbg package will not be built.