diff --git a/core/linux-aarch64-rc/PKGBUILD b/core/linux-aarch64-rc/PKGBUILD index 233f65915..2d5a2122c 100644 --- a/core/linux-aarch64-rc/PKGBUILD +++ b/core/linux-aarch64-rc/PKGBUILD @@ -4,7 +4,7 @@ buildarch=8 _rcver=5.15 -_rcrel=3 +_rcrel=4 pkgbase=linux-aarch64-rc _srcname=linux-${_rcver}-rc${_rcrel} @@ -27,10 +27,10 @@ source=("https://git.kernel.org/torvalds/t/${_srcname}.tar.gz" 'linux.preset' '60-linux.hook' '90-linux.hook') -md5sums=('f996cb6694304111742d60480aafd522' +md5sums=('00dd752ba53fed55793f07864cbedac8' '21d3e833437461aed3b6ca68b5d8afa0' 'd679f49645578a193d6e3c220787a40d' - 'bc04eb51ec83ca2cbeeed417d3fec453' + 'c1062ce684ed1aaa197d8a30e7532e11' 'e19fbe69f1258b99ee6bed21d7afcbce' '61c5ff73c136ed07a7aadbf58db3d96a' '584777ae88bce2c5659960151b64c7d8' @@ -39,7 +39,7 @@ md5sums=('f996cb6694304111742d60480aafd522' '3dc88030a8f2f5a5f97266d99b149f77') prepare() { - cd "${srcdir}/${_srcname}" + cd ${_srcname} # ALARM patches git apply ../0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch @@ -55,7 +55,7 @@ prepare() { } build() { - cd "${srcdir}/${_srcname}" + cd ${_srcname} # get kernel version make prepare @@ -83,6 +83,7 @@ build() { # build! unset LDFLAGS make ${MAKEFLAGS} Image Image.gz modules + # Generate device tree blobs with symbols to support applying device tree overlays in U-Boot make ${MAKEFLAGS} DTC_FLAGS="-@" dtbs } @@ -124,9 +125,6 @@ _package() { # now we call depmod... depmod -b "${pkgdir}/usr" -F System.map "${_kernver}" - # add vmlinux - install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux - # sed expression for following substitutions local _subst=" s|%PKGBASE%|${pkgbase}|g @@ -152,66 +150,76 @@ _package-headers() { conflicts=('linux-headers') cd ${_srcname} - local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" + local builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" - install -Dt "${_builddir}" -m644 Makefile .config Module.symvers - install -Dt "${_builddir}/kernel" -m644 kernel/Makefile - - mkdir "${_builddir}/.tmp_versions" - - cp -t "${_builddir}" -a include scripts - - install -Dt "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile - install -Dt "${_builddir}/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s - - cp -t "${_builddir}/arch/${KARCH}" -a arch/${KARCH}/include - mkdir -p "${_builddir}/arch/arm" - cp -t "${_builddir}/arch/arm" -a arch/arm/include - - install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h - install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h - - # http://bugs.archlinux.org/task/13146 - install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h - - # http://bugs.archlinux.org/task/20402 - install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h - install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h - install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h + echo "Installing build files..." + install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map vmlinux + install -Dt "$builddir/kernel" -m644 kernel/Makefile + install -Dt "$builddir/arch/${KARCH}" -m644 arch/${KARCH}/Makefile + cp -t "$builddir" -a scripts # add xfs and shmem for aufs building - mkdir -p "${_builddir}"/{fs/xfs,mm} + mkdir -p "$builddir"/{fs/xfs,mm} - # copy in Kconfig files - find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \; + echo "Installing headers..." + cp -t "$builddir" -a include + cp -t "$builddir/arch/${KARCH}" -a arch/${KARCH}/include + install -Dt "$builddir/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s + mkdir -p "$builddir/arch/arm" + cp -t "$builddir/arch/arm" -a arch/arm/include - # remove unneeded architectures - local _arch - for _arch in "${_builddir}"/arch/*/; do - [[ ${_arch} == */${KARCH}/ || ${_arch} == */arm/ ]] && continue - rm -r "${_arch}" + install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h + install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h + + # https://bugs.archlinux.org/task/13146 + install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h + + # https://bugs.archlinux.org/task/20402 + install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h + install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h + install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h + + # https://bugs.archlinux.org/task/71392 + install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h + + echo "Installing KConfig files..." + find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; + + echo "Removing unneeded architectures..." + local arch + for arch in "$builddir"/arch/*/; do + [[ $arch = */${KARCH}/ || $arch == */arm/ ]] && continue + echo "Removing $(basename "$arch")" + rm -r "$arch" done - # remove files already in linux-docs package - rm -r "${_builddir}/Documentation" + echo "Removing documentation..." + rm -r "$builddir/Documentation" - # remove now broken symlinks - find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete + echo "Removing broken symlinks..." + find -L "$builddir" -type l -printf 'Removing %P\n' -delete - # Fix permissions - chmod -R u=rwX,go=rX "${_builddir}" + echo "Removing loose objects..." + find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete - # strip scripts directory - local _binary _strip - while read -rd '' _binary; do - case "$(file -bi "${_binary}")" in - *application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so) - *application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a) - *application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries - *) continue ;; + echo "Stripping build tools..." + local file + while read -rd '' file; do + case "$(file -bi "$file")" in + application/x-sharedlib\;*) # Libraries (.so) + strip -v $STRIP_SHARED "$file" ;; + application/x-archive\;*) # Libraries (.a) + strip -v $STRIP_STATIC "$file" ;; + application/x-executable\;*) # Binaries + strip -v $STRIP_BINARIES "$file" ;; + application/x-pie-executable\;*) # Relocatable binaries + strip -v $STRIP_SHARED "$file" ;; esac - /usr/bin/strip ${_strip} "${_binary}" - done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null) + done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) + + echo "Adding symlink..." + mkdir -p "$pkgdir/usr/src" + ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } _package-chromebook() { @@ -220,7 +228,7 @@ _package-chromebook() { conflicts=('linux-aarch64-chromebook') install=${pkgname}.install - cd "${srcdir}/${_srcname}" + cd ${_srcname} mkdir -p "${pkgdir}/boot" diff --git a/core/linux-aarch64-rc/config b/core/linux-aarch64-rc/config index 8cc257623..71bb6f3e5 100644 --- a/core/linux-aarch64-rc/config +++ b/core/linux-aarch64-rc/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.15.0-rc3-1 Kernel Configuration +# Linux/arm64 5.15.0-rc4-1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0" CONFIG_CC_IS_GCC=y @@ -873,8 +873,7 @@ CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set CONFIG_MODPROBE_PATH="/sbin/modprobe" -CONFIG_TRIM_UNUSED_KSYMS=y -CONFIG_UNUSED_KSYMS_WHITELIST="" +# CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y CONFIG_BLK_CGROUP_RWSTAT=y