]> git.ipfire.org Git - thirdparty/systemd.git/blame - mkosi.presets/system/mkosi.kernel.build
mkosi: Make sure custom installkernel scripts are not used
[thirdparty/systemd.git] / mkosi.presets / system / mkosi.kernel.build
CommitLineData
d052cc88
DDM
1#!/bin/sh
2# SPDX-License-Identifier: LGPL-2.1-or-later
3set -e
4
0f4259bc
DDM
5if [ "${container:-}" != "mkosi" ]; then
6 exec mkosi-chroot "$SCRIPT" "$@"
7fi
8
d052cc88
DDM
9if [ -d "$SRCDIR"/mkosi.kernel/ ]; then
10 SRCDIR="$SRCDIR/mkosi.kernel"
11 BUILDDIR="$BUILDDIR/mkosi.kernel"
12 cd "$SRCDIR"
13 mkdir -p "$BUILDDIR"
14
1adae328
DDM
15 # Prevent a distro's custom installkernel script from being used.
16 if [ -x /sbin/installkernel ]; then
17 mount --bind /dev/null /sbin/installkernel
18 fi
19
d052cc88
DDM
20 # Ensure fast incremental builds by fixating these values which usually change for each build.
21 export KBUILD_BUILD_TIMESTAMP="Fri Jun 5 15:58:00 CEST 2015"
22 export KBUILD_BUILD_HOST="mkosi"
23
24 scripts/kconfig/merge_config.sh -O "$BUILDDIR" \
25 ../mkosi.kernel.config \
26 tools/testing/selftests/bpf/config.x86_64 \
27 tools/testing/selftests/bpf/config
28
29 # Make sure systemd-boot boots this kernel and not the distro provided one by overriding the version.
30 make O="$BUILDDIR" VERSION=99 -j "$(nproc)"
076deab7 31 make O="$BUILDDIR" VERSION=99 -j "$(nproc)" headers
d052cc88
DDM
32
33 KERNEL_RELEASE=$(make O="$BUILDDIR" VERSION=99 -s kernelrelease)
34 mkdir -p "$DESTDIR/usr/lib/modules/$KERNEL_RELEASE"
35 make O="$BUILDDIR" VERSION=99 INSTALL_MOD_PATH="$DESTDIR/usr" modules_install
36 make O="$BUILDDIR" VERSION=99 INSTALL_PATH="$DESTDIR/usr/lib/modules/$KERNEL_RELEASE" install
37 mkdir -p "$DESTDIR/usr/lib/kernel/selftests"
1ca30ea8 38 make -C tools/testing/selftests -j "$(nproc)" O="$BUILDDIR" VERSION=99 KSFT_INSTALL_PATH="$DESTDIR/usr/lib/kernel/selftests" SKIP_TARGETS="hid" install
d052cc88
DDM
39
40 mkdir -p "$DESTDIR"/usr/bin
41 ln -sf /usr/lib/kernel/selftests/bpf/bpftool "$DESTDIR/usr/bin/bpftool"
42fi