mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
The build-kernel script was forgotten to commit, it is needed to build the kernel To make the build-submodules script more readable and extendible i've almost totally rewritten it using functions the build process is also started in its own subshell, so that we dont need to hold track of the current directory and make error handling/status info easier
37 lines
1.3 KiB
Bash
Executable File
37 lines
1.3 KiB
Bash
Executable File
#!/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_source kernel_debug 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 -j4 ${TARGETS}
|
|
;;
|
|
|
|
armhf)
|
|
make armhf_vyos_defconfig
|
|
;;
|
|
esac
|