summaryrefslogtreecommitdiff
path: root/build-test-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'build-test-kernel')
-rwxr-xr-xbuild-test-kernel79
1 files changed, 16 insertions, 63 deletions
diff --git a/build-test-kernel b/build-test-kernel
index 8084bbe..2c9b008 100755
--- a/build-test-kernel
+++ b/build-test-kernel
@@ -15,21 +15,9 @@ checkdep make
ktest_kernel_source="." # dir of kernel source
# set with: -k <path>
# defaults: current directory
-ktest_kernel_build="" # kernel build dir
- # defaults to
- # $ktest_kernel_source/.build-test-kernel-$ktest_arch
-ktest_kernel_binary="" # kernel output dir
- # defaults to $ktest_kernel_build/kpkg
-
-BUILD=1 # if set to 1, kernel will build
-DEPS=1
+
COVERAGE="" # doing code coverage?
MAKEARGS=()
-ktest_njobs=$(($(grep -c '^processor' /proc/cpuinfo) * 2))
- # number of jobs to passed to make during kernel compile
- # sets with: -j
- # defaults to 2 * number of processor
-
usage()
{
@@ -45,13 +33,7 @@ usage()
echo " options for build-test-kernel run:"
ktest_usage_run_opts
echo " -k <dir> kernel source dir"
- echo " -b <dir> build directory for kernel (default: kernel_source/.build-test-kernel)"
- echo " -o <dir> output directory for kernel binary (default: kernel_build/kpkg"
- echo " -K don't rebuild kernel"
- echo " -D don't modify kernel .config"
echo " -c <dir> enable coverage for this dir (only valid without -K)"
- echo " -j <num> j option to make"
- echo " -K don't rebuild kernel"
echo
ktest_usage_post
}
@@ -65,23 +47,11 @@ fi
CMD="$1"
shift
-while getopts "k:b:o:KDc:j:h${ktest_args}" arg; do
+while getopts "k:c:h${ktest_args}" arg; do
case $arg in
k)
ktest_kernel_source="$OPTARG"
;;
- b)
- ktest_kernel_build="$OPTARG"
- ;;
- o)
- ktest_kernel_binary="$OPTARG"
- ;;
- K)
- BUILD=""
- ;;
- D)
- DEPS=""
- ;;
c)
if [[ ! -d $OPTARG ]]; then
echo "$OPTARG must be a directory"
@@ -95,10 +65,6 @@ while getopts "k:b:o:KDc:j:h${ktest_args}" arg; do
MAKEARGS+=("GCOV_PROFILE_$OPTARG=y")
COVERAGE=1
;;
- j)
- ktest_njobs=$OPTARG
- ;;
-
h)
usage
exit 0
@@ -108,10 +74,10 @@ while getopts "k:b:o:KDc:j:h${ktest_args}" arg; do
done
shift $(( OPTIND - 1 ))
+parse_args_post
+
# default parameters
[[ -z $ktest_kernel_source ]] && ktest_kernel_source="."
-[[ -z $ktest_kernel_build ]] && ktest_kernel_build="$ktest_kernel_source/.build_test_kernel-$ktest_arch"
-[[ -z $ktest_kernel_binary ]] && ktest_kernel_binary="$ktest_kernel_build/kpgk"
if [[ ! -d $ktest_kernel_source ]]; then
echo "kernel source directory $ktest_kernel_source does not exist"
@@ -120,13 +86,9 @@ fi
ktest_kernel_source=$(readlink -e "$ktest_kernel_source")
+ktest_kernel_build="$ktest_out/kernel_build.$ktest_arch"
mkdir -p "$ktest_kernel_build"
-ktest_kernel_build=$(readlink -e "$ktest_kernel_build")
-ktest_kernel_binary=$(readlink -f "$ktest_kernel_binary")
-
-parse_args_post
-
if [[ -n $CROSS_COMPILE ]]; then
checkdep "$ARCH_TRIPLE-gcc" "gcc-$ARCH_TRIPLE"
fi
@@ -136,7 +98,7 @@ run_ktest()
arg=$1
shift
- "$KTEST" "$arg" $KTESTARGS -k "$ktest_kernel_binary" "$@"
+ "$KTEST" "$arg" $KTESTARGS "$@"
}
do_make()
@@ -146,12 +108,7 @@ do_make()
export CROSS_COMPILE="$ARCH_TRIPLE-"
fi
- # work around a bug in make - maybe not needed anymore?
-# if [[ $# = 0 || $1 != nconfig ]]; then
-# MAKEARGS+=("--output-sync=target")
-# fi
-
- make --jobs="$ktest_njobs" \
+ make -j \
--directory="$ktest_kernel_source" \
O="$ktest_kernel_build" \
INSTALL_MOD_PATH="$ktest_kernel_binary" \
@@ -224,19 +181,17 @@ build_kernel()
mkdir -p "$ktest_kernel_binary"
touch "$magic"
- if [[ -n $DEPS ]]; then
- new_config
+ new_config
- for opt in "${ktest_kernel_config_require[@]}"; do
- [[ -n $opt ]] && kernel_opt set "$opt"
- done
+ for opt in "${ktest_kernel_config_require[@]}"; do
+ [[ -n $opt ]] && kernel_opt set "$opt"
+ done
- do_make olddefconfig
+ do_make olddefconfig
- for opt in "${ktest_kernel_config_require[@]}"; do
- [[ -n $opt ]] && kernel_opt check "$opt"
- done
- fi
+ for opt in "${ktest_kernel_config_require[@]}"; do
+ [[ -n $opt ]] && kernel_opt check "$opt"
+ done
case $KERNEL_ARCH in
mips)
@@ -286,9 +241,7 @@ cmd_run()
ktest_kernel_config_require+=(GCOV_KERNEL)
fi
- if [[ -n $BUILD ]]; then
- run_quiet "building kernel" build_kernel
- fi
+ run_quiet "building kernel" build_kernel
start_vm
}