summaryrefslogtreecommitdiff
path: root/scripts/build-kernel
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-01-27 17:06:26 +0100
committerDaniil Baturin <daniil@baturin.org>2019-01-27 17:06:26 +0100
commit71dd0bccd3cb0133211597e68645e02110bbc52b (patch)
tree1a167496f7e2f032a3607307f11ad562146151a3 /scripts/build-kernel
parentc7fb71488763ebe41277cfd8571f47f2510c9797 (diff)
parent5c71eee90b61dbddaf54bd49b79c541587d8fa6f (diff)
downloadvyos-build-71dd0bccd3cb0133211597e68645e02110bbc52b.tar.gz
vyos-build-71dd0bccd3cb0133211597e68645e02110bbc52b.zip
Merge branch 'current' into crux
Diffstat (limited to 'scripts/build-kernel')
-rwxr-xr-xscripts/build-kernel36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/build-kernel b/scripts/build-kernel
new file mode 100755
index 00000000..e58d2d5a
--- /dev/null
+++ b/scripts/build-kernel
@@ -0,0 +1,36 @@
+#!/bin/bash
+if [ ! -f "Makefile" ]; then
+ echo "Makefile missing, This script needs to be executed inside the vyos-kernel package directory"
+ exit 1
+fi
+
+if grep -Fxq "KBUILD_OUTPUT" Makefile; then
+ echo "Wrong Makefile?, This script needs to be executed inside the vyos-kernel package directory"
+ exit 1
+fi
+
+
+# newer Kernel versions come with a "# SPDX-License-Identifier: GPL-2.0" identifier
+# as the first line in the file - use compatible approach with grep rather then sed
+VERSION=$(grep "^VERSION" Makefile | grep -Eo '[0-9]{1,4}')
+PATCHLEVEL=$(grep "^PATCHLEVEL" Makefile | grep -Eo '[0-9]{1,4}')
+SUBLEVEL=$(grep "^SUBLEVEL" Makefile | grep -Eo '[0-9]{1,4}')
+ARCH=$(dpkg --print-architecture)
+
+case "$ARCH" in
+ amd64)
+ make x86_64_vyos_defconfig
+ TARGETS="kernel_headers kernel_image"
+ # the following targets are not supported for Linux Kernels > 4.14 as
+ # they have been removed from the Makefile (commits 18afab8c1d3c2 &
+ # 22cba31bae9dc).
+ if [ ${PATCHLEVEL} -lt 14 ]; then
+ TARGETS+=" kernel_manual kernel_doc"
+ fi
+ CONCURRENCY_LEVEL=4 LOCALVERSION="" make-kpkg --rootcmd fakeroot --initrd --append_to_version -amd64-vyos --revision=$VERSION.$PATCHLEVEL.$SUBLEVEL-1+vyos1+current1 -j$(cat /proc/cpuinfo | grep processor | wc -l) ${TARGETS}
+ ;;
+
+ armhf)
+ make armhf_vyos_defconfig
+ ;;
+esac