pmaports/main/lk2nd-msm8953/APKBUILD
Luca Weiss e5e35027d2
main/lk2nd-msm8953: compile with -O1 to fix booting (MR 4196)
Currently, at least on fairphone-fp3 doing "fastboot boot" crashes
lk2nd, presumably due to some bug when compiled with a newer gcc
version.

Compiling with -O1 works well.

[81660] booting linux @ 0x10000000, ramdisk @ 0x13600000 (3339187), tags/device tree @ 0x13400000
[81660] Jumping to kernel via monitor
[81660] data abort, halting
[81660] r0  0x8f7724fc r1  0x8f772504 r2  0x00000000 r3  0x00000000
[81660] r4  0x00000001 r5  0x8f7724fb r6  0x00000001 r7  0x5b080000
[81660] r8  0x00000000 r9  0x011b9000 r10 0x8f741094 r11 0x8f7725ac
[81660] r12 0x00000001 usp 0x00000000 ulr 0x00000000 pc  0x8f630690
[81660] spsr 0x600001d3
[81660]  fiq r13 0x8f729000 r14 0x00000000
[81660]  irq r13 0x8f72d1a0 r14 0x8f620c2c
[81660] *svc r13 0x8f7724f8 r14 0x8f6147b0
[81660]  und r13 0x8f729000 r14 0x00000000
[81660]  sys r13 0x00000000 r14 0x00000000
[81660] bottom of stack at 0x8f7724f8:
0x8f7724f8: 00726f63 824fe86d 00020000 8f7724fb |cor.m.O.......w.|
0x8f772508: 8f742c01 824fe86d 10000000 00000000 |..t.m.O.........|
0x8f772518: 13400000 00000000 8f628aa0 8f6147b0 |..........b..Ga.|
0x8f772528: 00000000 00000000 13400000 10000000 |................|
0x8f772538: 00000000 00000001 0000000f 824fe86d |............m.O.|
0x8f772548: 13400000 00000000 00000000 00000000 |................|
0x8f772558: 00000000 00000000 00000000 00000000 |................|
0x8f772568: 00000000 00000000 00000000 00000000 |................|
2023-06-25 22:12:45 +02:00

48 lines
1.8 KiB
Text

# Maintainer: Alejandro Tafalla <atafalla@dnyon.com>
pkgname=lk2nd-msm8953
pkgver=0.3.3
pkgrel=1
pkgdesc="Secondary little kernel (lk) bootloader for msm8953 based devices"
arch="aarch64"
url="https://github.com/msm8953-mainline/lk2nd"
license="MIT AND GPL-2.0-only"
makedepends="dtc dtc-dev gcc-arm-none-eabi python3 py3-libfdt"
builddir="$srcdir"/lk2nd-$pkgver
source="lk2nd-$pkgver.tar.gz::https://github.com/msm8953-mainline/lk2nd/archive/refs/tags/$pkgver.tar.gz
o2.patch"
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.
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 TOOLCHAIN_PREFIX=arm-none-eabi- msm8953-secondary
}
package() {
# main package is empty
install -Dm644 "$builddir"/build-msm8953-secondary/lk2nd.img -t \
"$pkgdir"/boot
}
sha512sums="
9a55ebe30bfe2e232593edb2eddd7b6078980d2339131f2975e0a85545630b8d386c4af021bab488d4e098f1fb2d78b1059eea51e987490a3e1dfebd4ea11cf0 lk2nd-0.3.3.tar.gz
e4d2e116966485aca746bec5bf6ab9855514dc70dfb94ce3cdc9def01c5b36eeddc33e77bdbcfb8f6bb89bb0277fd6dd3e6f8066475dcfc5b5fcdec567af754b o2.patch
"