MAJOR="4" MINOR="14" RELEASE="83" VERSION="$MAJOR.$MINOR.$RELEASE" SRCDIR="linux-$VERSION" TARBALL="linux-$VERSION.tar.xz" URL="https://www.kernel.org/pub/linux/kernel/v$MAJOR.x" SHA256SUM="701728de924e0ec4a6b7cf59252011f8268a1b70aaf02b8487c1b2190feb3f20" DEPENDS="initrd" 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 } prepare() { return } build() { local INITRDLIST="$PKGDEPLOYDIR/initrd/initrd.list" local LINUX_CPU=$(get_linux_cpu) export KBUILD_OUTPUT="$PKGBUILDDIR" make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" mrproper cat_file_override "linux.config" > "$PKGBUILDDIR/.config" 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}'",' make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" oldconfig make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" -j $NUMJOBS $LINUX_TGT } deploy() { local SOURCE="$1" local DEPLOY="$2" local LINUX_CPU=$(get_linux_cpu) local target mkdir -p "$DEPLOY/boot" "$DEPLOY/lib/modules" for target in $LINUX_TGT; do case $target in *Image) cp "arch/$LINUX_CPU/boot/$target" "$DEPLOY/boot/vmlinuz" echo "boot/vmlinuz m 555 0 0" > "$DEPLOY/rootfs_files.txt" ;; modules) 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" ;; esac done } check_update() { curl --silent -L https://www.kernel.org/feeds/kdist.xml | \ grep -o "[0-9.]*: longterm" | grep -o "[0-9.]*" | \ verson_find_greatest "$VERSION" }