+ scripts/config --disable CONFIG_STACK_VALIDATION
+
+ # Cause problems with inline assembly on i386
+ scripts/config --disable CONFIG_DEBUG_SECTION_MISMATCH
+
+ # Don't build samples, they are broken on some kernel releases
+ scripts/config --disable CONFIG_SAMPLES
+ scripts/config --disable CONFIG_BUILD_DOCSRC
+
+ # Disable kcov
+ scripts/config --disable CONFIG_KCOV
+
+ # Broken on some RT kernels
+ scripts/config --disable CONFIG_HYPERV
+
+ # Broken drivers
+ scripts/config --disable CONFIG_RAPIDIO_TSI721
+ scripts/config --disable CONFIG_SGI_XP
+ scripts/config --disable CONFIG_MFD_WM8994
+ scripts/config --disable CONFIG_DRM_RADEON
+ scripts/config --disable CONFIG_SND_SOC_WM5100
+
+ # IGBVF won't build with recent gcc on 2.6.38.x
+ if { vergte "$kversion" "2.6.37" && verlt "$kversion" "2.6.38"; }; then
+ scripts/config --disable CONFIG_IGBVF
+ fi
+
+ # Set required options
+ scripts/config --enable CONFIG_TRACEPOINTS
+ scripts/config --enable CONFIG_KALLSYMS
+ scripts/config --enable CONFIG_HIGH_RES_TIMERS
+ scripts/config --enable CONFIG_KPROBES
+ scripts/config --enable CONFIG_FTRACE
+ scripts/config --enable CONFIG_BLK_DEV_IO_TRACE
+ scripts/config --enable CONFIG_KALLSYMS_ALL
+ scripts/config --enable CONFIG_HAVE_SYSCALL_TRACEPOINTS
+ scripts/config --enable CONFIG_PERF_EVENTS
+ scripts/config --enable CONFIG_EVENT_TRACING
+ scripts/config --enable CONFIG_KRETPROBES
+
+ # Debug
+ #cat .config
+
+ make "$update_conf_target" CC="$CC"
+ make -j"$NPROC" CC="$CC"
+
+ krelease=$(make -s kernelrelease CC="$CC")
+
+ # Save the kernel and modules
+ mkdir -p "$LINUX_INSTOBJ_DIR/boot"
+ make INSTALL_MOD_PATH="$LINUX_INSTOBJ_DIR" INSTALL_MOD_STRIP=1 modules_install CC="$CC"
+ make INSTALL_MOD_PATH="$LINUX_INSTOBJ_DIR" INSTALL_PATH="$LINUX_INSTOBJ_DIR/boot" install CC="$CC"
+ rm -f "$LINUX_INSTOBJ_DIR/lib/modules/${krelease}/source" "$LINUX_INSTOBJ_DIR/lib/modules/${krelease}/build"
+ ln -s ../../../../sources "$LINUX_INSTOBJ_DIR/lib/modules/${krelease}/source"
+ ln -s ../../../../sources "$LINUX_INSTOBJ_DIR/lib/modules/${krelease}/source"
+}
+
+
+extract_distro_headers() {
+
+ # Enter linux source dir
+ cd "${LINUX_SRCOBJ_DIR}"
+
+
+ # For RT kernels, copy version file
+ if [ -s localversion-rt ]; then
+ cp -a localversion-rt "${LINUX_HDROBJ_DIR}"
+ fi
+
+ # Copy all Makefile related stuff
+ find . -path './include/*' -prune \
+ -o -path './scripts/*' -prune -o -type f \
+ \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
+ -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
+ -print | cpio -pd --preserve-modification-time "${LINUX_HDROBJ_DIR}"
+
+ # Copy base scripts and include dirs
+ cp -a scripts include "${LINUX_HDROBJ_DIR}"