PMEM aka persistent memory enables a region of memory to be treated as a block device. This is particularly useful as a way for EFI bootloaders to retrieve a full OS image (via HTTP) and make it accessible to the OS. Support for this is making its way to U-Boot: https://lore.kernel.org/u-boot/20250203105912.196654-1-sughosh.ganu@linaro.org/ Let's enable this in postmarketOS so we can enable HTTP booting images directly from postmarketOS.org. Signed-off-by: Caleb Connolly <caleb@postmarketos.org> [ci:skip-build]: already built successfully in CI
76 lines
2.1 KiB
Bash
76 lines
2.1 KiB
Bash
# Maintainer: Caleb Connolly <caleb@postmarketos.org>
|
|
# Kernel config based on: arch/arm64/configs/defconfig
|
|
|
|
pkgname=linux-next
|
|
pkgver=6.14_git20250219
|
|
pkgrel=1
|
|
_nextver="${pkgver#*_git}"
|
|
pkgdesc="Linux next kernel"
|
|
arch="aarch64"
|
|
_carch="arm64"
|
|
_flavor="generic-trailblazer"
|
|
url="https://kernel.org"
|
|
license="GPL-2.0-only"
|
|
# FIXME: kconfigcheck isn't supported since we use fragments
|
|
options="!strip !check !tracedeps pmb:cross-native"
|
|
source="
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/snapshot/linux-next-next-$_nextver.tar.gz
|
|
devices.config
|
|
pmos.config
|
|
"
|
|
makedepends="
|
|
bash
|
|
bc
|
|
bison
|
|
devicepkg-dev
|
|
findutils
|
|
flex
|
|
git
|
|
openssl-dev
|
|
perl
|
|
python3
|
|
zstd
|
|
"
|
|
builddir="$srcdir/linux-next-next-$_nextver"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
cp "$srcdir/pmos.config" "$builddir"/arch/"$_carch"/configs/
|
|
cp "$srcdir/devices.config" "$builddir"/arch/"$_carch"/configs/
|
|
|
|
# Generate .config
|
|
unset LDFLAGS
|
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-next-$_nextver" \
|
|
defconfig pmos.config devices.config
|
|
}
|
|
|
|
build() {
|
|
unset LDFLAGS
|
|
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
|
}
|
|
|
|
package() {
|
|
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz.efi" \
|
|
"$pkgdir/boot/linux.efi"
|
|
|
|
make modules_install dtbs_install \
|
|
ARCH="$_carch" \
|
|
INSTALL_PATH="$pkgdir"/boot/ \
|
|
INSTALL_MOD_PATH="$pkgdir" \
|
|
INSTALL_MOD_STRIP=1 \
|
|
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
|
|
|
|
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
|
|
|
|
install -D "$builddir"/include/config/kernel.release \
|
|
"$pkgdir"/usr/share/kernel/next-"$_nextver"/kernel.release
|
|
}
|
|
|
|
sha512sums="
|
|
febdbec2b601027a248bde095419bacc08e2839634b5aba3169de31488a223d0dcfeae6ff00bb2020b9d413ff75c7717fca1ec1e60e6c977d1ae2ed6ef6976ac linux-next-next-20250219.tar.gz
|
|
8de0a3791ea671528a9fc753071683dfea68ea4f4c22060fc0ca8a4b1b3d76eaa2a3fd40bb013173f0e55da15dde91cf285902779beb35781b6c90f39244ce11 devices.config
|
|
48999c505effe9be5e9394d4954691de453f01f6bf24dc9971f1d742a1c4e36133bcc4b95b82b6b1d59993ff58f53168f0019280947de6963fb4fc37c0ab1679 pmos.config
|
|
"
|