99 lines
2.5 KiB
Bash
Executable File
99 lines
2.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
case "$(uname -m)" in
|
|
armv7l) KERNEL_ARCH=armhf ;;
|
|
aarch64) KERNEL_ARCH=aarch64 ;;
|
|
*)
|
|
echo -e "\e[35mThis script is not for $(uname -m)\e[0m"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
set -a
|
|
|
|
if [ ! -d debian/ ]; then
|
|
echo -e "\e[35m"
|
|
echo "debian/ is not exists!"
|
|
echo "Please download it from:"
|
|
echo "https://salsa.debian.org/kernel-team/linux"
|
|
echo "Tag:"
|
|
echo "4.4/4.19: debian/4.19.282-1"
|
|
echo "5.10: debian/5.10.179-1"
|
|
echo -e "\e[0m"
|
|
exit 1
|
|
fi
|
|
|
|
env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION >/dev/null
|
|
|
|
KERNAL_ARCH=${1:-$KERNAL_ARCH}
|
|
KVER3=$(grep -A 2 "^VERSION = " Makefile | cut -d' ' -f 3 | paste -sd'.')
|
|
KVER2=$(grep -A 1 "^VERSION = " Makefile | cut -d' ' -f 3 | paste -sd'.')
|
|
GVER=$(git log --oneline -1 | cut -d' ' -f1)
|
|
|
|
DISTRIBUTION_OFFICIAL_BUILD=1
|
|
DISTRIBUTOR="Rockchip"
|
|
DISTRIBUTION_VERSION="$KVER3"
|
|
KBUILD_BUILD_TIMESTAMP="$(date +%Y_%m_%d)"
|
|
KBUILD_BUILD_VERSION_TIMESTAMP="Debian $KBUILD_BUILD_TIMESTAMP - Rockchip ($GVER)"
|
|
KBUILD_BUILD_USER="Rockchip"
|
|
KBUILD_BUILD_HOST="Rockchip"
|
|
|
|
DEB_CFLAGS_SET="-static"
|
|
DEB_CPPFLAGS_SET="-static"
|
|
DEB_LDFLAGS_SET="-static"
|
|
|
|
CUR_DIR="$PWD"
|
|
OUT_DIR="$CUR_DIR/output"
|
|
BUILD_DIR="$OUT_DIR/build"
|
|
DESTDIR="$OUT_DIR/linux-kbuild"
|
|
|
|
make_subdir()
|
|
{
|
|
SUBDIR=$1
|
|
shift
|
|
|
|
mkdir -p "$BUILD_DIR/$SUBDIR"
|
|
make -j8 -s KCFLAGS="-fdebug-prefix-map=$PWD/=" \
|
|
-C "$BUILD_DIR/$SUBDIR" \
|
|
-f "$CUR_DIR/debian/rules.d/$SUBDIR/Makefile" \
|
|
top_srcdir="$CUR_DIR" top_rulesdir="$CUR_DIR/debian/rules.d" \
|
|
OUTDIR=$SUBDIR VERSION=$KVER2 KERNEL_ARCH=$KERNEL_ARCH \
|
|
KBUILD_HOSTCFLAGS="-static" KBUILD_HOSTLDFLAGS="-static -lz" \
|
|
HOSTCC="gcc -static" HOSTLD="ld -static" $@
|
|
}
|
|
|
|
echo
|
|
echo "Packing linux-kbuild into $DESTDIR ..."
|
|
echo
|
|
|
|
sed -i 's/\(-lcrypto$\)/\1 -ldl -lpthread/' debian/rules.d/scripts/Makefile
|
|
|
|
if [ "$KVER2" = 4.4 ]; then
|
|
sed -i -e '/_shipped/,$d' \
|
|
-e '$a\\n%.c: %.c_shipped\n cat $< > $@' \
|
|
-e '$a\\n%.h: %.h_shipped\n cat $< > $@' \
|
|
debian/rules.d/Makefile.inc
|
|
|
|
sed -i -e '/lex.c:/,$d' \
|
|
-e 's/kconf_id.c/zconf.hash.c/' \
|
|
debian/rules.d/scripts/kconfig/Makefile
|
|
|
|
sed -i -e '/parse.tab.c:/,$d' \
|
|
-e 's/keywords.c/keywords.hash.c/' \
|
|
debian/rules.d/scripts/genksyms/Makefile
|
|
|
|
sed -i '/bin2c/d' debian/rules.d/scripts/Makefile
|
|
sed -i 's/\(.*fixdep\)\(.*\)/\1 bin2c\2/' \
|
|
debian/rules.d/scripts/basic/Makefile
|
|
|
|
sed -i '/autoconf.h/d' scripts/mod/modpost.c
|
|
|
|
make_subdir scripts
|
|
make_subdir scripts install
|
|
else # 4.19/5.10
|
|
make_subdir scripts
|
|
make_subdir tools/objtool
|
|
make_subdir scripts install
|
|
make_subdir tools/objtool install
|
|
fi
|