0d193279ff
When building from tarball git tag is not available. We need to pass version number manually. This chnage is cosmetic, but will allow users to easily identify version and source of their bootloader.
68 lines
2.2 KiB
Text
68 lines
2.2 KiB
Text
# Maintainer: Alexey Minnekhanov <alexeymin@postmarketos.org>
|
|
pkgname=lk2nd
|
|
pkgver=0.10.0
|
|
pkgrel=1
|
|
pkgdesc="Secondary little kernel (lk) bootloader for several Qualcomm devices"
|
|
arch="armv7 aarch64"
|
|
url="https://github.com/msm8916-mainline/lk2nd"
|
|
license="MIT"
|
|
makedepends="dtc dtc-dev gcc-arm-none-eabi python3 py3-libfdt"
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/msm8916-mainline/lk2nd/archive/refs/tags/$pkgver.tar.gz"
|
|
options="!check !archcheck !tracedeps !strip pmb:cross-native"
|
|
# This APKBUILD builds bare metal executable; options are very specific!
|
|
# * there are no tests (how do you even test the bootloader?);
|
|
# * binaries are "arch-independent"; aarch64 build also produces armv7 binary,
|
|
# because ARM CPUs boot in 32-bit mode;
|
|
# * there are no depends for bootloader, it's a kernel and OS in one binary;
|
|
# * stripping of unused sections is done in lk2nd's own ld script.
|
|
|
|
subpackages="
|
|
$pkgname-msm8916
|
|
$pkgname-msm8974
|
|
$pkgname-msm8226
|
|
"
|
|
|
|
build() {
|
|
# This builds baremetal executable; distro-specific compiler flags
|
|
# and optimizations can't be set by build system.
|
|
unset CFLAGS
|
|
unset CXXFLAGS
|
|
unset CPPFLAGS
|
|
unset LDFLAGS
|
|
unset CROSS_COMPILE
|
|
unset CC
|
|
unset CXX
|
|
|
|
# ccache and crossdirect "gcc"s are in PATH, get rid of them too,
|
|
# redefine PATH to be bare minimum
|
|
unset PATH
|
|
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
make LK2ND_VERSION="$pkgver-r$pkgrel-postmarketos" TOOLCHAIN_PREFIX=arm-none-eabi- msm8916-secondary
|
|
make LK2ND_VERSION="$pkgver-r$pkgrel-postmarketos" TOOLCHAIN_PREFIX=arm-none-eabi- msm8974-secondary
|
|
make LK2ND_VERSION="$pkgver-r$pkgrel-postmarketos" TOOLCHAIN_PREFIX=arm-none-eabi- msm8226-secondary
|
|
}
|
|
|
|
package() {
|
|
# main package is empty
|
|
mkdir -p "$pkgdir"
|
|
}
|
|
|
|
msm8916() {
|
|
install -Dm644 "$builddir"/build-msm8916-secondary/lk2nd.img -t \
|
|
"$subpkgdir"/boot
|
|
}
|
|
|
|
msm8974() {
|
|
install -Dm644 "$builddir"/build-msm8974-secondary/lk2nd.img -t \
|
|
"$subpkgdir"/boot
|
|
}
|
|
|
|
msm8226() {
|
|
install -Dm644 "$builddir"/build-msm8226-secondary/lk2nd-appended-dtb.img \
|
|
-t "$subpkgdir"/boot
|
|
}
|
|
|
|
sha512sums="
|
|
d4c880b4cb9563a8b99aefe4bace1efaec13975fa89af2756dbba656363bd9ef83140b22fb28ad29d299eb8fe715c2f6adb829bfc7c3c4894ab6976b85a72123 lk2nd-0.10.0.tar.gz
|
|
"
|