# download 4.14 kernel wget --continue https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz # download 4.14 -> 4.14.27 stable kernel patch wget --continue https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-4.14.27.xz # download 4.14.27 -> 4.14.27-rt21 realtime kernel patch wget --continue https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.27-rt21.patch.xz # unpack 4.14 kernel tar xJf linux-4.14.tar.xz # apply 4.14.27 stable kernel patch xzcat patch-4.14.27.xz | patch -p 1 -d linux-4.14 # apply 4.14.27-rt21 realtime kernel patch xzcat patch-4.14.27-rt21.patch.xz | patch -p 1 -d linux-4.14 # # kernel options to be aware of # # (must be set to activate all realtime features) # CONFIG_PREEMPT_RT_FULL # # (disable prio99 watchdog debug tasks, unless really needed/wanted) # CONFIG_LOCKUP_DETECTOR # CONFIG_DETECT_HUNG_TASK # # (reduced power, but greater latencies, disable it) # (use CONFIG_100_HZ and CONFIG_HZ_PERIODIC instead) # CONFIG_NO_HZ # # (additional NOPs inserted to each function, ok to enable so you have ftrace) # CONFIG_FTRACE # # (reduced power, but greater latencies, disable appropriately) # CONFIG_CPU_IDLE # # (may cause very large overheads and latencies, disable appropriately) # CONFIG_DEBUG_* # # (make sure these are enabled, but only use "performance") # CONFIG_CPU_FREQ_GOV_* # CONFIG_CPU_FREQ_DEFAULT_* # # (causes unnecessary processing, for systems that do not need it, # disable if not needed) # CONFIG_HIGHMEM #