This guide is valid for the RaspberryPi 1.
- In your linux PC home directory create a rpi_kernel directory:
$ mkdir ~/rpi_kernel
cd ~/rpi_kernel
- Download the raspberry tools:
$ git clone git://github.com/raspberrypi/tools.git
- Add the bin folder to PATH:
$ PATH=rpi_kernel/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin:$PATH
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ wget https://www.kernel.org/pub/linux/kernel/projects/rt/4.4/patch-4.4.38-rt49.patch.gz
$ cd linux
KERNEL=kernel
cat ../patch-4.4.XX-rtYY.patch | patch -p1
- Make an RPi default configuration:
$ make ARCH=arm CROSS_COMPILE=/arm-linux-gnueabihf- bcmrpi_defconfig menuconfig
- Enabling the FULL PREEMPTIBLE KERNEL:
$ make -j 8 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
- To install kernel and modules on your Raspberry follow the official guide from: Install directly onto the SD card
Source: https://www.raspberrypi.org/documentation/linux/kernel/building.md