1
0
mirror of https://github.com/rancher/os-kernel.git synced 2025-05-31 09:44:51 +00:00
os-kernel/scripts/build-kernel

44 lines
954 B
Plaintext
Raw Normal View History

2015-08-05 16:53:05 +00:00
#!/bin/bash
2015-09-17 07:44:12 +00:00
set -e
2015-08-05 16:53:05 +00:00
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.*//}
2015-10-01 15:43:09 +00:00
FIRMWARE=$(readlink -f scripts/firmware)
2015-08-05 16:53:05 +00:00
2015-09-17 07:44:12 +00:00
mkdir -p ${BUILD}
2015-08-05 16:53:05 +00:00
cd ${BUILD}
if [ ! -e ${DIR} ]; then
echo Extracting ${ARTIFACTS}/${KERNEL}
2015-08-05 16:53:05 +00:00
TEMP=$(mktemp -d -p ${BUILD})
mkdir ${TEMP}/${DIR}
2015-08-05 16:53:05 +00:00
trap "rm -rf ${TEMP}" exit
tar xf ${ARTIFACTS}/${KERNEL} -C ${TEMP}/${DIR} --strip-components=1
2015-08-05 16:53:05 +00:00
mv ${TEMP}/${DIR} ${DIR}
fi
cd ${DIR}
cp ${CONFIG}/kernel-config .config
2015-12-23 15:13:15 +00:00
# TODO update config/kernel-config for the latest kernel
2015-08-05 16:53:05 +00:00
make oldconfig
make -j$(nproc) tar-pkg
2015-10-01 15:43:09 +00:00
create_firmware_tar $FIRMWARE
2015-09-17 07:44:12 +00:00
2015-08-05 16:53:05 +00:00
mkdir -p ${DIST}/kernel
2015-10-01 15:43:09 +00:00
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