VERSION="5.4.25" SRCDIR="linux-$VERSION" TARBALL="linux-$VERSION.tar.xz" URL="https://www.kernel.org/pub/linux/kernel/v5.x" SHA256SUM="c0ed974b088d84847aeca0ab99943918c472739db4480b263e75e8c19a025e25" DEPENDS="initrd" SUBPKG="linux linux-modules" 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 } build() { local INITRDDIR="$PKGDEPLOYDIR/initrd" local INITRDLIST="$INITRDDIR/initrd.list" local LINUX_CPU=$(get_linux_cpu) pkg install -omLD -r "$INITRDDIR" initrd pkg install -r "$INITRDDIR" -l initrd initrd > "$INITRDLIST" 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 rm -rf "$INITRDDIR" } deploy() { local SOURCE="$1" local LINUX_CPU=$(get_linux_cpu) local target mkdir -p "$PKGDEPLOYDIR/boot" "$PKGDEPLOYDIR/lib/modules" touch "$PKGDEPLOYDIR/linux.desc" "$PKGDEPLOYDIR/linux.files" touch "$PKGDEPLOYDIR/linux-modules.desc" touch "$PKGDEPLOYDIR/linux-modules.files" for target in $LINUX_TGT; do case $target in *Image) cp "arch/$LINUX_CPU/boot/$target" "$PKGDEPLOYDIR/vmlinuz" echo "file vmlinuz 0755 0 0" > "$PKGDEPLOYDIR/linux.files" ;; modules) export KBUILD_OUTPUT="$PKGBUILDDIR" make -C "$SOURCE" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" INSTALL_MOD_PATH="$PKGDEPLOYDIR" modules_install echo "dir lib 0755 0 0" > "$PKGDEPLOYDIR/linux-modules.files" pkg_scan_dir "lib" >> "$PKGDEPLOYDIR/linux-modules.files" ;; 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" }