Project

General

Profile

Actions

Build Custom Ubuntu Kernel

  1. Create container directory:
    $ mkdir custom_kernel && cd custom_kernel
    
  2. Grab kernel source for the currently installed kernel version (NOTE: this can be modified as needed):
    $ apt-get source linux-image-$(uname -r)
    
  3. Install build dependencies:
    $ sudo apt-get build-dep linux-image-$(uname -r)
    
  4. Modify configuration (NOTE: you need to go through each (Y, Exit, Y, Exit..) or get a complaint about config later...):
    $ chmod a+x debian/rules
    $ chmod a+x debian/scripts/*
    $ chmod a+x debian/scripts/misc/*
    $ fakeroot debian/rules clean
    $ fakeroot debian/rules editconfigs 
    
  5. Build kernel:
    $ fakeroot debian/rules clean
    $ fakeroot debian/rules binary-headers binary-generic binary-perarch
    
  6. Install kernel `.debs`:
    $ sudo dpkg -i linux-headers-3.19.0-80_3.19.0-80.88~14.04.1_all.deb linux-headers-3.19.0-80-generic_3.19.0-80.88~14.04.1_amd64.deb linux-image-3.19.0-80-generic_3.19.0-80.88~14.04.1_amd64.deb linux-image-extra-3.19.0-80-generic_3.19.0-80.88~14.04.1_amd64.deb
    

Useful Commands

  • If using printk debug, increase the kernel logging verbosity:
    # echo 8 > /proc/sys/kernel/printk
    

Updated by almost 5 years ago · 1 revisions