1
0
mirror of https://github.com/rancher/os-kernel.git synced 2025-06-21 19:27:04 +00:00
os-kernel/scripts/build-kernel
2015-10-01 08:46:22 -07:00

43 lines
897 B
Bash
Executable File

#!/bin/bash
set -e
cd $(dirname $0)/..
source scripts/build-common
export CCACHE_DIR="${HOME}/.kernel-ccache"
export CC="ccache gcc"
export PATH="/usr/lib/ccache:$PATH"
KERNEL=$(basename ${KERNEL_URL})
DIR=${KERNEL/.tar.*//}
FIRMWARE=$(readlink -f scripts/firmware)
mkdir -p ${BUILD}
cd ${BUILD}
if [ ! -e ${DIR} ]; then
echo Extracting ${ARTIFACTS}/${KERNEL}
TEMP=$(mktemp -d -p ${BUILD})
mkdir ${TEMP}/${DIR}
trap "rm -rf ${TEMP}" exit
tar xf ${ARTIFACTS}/${KERNEL} -C ${TEMP}/${DIR} --strip-components=1
mv ${TEMP}/${DIR} ${DIR}
fi
cd ${DIR}
cp ${CONFIG}/kernel-config .config
make oldconfig
make -j$(nproc) tar-pkg
create_firmware_tar $FIRMWARE
mkdir -p ${DIST}/kernel
FILE=$(echo linux*.tar)
tar --concatenate --file=${FILE} firmware.tar
cat $FILE | gzip -c > ${DIST}/kernel/${FILE}.gz
list_build_files | tar -czf ${DIST}/kernel/build.tar.gz -T /dev/stdin