diff options
author | Joel Fernandes <joel@linuxinternals.org> | 2018-03-31 20:35:33 -0700 |
---|---|---|
committer | Joel Fernandes <joel@linuxinternals.org> | 2018-03-31 21:08:32 -0700 |
commit | 72656c5b3fcc370beb8168453dc7a470c67c12b7 (patch) | |
tree | e4e9c0239495d80ae7cfc6dbf1a36edb518489d0 /bcc/build-kheaders-targz.sh | |
parent | 5572bd24128ced8c53b3d12f429da64a29d5e0bd (diff) | |
download | adeb-72656c5b3fcc370beb8168453dc7a470c67c12b7.tar.gz |
Update
Signed-off-by: Joel Fernandes <joel@linuxinternals.org>
Diffstat (limited to 'bcc/build-kheaders-targz.sh')
-rwxr-xr-x | bcc/build-kheaders-targz.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bcc/build-kheaders-targz.sh b/bcc/build-kheaders-targz.sh new file mode 100755 index 0000000..a7db3db --- /dev/null +++ b/bcc/build-kheaders-targz.sh @@ -0,0 +1,37 @@ +#!/bin/bash +script_full_path=$( cd "$(dirname "$0")" ; pwd -P ) + +if [ $# -ne 2 ]; then + echo "illegal number of parameters, usage: ./build KERNEL_PATH out.tar.gz" + exit 1 +fi + +# Please provide absolute paths +KERNEL_PATH=$1 +OUT_TAR=$2 + +KERNEL_PATH="$(dirname $(readlink -e $KERNEL_PATH))/$(basename $KERNEL_PATH)" +if [ ! -d "$KERNEL_PATH" ]; then + echo "Kernel directory couldn't be found" + exit 3 +fi + +kdir=$(basename $KERNEL_PATH) + +cd $KERNEL_PATH/.. +find $kdir/arch -name include -type d -print | xargs -n1 -i: find : -type f > /tmp/kernel-headers.h +find $kdir/include >> /tmp/kernel-headers.h + +grep "include/generated/autoconf.h" /tmp/kernel-headers.h > /dev/null 2>&1 +retgrep=$? +if [ $retgrep -ne 0 ]; then + echo "" + echo "The kernel sources at ${KERNEL_PATH} you pointed to aren't configured and built." + echo "Please atleast run in your kernel sources:" + echo $'make defconfig\nmake' + echo $'\nNote: You dont need to do the full build since headers are generated early on.\n' + exit $retgrep +fi + +cat /tmp/kernel-headers.h | tar -zcf $OUT_TAR -T - +# rm /tmp/kernel-headers.h |