2 # SPDX-License-Identifier: GPL-2.0+
4 # Build a kvm-ready Linux kernel from the tree in the current directory.
6 # Usage: kvm-build.sh config-template resdir
8 # Copyright (C) IBM Corporation, 2011
10 # Authors: Paul E. McKenney <paulmck@linux.ibm.com>
12 if test -f "$TORTURE_STOPFILE"
14 echo "kvm-build.sh early exit due to run STOP request"
19 if test -z "$config_template" -o ! -f "$config_template" -o ! -r "$config_template"
21 echo "kvm-build.sh :$config_template: Not a readable file"
26 T
="`mktemp -d ${TMPDIR-/tmp}/kvm-build.sh.XXXXXX`"
29 cp ${config_template} $T/config
30 cat << ___EOF___ >> $T/config
31 CONFIG_INITRAMFS_SOURCE="$TORTURE_INITRD"
33 CONFIG_VIRTIO_CONSOLE=y
36 configinit.sh
$T/config
$resdir
43 # Tell "make" to use double the number of real CPUs on the build system.
44 ncpus
="`getconf _NPROCESSORS_ONLN`"
45 make -j$
((2 * ncpus
)) $TORTURE_KMAKE_ARG > $resdir/Make.out
2>&1
47 if test $retval -ne 0 ||
grep "rcu[^/]*": < $resdir/Make.out |
grep -E -q "Stop|Error|error:|warning:" ||
grep -E -q "Stop|Error|error:" < $resdir/Make.out
49 echo Kernel build error
50 grep -E "Stop|Error|error:|warning:" < $resdir/Make.out