#!/bin/bash DIR=$(dirname `readlink -f $0`) . $DIR/../testing.conf . $DIR/function.sh echo "Building guest kernel version $KERNELVERSION" [ -f "$KERNELCONFIG" ] || die "Kernel config $KERNELCONFIG not found" check_commands bunzip2 bzcat make wget cd $BUILDDIR if [ ! -f "$KERNELTARBALL" ] then url=https://cdn.kernel.org/pub/linux/kernel/v${KERNELVERSION:0:1}.x/$KERNELTARBALL log_action "Downloading $url" execute "wget -q $url" fi if [[ $KERNELPATCH && ! -f "$KERNELPATCH" ]] then url=http://download.strongswan.org/uml/$KERNELPATCH log_action "Downloading $url" execute "wget -q $url" fi KERNELDIR=$BUILDDIR/$KERNEL if [ ! -d "$KERNELDIR" ] then log_action "Unpacking kernel" execute "tar xJf $KERNELTARBALL" if [ $KERNELPATCH ] then log_action "Applying kernel patch" bzcat $KERNELPATCH | patch -d $KERNELDIR -p1 >>$LOGFILE 2>&1 log_status $? [ $? -eq 0 ] || exit 1 fi fi cd $KERNELDIR if [ ! -f .config ] then execute "cp $KERNELCONFIG .config" 0 fi echo "Creating kernel configuration, you might get prompted for new parameters" make oldconfig 2>&1 | tee -a $LOGFILE log_action "Compiling the kernel" execute "make -j5"