summaryrefslogtreecommitdiff
path: root/libre/linux-libre-64/PKGBUILD
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-07-21 22:14:03 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-07-21 22:14:03 -0400
commit89ddc5761e8c66fe38230f69fb964c9833f241e8 (patch)
tree45b7e8b27b6f5a99dbcd86144e722bf35814fc6a /libre/linux-libre-64/PKGBUILD
parent583d647f2a741270e1efa4ea9a297ce8a9f4166e (diff)
downloadabslibre-89ddc5761e8c66fe38230f69fb964c9833f241e8.tar.gz
abslibre-89ddc5761e8c66fe38230f69fb964c9833f241e8.tar.bz2
abslibre-89ddc5761e8c66fe38230f69fb964c9833f241e8.zip
wip - linux-libre-64 PKGBUILD from local src pkg
Diffstat (limited to 'libre/linux-libre-64/PKGBUILD')
-rw-r--r--libre/linux-libre-64/PKGBUILD213
1 files changed, 53 insertions, 160 deletions
diff --git a/libre/linux-libre-64/PKGBUILD b/libre/linux-libre-64/PKGBUILD
index 3960ba5e5..37a59db10 100644
--- a/libre/linux-libre-64/PKGBUILD
+++ b/libre/linux-libre-64/PKGBUILD
@@ -1,74 +1,39 @@
-# Contributor: David P. <megver83@parabola.nu>
-# Contributor: André Silva <emulatorman@hyperbola.info>
-# Contributor: Márcio Silva <coadde@hyperbola.info>
-# Contributor: fauno <fauno@parabola.nu>
-# Contributor: Sorin-Mihai Vârgolici <smv@yobicore.org>
-# Contributor: Michał Masłowski <mtjm@mtjm.eu>
-# Contributor: Luke R. <g4jc@openmailbox.org>
-# Contributor: Andreas Grapentin <andreas@grapentin.org>
-# Maintainer: Parabola Hackers <dev@lists.parabola.nu>
-
-# Based on linux package
-# Based on linux-libre package, actually - megver83 will become maintainer eventually
-
-# WIP: This PKGBUILD is derived from the 'linux-libre' PKGBUILD,
-# and includes a lot of unused cruft, to minimize the diff.
-# Eventually, these differences can be merged into linux-libre,
-# once parabola has an 'aarch64' build target and repos.
-#
-# For now, 'aarch64' is not yet a valid parabola target.
-# This PKGBUILD exists only for making an 'aarch64' kernel for use with
-# parabola armv7h systems. This PKGBUILD is intended to be cross-compiled
-# only from an armv7h librechroot. The per-arch mechanism for armv7h
-# is over-ridden for the special purpose of the cross-compilation.
-#
-# The makedepends_armv7h, source_armv7h, and sha512sums_armv7h arrays
-# (also source_aarch64 and sha512sums_aarch64 obviously), and the comments:
-# '# cross-compile over-ride' and
-# '# TODO: merge into 'linux-libre' PKGBUILD',
-# indicate code that would eventually be deleted, merged into,
-# or associated with $CARCH: 'aarch64', if/when aarch64 becomes a valid target.
-# All other LOCs of consequence in this file,
-# should be identical to the linux-libre PKGBUILD.
-# In this way, the diff is minimal against the linux-libre PKGBUILD;
-# and it is obvious which parts are intended to become aarch64-specific,
-# or exist only for cross-compiling the aarch64 kernel for armv7h systems.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
+# WIP - Based on the linux-libre package.
+# this PKGBUILD includes a lot of cruft, to minimize the diff.
+# eventually, these chanegs can be merged into linux-libre
+# once parabola has an 'aarch64' build target and repos.
_replacesarchkernel=('linux%') # '%' gets replaced with kernel suffix
_replacesoldkernels=() # '%' gets replaced with kernel suffix
_replacesoldmodules=() # '%' gets replaced with kernel suffix
-pkgbase=linux-libre-64 # cross-compile over-ride
+pkgbase=linux-libre-64
pkgver=5.18.5
-pkgrel=1
-pkgdesc="The Linux-libre kernel and modules" # TODO: merge into 'linux-libre' PKGBUILD
-pkgdesc+=' 64-bit (aarch64) for Parabola armv7h' # cross-compile over-ride
+pkgrel=2.test
+pkgdesc="64bit Linux-libre for Parabola $CARCH"
rcnver=5.18.2
rcnrel=armv7-x6
url='https://linux-libre.fsfla.org/'
-arch=(i686 x86_64 armv7h)
-arch=(armv7h) # cross-compile over-ride
+arch=(armv7h i686)
license=(GPL2)
makedepends=(
bc libelf pahole cpio perl tar xz
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
)
-makedepends_armv7h=(uboot-tools vboot-utils dtc) # required by linux-libre-chromebook
-makedepends_armv7h+=(aarch64-linux-gnu-gcc-initial) # cross-compile over-ride
+makedepends_armv7h=(uboot-tools dtc) # required by linux-libre-chromebook
options=('!strip')
_srcname=linux-5.18
source=(
"https://linux-libre.fsfla.org/pub/linux-libre/releases/${_srcname##*-}-gnu/linux-libre-${_srcname##*-}-gnu.tar.xz"{,.sign}
"https://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/patch-${_srcname##*-}-gnu-$pkgver-gnu.xz"{,.sign}
"https://repo.parabola.nu/other/linux-libre/logos/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm}{,.sig}
- # TODO: Move config.i686 config.armv7h, linux-armv7h.preset,
- # and "kernel"{.its,.keyblock,_data_key.vbprivk}
- # into their respective source_<CARCH> arrays.
- # Rename linux-armv7h.preset to linux-arm.preset, or add a new one for aarch64
config.i686 config.x86_64 config.armv7h # the main kernel config files
linux-armv7h.preset # armv7h preset file for mkinitcpio ramdisk
"kernel"{.its,.keyblock,_data_key.vbprivk} # files for signing Chromebooks kernels
+
# maintain the TTY over USB disconnects
# http://www.coreboot.org/EHCI_Gadget_Debug
0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch
@@ -82,13 +47,12 @@ source=(
)
source_i686=(
# avoid using zstd compression in ultra mode (exhausts virtual memory)
- # Arch Linux 32 patches
no-ultra-zstd.patch
)
source_armv7h=(
# RCN patch (CM3 firmware deblobbed and bloatware removed)
"https://repo.parabola.nu/other/rcn-libre/patches/$rcnver/rcn-libre-$rcnver-$rcnrel.patch"{,.sig}
- # Arch Linux ARM patches
+ # Arch Linux ARM patches (for armv7h)
0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch
0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch
0003-fix-mvsdio-eMMC-timing.patch
@@ -96,16 +60,13 @@ source_armv7h=(
0005-set-default-cubietruck-led-triggers.patch
0006-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch
0007-USB-Armory-MkII-support.patch
+ # Arch Linux ARM patches (for aarch64)
+ # ./0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
+ 0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
# ChromiumOS patches
0001-CHROMIUM-block-partitions-efi-Add-support-for-IGNORE.patch
)
-source_aarch64=(
- config.aarch64
- # Arch Linux ARM patches (aarch64)
- 0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
- 0002-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
-)
-source_armv7h=( ${source_aarch64[*]} ) # cross-compile over-ride
+source_armv7h+=(config.aarch64)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
@@ -141,26 +102,21 @@ sha512sums_armv7h=('5a75b12dd386940a0bf1be630d45a514ef3c32289ec5976988764baa8483
'a1072dd808c63592178cc01ea3c36de946f277fb451b13c34f51a5ac134cde4a8a4d57487132af1c6d7b5820842cdda9dc4edb3da85d33bd02bf87a032c3263a'
'85b2e16a930b8066990c42f973d386dc3c6d62fdf3d1289bbb51df3df296c26f30051162fba49a42d38f71f05de926aa8c065097f14bd8e9f8e28a52949ead00'
'2e99582d8b670b6c6b27add14b60e957cbcf9cd6aae40491bd9dea6ac455c0ade0bbee21e3bdfb5e06ce83ad27c5a788404b05bf7ac93831ca18d2e60a67017c'
- '5b77c587cf2ffb60acf1d9eb43330983548c7e81a53e0ffd2b04962a99441a0000d631ff77c245c7062afc2c8368d996a2456496d42dcb658f330e5083e5e029')
-sha512sums_aarch64=('bc7b70863929737346fe6757373897391b43af36bb6884d5351a95aca0f9120f2d2cf9b9c2c6426a440c6b394e9fb334c280711d64081563322a834ecdfb2ba6'
- '69e81aff3ac5aada75f7330e8c82d0a6aa229585b3f442b2e1a9b86681b0eadc925408d5e2377026599fb0dee72d29043eca4d072b0e2606adc34c872e95c7d6'
- '4224779106cc520dc2c431322d9693cc968476706854ae9630611cf2896c48a34ca11bf31a4c3995573a128cf5838a6763bac86eb4cbaf509ade9b6a83a24369')
-sha512sums_armv7h=( ${sha512sums_aarch64[*]} ) # cross-compile over-ride
+ '4224779106cc520dc2c431322d9693cc968476706854ae9630611cf2896c48a34ca11bf31a4c3995573a128cf5838a6763bac86eb4cbaf509ade9b6a83a24369'
+ '5b77c587cf2ffb60acf1d9eb43330983548c7e81a53e0ffd2b04962a99441a0000d631ff77c245c7062afc2c8368d996a2456496d42dcb658f330e5083e5e029'
+ 'bc7b70863929737346fe6757373897391b43af36bb6884d5351a95aca0f9120f2d2cf9b9c2c6426a440c6b394e9fb334c280711d64081563322a834ecdfb2ba6')
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}")
_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}")
_replacesoldmodules=("${_replacesoldmodules[@]/\%/${pkgbase#linux-libre}}")
-_replacesarchkernel=("${_replacesarchkernel[@]/-64/}") # cross-compile over-ride
case "$CARCH" in
- armv7h) KARCH=arm64 ; CROSS_COMPILE=aarch64-linux-gnu- ;; # cross-compile over-ride
- aarch64) KARCH=arm64;; # TODO: merge into 'linux-libre' PKGBUILD
- i686|x86_64) KARCH=x86;;
- armv7h) KARCH=arm;;
+ i686) KARCH=x86;CROSS_COMPILE=x86_64-pc-linux-gnu-;;
+ armv7h) KARCH=arm64;CROSS_COMPILE=aarch64-linux-gnu-;;
esac
+export STRIP=${CROSS_COMPILE}strip
export KBUILD_BUILD_HOST=parabola
export KBUILD_BUILD_USER=$pkgbase
-export KBUILD_BUILD_USER=${pkgbase/-64/} # cross-compile over-ride
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
@@ -202,18 +158,6 @@ prepare() {
done
fi
- if [ "$CARCH" = "aarch64" ]; then # TODO: merge into 'linux-libre' PKGBUILD
- # TODO: better yet, all of these per-arch patching routines should be DRY-ed out
- local src_aarch64
- for src_aarch64 in "${source_aarch64[@]}"; do
- src_aarch64="${src_aarch64%%::*}"
- src_aarch64="${src_aarch64##*/}"
- [[ $src_aarch64 = *.patch ]] || continue
- echo "Applying patch $src_aarch64..."
- patch -Np1 < "../$src_aarch64"
- done
- fi
-
local src
for src in "${source[@]}"; do
src="${src%%::*}"
@@ -224,24 +168,23 @@ prepare() {
done
echo "Setting config..."
- cp ../config.$CARCH .config
+ case "$CARCH" in
+ i686) cp ../config.x86_64 .config;;
# config.aarch64 comes straight from Arch Linux ARM and doesn't have the
# compatibility for 32bit rootfs enabled. This makes maintenance faster than
# having to modify the configuration file by hand at each new kernel release.
- if [[ "${KARCH}" == aarch64 ]] # cross-compile over-ride
- then cp ../config.aarch64 .config ; echo 'CONFIG_COMPAT=y' >> .config ; # cross-compile over-ride
- fi # cross-compile over-ride
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE olddefconfig # cross-compile over-ride
- diff -u ../config.$CARCH .config || :
+ armv7h) cp ../config.aarch64 .config;echo 'CONFIG_COMPAT=y' >> .config;;
+ esac
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE olddefconfig
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE -s kernelrelease > version # cross-compile over-ride
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
}
build() {
cd $_srcname
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE all # cross-compile over-ride
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE htmldocs # cross-compile over-ride
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE all
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE htmldocs
}
_package() {
@@ -250,22 +193,10 @@ _package() {
optdepends=('wireless-regdb: to set the correct wireless channels of your country'
'linux-libre-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
- conflicts=() # TODO: merge into 'linux-libre' PKGBUILD (conflicts array is appended before declared)
replaces=(virtualbox-guest-modules-arch wireguard-arch)
provides+=("${_replacesarchkernel[@]/%/=$pkgver}" "LINUX-ABI_VERSION=$pkgver")
conflicts+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
replaces+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
- # cross-compile over-rides
- # NOTE: Above is providing/replacing the archarm armv7h 'linux' with the armv7h 'linux-libre'.
- # We do not want this aarch64 'linux-libre-64' to provide nor replace the archarm armv7h 'linux';
- # for the obvious reason. Anyways, the parabola armv7h 'linux-libre' serves that purpose.
- # Below is providing/replacing 'linux-libre' and the obsoleted parabola 'linux-libre-aarch64'.
- # These are defined analogously in _package-headers(), _package-docs(), and _package-chromebook().
- conflicts=( ${conflicts[*]/linux*/} ) # cross-compile over-ride
- replaces=( ${replaces[*]/linux*/} ) # cross-compile over-ride
- provides_armv7h=( linux-libre ) # cross-compile over-ride
- conflicts_armv7h=( linux-libre linux-libre-aarch64 ) # cross-compile over-ride
- replaces_armv7h=( linux-libre linux-libre-aarch64 ) # cross-compile over-ride
cd $_srcname
local kernver="$(<version)"
@@ -274,36 +205,28 @@ _package() {
echo "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
- # The default arm64 image target is 'Image.gz' (per `make -s image_name`);
- # but some u-boot configs/versions don't support that, so we build 'Image' instead.
- # TODO: merge into 'linux-libre' PKGBUILD
- [[ "$KARCH" == "arm64" ]] && \
- install -Dm644 arch/$KARCH/boot/Image "$modulesdir/vmlinuz" || \
- install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
-
- # FIXME: aarch64 - the kernel is not installed under /boot
- if [[ "$KARCH" == "arm64" && ! -f "$pkgdir/boot/Image" ]]
- then echo "FIXME: kernel was not installed to \$pkgdir/boot"
- install -Dm644 "$modulesdir/vmlinuz" "$pkgdir/boot/vmlinuz-${basename}-64"
+ # 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/$KARCH/boot/Image "$modulesdir/vmlinuz"
+ else
+ install -Dm644 "$(make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE -s image_name)" "$modulesdir/vmlinuz"
fi
# Used by mkinitcpio to name the kernel
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..."
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install # cross-compile over-ride
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install
# remove build and source links
rm "$modulesdir"/{source,build}
if [ "$CARCH" = "armv7h" ]; then
echo "Installing device tree binaries..."
- make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE INSTALL_DTBS_PATH="$pkgdir/boot/dtbs/$pkgbase" dtbs_install # cross-compile over-ride
+ make ARCH=$KARCH CROSS_COMPILE=$CROSS_COMPILE INSTALL_DTBS_PATH="$pkgdir/boot/dtbs/$pkgbase" dtbs_install
- # kernel version auto-detection does not work for ARM kernels.
- # it may be best to not use auto-detection at all, and use the same mechanism
- # for all arches, eg: System.map or somthing simple like this below.
- # NOTE: armv7h presets only work with ALL_kver=$kernver
+ # armv7h presets only work with ALL_kver=$kernver
backup=("etc/mkinitcpio.d/$pkgbase.preset")
echo "Installing mkinitcpio preset..."
sed "s|%PKGBASE%|$pkgbase|g;s|%KERNVER%|$kernver|g" ../linux-armv7h.preset \
@@ -317,11 +240,6 @@ _package-headers() {
provides=("${_replacesarchkernel[@]/%/-headers=$pkgver}")
conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
- # cross-compile over-rides - see note in _package()
- conflicts=() # cross-compile over-ride
- replaces=() # cross-compile over-ride
- conflicts_armv7h=( linux-libre-headers linux-libre-aarch64-headers ) # cross-compile over-ride
- replaces_armv7h=( linux-libre-headers linux-libre-aarch64-headers ) # cross-compile over-ride
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
@@ -351,18 +269,6 @@ _package-headers() {
cp -t "$builddir/arch/$KARCH" -a arch/$KARCH/include
install -Dt "$builddir/arch/$KARCH/kernel" -m644 arch/$KARCH/kernel/asm-offsets.s
- # from linux-armv7
- if [ "$CARCH" = "armv7h" ]; then
- for i in dove omap2; do
- mkdir -p "$builddir/arch/$KARCH/mach-$i"
- cp -t "$builddir/arch/$KARCH/mach-$i/" -a arch/$KARCH/mach-$i/include
- done
- for i in omap orion versatile; do
- mkdir -p "$builddir/arch/$KARCH/plat-$i"
- cp -t "$builddir/arch/$KARCH/plat-$i/" -a arch/$KARCH/plat-$i/include
- done
- fi
-
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
@@ -397,25 +303,23 @@ _package-headers() {
echo "Removing loose objects..."
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
- strip() { ${CROSS_COMPILE}strip "${@}" ; } ; # cross-compile over-ride
-
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" ;;
+ ${STRIP} -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)
- strip -v $STRIP_STATIC "$file" ;;
+ ${STRIP} -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
- strip -v $STRIP_BINARIES "$file" ;;
+ ${STRIP} -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
- strip -v $STRIP_SHARED "$file" ;;
+ ${STRIP} -v $STRIP_SHARED "$file" ;;
esac
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
echo "Stripping vmlinux..."
- strip -v $STRIP_STATIC "$builddir/vmlinux"
+ ${STRIP} -v $STRIP_STATIC "$builddir/vmlinux"
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
@@ -427,11 +331,6 @@ _package-docs() {
provides=("${_replacesarchkernel[@]/%/-docs=$pkgver}")
conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
- # cross-compile over-rides - see note in _package()
- conflicts=() # cross-compile over-ride
- replaces=() # cross-compile over-ride
- conflicts_armv7h=(linux-libre-docs linux-libre-aarch64-docs) # cross-compile over-ride
- replaces_armv7h=( linux-libre-docs linux-libre-aarch64-docs) # cross-compile over-ride
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
@@ -450,17 +349,12 @@ _package-docs() {
}
_package-chromebook() {
- pkgdesc="$pkgdesc kernel sign for Veyron Chromebooks"
- depends=(linux-libre=$pkgver)
- provides=("${_replacesarchkernel[@]/%/-armv7-chromebook=$pkgver}")
- conflicts=("${_replacesarchkernel[@]/%/-armv7-chromebook}" "${_replacesoldkernels[@]/%/-armv7-chromebook}")
- replaces=("${_replacesarchkernel[@]/%/-armv7-chromebook}" "${_replacesoldkernels[@]/%/-armv7-chromebook}")
- install=$pkgbase-chromebook.install
- # NOTE: when aarch64 becomes a supported target, 'armv7' above should be changed to "${CARCH}"
- depends=( ${depends[*]/linux-libre/${pkgbase}} ) # cross-compile over-ride
- provides=( ${provides[*]/armv7/aarch64} ) # cross-compile over-ride
- conflicts=( ${conflicts[*]/armv7/aarch64} ) # cross-compile over-ride
- replaces=( ${replaces[*]/armv7/aarch64} ) # cross-compile over-ride
+ pkgdesc="Experimental $pkgdesc kernel sign for Veyron Chromebooks"
+ depends=(linux-libre-64=$pkgver)
+ provides+=("linux-libre-chromebook=$pkgver") # TODO: these provides, conflicts, repalces,
+ conflicts+=('linux-libre-chromebook') # will not needed once parabola has
+ replaces+=('linux-libre-chromebook') # an 'aarch64' build target and repos
+ install=linux-libre-chromebook.install
cd $_srcname
@@ -469,13 +363,12 @@ _package-chromebook() {
dd if=/dev/zero of=bootloader.bin bs=512 count=1
echo 'console=tty0 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd' > cmdline
- # TODO: merge into 'linux-libre' PKGBUILD (--arch ${KARCH})
echo "Creating kernel sign..."
vbutil_kernel \
--pack vmlinux.kpart \
--version 1 \
--vmlinuz kernel.signed \
- --arch ${KARCH} \
+ --arch aarch64 \
--keyblock ../kernel.keyblock \
--signprivate ../kernel_data_key.vbprivk \
--config cmdline \
@@ -491,7 +384,7 @@ pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
# | ==> Starting package_linux-libre-64-chromebook()...
# | FATAL ERROR: Couldn't open "arch/arm/boot/zImage": No such file or directory
# | mkimage: Can't read kernel.signed.tmp: Invalid argument
-# [[ $CARCH = armv7h ]] && pkgname+=("$pkgbase-chromebook") # cross-compile over-ride
+# [[ $CARCH = armv7h ]] && pkgname+=("$pkgbase-chromebook")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")