summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernels/linux-libre-aarch64/PKGBUILD13
1 files changed, 10 insertions, 3 deletions
diff --git a/kernels/linux-libre-aarch64/PKGBUILD b/kernels/linux-libre-aarch64/PKGBUILD
index 8d3093bc6..996ab2fb4 100644
--- a/kernels/linux-libre-aarch64/PKGBUILD
+++ b/kernels/linux-libre-aarch64/PKGBUILD
@@ -9,7 +9,7 @@ _replacesoldmodules=() # '%' gets replaced with kernel suffix
pkgbase=linux-libre-aarch64
pkgver=5.4.8
-pkgrel=1
+pkgrel=2
pkgdesc='Linux-libre-aarch64'
rcnver=5.4.5
rcnrel=armv7-x13
@@ -186,7 +186,7 @@ prepare() {
build() {
cd $_srcname
if [ "$CARCH" = "armv7h" ]; then
- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image Image.gz modules htmldocs dtbs
+ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules htmldocs dtbs
else
make bzImage modules htmldocs
fi
@@ -211,7 +211,14 @@ _package() {
fi
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
- install -Dm644 "$(make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -s image_name)" "$modulesdir/vmlinuz"
+
+ # The default image target is Image.gz on arm64 but some u-boot
+ # configurations and/or versions don't support that, so we use Image instead.
+ if [ "$KARCH" = "arm64" ]; then
+ install -Dm644 arch/arm64/boot/Image "$modulesdir/vmlinuz"
+ else
+ install -Dm644 "$(make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -s image_name)" "$modulesdir/vmlinuz"
+ fi
# Used by mkinitcpio to name the kernel
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"