2017-12-09 21:51:48 +01:00
|
|
|
MAJOR="4"
|
2018-08-17 10:35:43 +02:00
|
|
|
MINOR="14"
|
2018-10-07 13:34:30 +02:00
|
|
|
RELEASE="74"
|
2017-12-09 21:51:48 +01:00
|
|
|
|
|
|
|
VERSION="$MAJOR.$MINOR.$RELEASE"
|
|
|
|
SRCDIR="linux-$VERSION"
|
|
|
|
TARBALL="linux-$VERSION.tar.xz"
|
|
|
|
URL="https://www.kernel.org/pub/linux/kernel/v$MAJOR.x"
|
2018-10-07 13:34:30 +02:00
|
|
|
SHA256SUM="70e69189fd7b2f96fa33833735c7bcf3281dc0172c3734e2c5819e9d57015c72"
|
2018-01-24 12:52:41 +01:00
|
|
|
DEPENDS="initrd"
|
2017-12-09 21:51:48 +01:00
|
|
|
|
2018-10-19 19:04:00 +02:00
|
|
|
get_linux_cpu() {
|
|
|
|
case "$TARGET" in
|
|
|
|
i*86-*)
|
|
|
|
echo "x86"
|
|
|
|
;;
|
|
|
|
x86_64-*)
|
|
|
|
echo "x86_64"
|
|
|
|
;;
|
|
|
|
arm-*)
|
|
|
|
echo "arm"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "don't know how to map $TARGET to Linux arch" >&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2017-12-09 21:51:48 +01:00
|
|
|
prepare() {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
local INITRDLIST="$PKGDEPLOYDIR/initrd/initrd.list"
|
2018-10-19 19:04:00 +02:00
|
|
|
local LINUX_CPU=$(get_linux_cpu)
|
2017-12-09 21:51:48 +01:00
|
|
|
|
2018-02-16 23:22:04 +01:00
|
|
|
export KBUILD_OUTPUT="$PKGBUILDDIR"
|
2017-12-09 21:51:48 +01:00
|
|
|
|
2018-02-16 23:22:04 +01:00
|
|
|
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" mrproper
|
2018-02-20 21:30:34 +01:00
|
|
|
cat_file_override "linux.config" > "$PKGBUILDDIR/.config"
|
2018-02-16 23:22:04 +01:00
|
|
|
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_CROSS_COMPILE=.*,CONFIG_CROSS_COMPILE="'$TARGET'-",'
|
|
|
|
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_INITRAMFS_SOURCE=.*,CONFIG_INITRAMFS_SOURCE="'$INITRDLIST'",'
|
|
|
|
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_LOCALVERSION=.*,CONFIG_LOCALVERSION="-'${OS_NAME}-${OS_RELEASE}'",'
|
2018-09-28 17:09:57 +02:00
|
|
|
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" oldconfig
|
2018-02-16 23:22:04 +01:00
|
|
|
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" -j $NUMJOBS $LINUX_TGT
|
2017-12-09 21:51:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
deploy() {
|
|
|
|
local SOURCE="$1"
|
2018-02-16 23:22:04 +01:00
|
|
|
local DEPLOY="$2"
|
2018-10-19 19:04:00 +02:00
|
|
|
local LINUX_CPU=$(get_linux_cpu)
|
2017-12-09 21:51:48 +01:00
|
|
|
|
2018-07-15 17:17:01 +02:00
|
|
|
mkdir -p "$DEPLOY/boot" "$DEPLOY/lib/modules"
|
2018-10-04 02:18:53 +02:00
|
|
|
cp arch/${LINUX_CPU}/boot/*Image "$DEPLOY/boot/vmlinuz"
|
2018-07-15 16:19:44 +02:00
|
|
|
echo "boot/vmlinuz m 555 0 0" > "$DEPLOY/rootfs_files.txt"
|
2018-07-15 17:17:01 +02:00
|
|
|
|
2018-09-28 17:09:57 +02:00
|
|
|
if grep -q "^CONFIG_MODULES=" ".config"; then
|
|
|
|
export KBUILD_OUTPUT="$PKGBUILDDIR"
|
|
|
|
make -C "$SOURCE" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" INSTALL_MOD_PATH="$DEPLOY" modules_install
|
|
|
|
|
|
|
|
find "$DEPLOY/lib" -exec stat {} --printf="%n m %a 0 0\\n" \; | \
|
|
|
|
sed "s#^$DEPLOY/##g" | sed "s/644/444/g" | \
|
|
|
|
sed "s/755/555/g" >> "$DEPLOY/rootfs_files.txt"
|
|
|
|
fi
|
2017-12-09 21:51:48 +01:00
|
|
|
}
|
2018-05-06 17:23:31 +02:00
|
|
|
|
|
|
|
check_update() {
|
2018-05-14 18:31:24 +02:00
|
|
|
curl --silent -L https://www.kernel.org/feeds/kdist.xml | \
|
|
|
|
grep -o "[0-9.]*: longterm" | grep -o "[0-9.]*" | \
|
|
|
|
verson_find_greatest "$VERSION"
|
2018-07-15 16:19:44 +02:00
|
|
|
}
|