pmbootstrap 3.0.0 uses GPT partition table by default, which breaks booting on all the devices using the lk2nd bootloader. The current version of lk2nd supports GPT only for the eMMC, while subpartitions and SD cards must be partitioned with MBR. GPT support was present in the legacy branch of lk2nd, but was dropped at some point because of poor code quality. Fix the regression for now by reverting back to the old msdos (MBR) partition table. We can revert this again later when lk2nd restores support for GPT. Generated with $ for d in $(grep -R linux-postmarketos-qcom-msm8916 | grep -Eo 'device-[^/]+' | sort -u); do \ echo -e '\n# lk2nd does not support GPT for subpartitions/SD cards yet\ndeviceinfo_partition_type="msdos"' \ >> device/*/$d/deviceinfo && pmbootstrap checksum $d && pmbootstrap pkgver_bump $d; done [ci:ignore-count] [ci:skip-build]: bug in CI prevents build testing armv7 and aarch64, so Clayton did the test locally for those archs
64 lines
1.9 KiB
Bash
64 lines
1.9 KiB
Bash
# Reference: <https://postmarketos.org/devicepkg>
|
|
# Maintainer: Nikita Travkin <nikita@trvn.ru>
|
|
pkgname=device-qcom-msm8916
|
|
pkgdesc="Generic device package for various Qualcomm MSM8916/MSM8939-based devices"
|
|
pkgver=3
|
|
pkgrel=0
|
|
url="https://postmarketos.org"
|
|
license="MIT"
|
|
arch="aarch64"
|
|
options="!check !archcheck"
|
|
depends="
|
|
postmarketos-base
|
|
soc-qcom-msm8916
|
|
"
|
|
makedepends="devicepkg-dev"
|
|
source="
|
|
deviceinfo
|
|
modules-initfs
|
|
"
|
|
subpackages="
|
|
$pkgname-nonfree-firmware:nonfree_firmware
|
|
$pkgname-kernel-extlinux:kernel_extlinux
|
|
$pkgname-kernel-efi:kernel_efi
|
|
"
|
|
|
|
build() {
|
|
devicepkg_build $startdir $pkgname
|
|
}
|
|
|
|
package() {
|
|
devicepkg_package $startdir $pkgname
|
|
}
|
|
|
|
nonfree_firmware() {
|
|
pkgdesc="WiFi/BT/Modem/Video firmware"
|
|
depends="msm-firmware-loader firmware-qcom-adreno-a300 firmware-qcom-adreno-a420 firmware-qcom-db410c-wcnss-nv"
|
|
mkdir "$subpkgdir"
|
|
|
|
# HACK: For devices that don't have a nv file in persist we
|
|
# temporarily link the db410c file to the expected location.
|
|
# It will be overriden if the file is in persist or when user
|
|
# installs the device-specific firmware packages.
|
|
mkdir -p "$subpkgdir"/lib/firmware/wlan/prima/
|
|
ln -s /lib/firmware/qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin \
|
|
"$subpkgdir"/lib/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin
|
|
}
|
|
|
|
kernel_extlinux() {
|
|
pkgdesc="Use lk2nd to boot via extlinux.conf"
|
|
depends="linux-postmarketos-qcom-msm8916"
|
|
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
|
|
}
|
|
|
|
kernel_efi() {
|
|
pkgdesc="Use U-Boot to boot via EFI"
|
|
depends="linux-postmarketos-qcom-msm8916 systemd-boot"
|
|
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
|
|
}
|
|
|
|
sha512sums="
|
|
1ac19001a2b89bc5bec53fe5dfbdbc2b57030dc2982ada172f7ef438279a95bc8ebad54621d4672067ec258a6d3f8cea8faefe3b1adcaf7587a94d1f44c2ef01 deviceinfo
|
|
80b037998756dab0c6b2a3bb438fb2d6bf727148c4af29648074b85c3beacdbbbffb2fefd477e68904d4c3bedb76bf0e532719a15a3bb7c8ef5f922be0d73c1d modules-initfs
|
|
"
|