summaryrefslogtreecommitdiff
path: root/libre/linux-libre-64/PKGBUILD
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-07-22 23:55:53 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-07-22 23:55:53 -0400
commite73290a7c64cecdac22b11bc2f48d71024e74f73 (patch)
tree4297e4882843f70b237c884400bdb7d33e27a192 /libre/linux-libre-64/PKGBUILD
parent43762a8ab258defc08c991c6d355883befb14f8d (diff)
downloadabslibre-e73290a7c64cecdac22b11bc2f48d71024e74f73.tar.gz
abslibre-e73290a7c64cecdac22b11bc2f48d71024e74f73.tar.bz2
abslibre-e73290a7c64cecdac22b11bc2f48d71024e74f73.zip
sq - linux-libre-64
Diffstat (limited to 'libre/linux-libre-64/PKGBUILD')
-rw-r--r--libre/linux-libre-64/PKGBUILD53
1 files changed, 53 insertions, 0 deletions
diff --git a/libre/linux-libre-64/PKGBUILD b/libre/linux-libre-64/PKGBUILD
index 20f495065..fc190ef36 100644
--- a/libre/linux-libre-64/PKGBUILD
+++ b/libre/linux-libre-64/PKGBUILD
@@ -1,4 +1,7 @@
# Contributor: David P. <megver83@parabola.nu>
+# Maintainer (arch32): Erich Eckner <deep42thought@archlinux32.org>
+# Maintainer (arch32): Andreas Baumann <mail@andreasbaumann.cc>
+# Maintainer (archarm): Kevin Mihelich <kevin@archlinuxarm.org>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: fauno <fauno@parabola.nu>
@@ -10,6 +13,55 @@
# Based on linux package
+# Rationale: This package enables to run 64bit kernels with 32bit rootfs.
+#
+# For armv7k/aarch64, we have no aarch64 port yet, and the 32bit
+# kernels don't work for 64bit computers (no 64bit DTB files, etc).
+#
+# In turn if we can boot Parabola on these computers, it enables
+# people to work on an aarch64 port more easily as chrooting in 64bit
+# rootfs from 32bit rootfs work when we have a 64bit kernel (tested on
+# an x86_64 computer with a Parabola i686 rootfs and a Parabola x86_64
+# chroot).
+#
+# This enable to make rootfs that work on both 64bit and 32bit
+# computers. In that case the user will still need to select the right
+# kernel at boot.
+#
+# Generally speaking it also enable users to benefit from many of the
+# improvements of 64bit kernels (ability to chroot in 64bit rootfs,
+# better security, 4GiB address space per process instead of 3GiB for
+# 32bit rootfs, etc) without having to reinstall everything. In
+# addition, there was and is still no conversion guide to convert a
+# 32bit Parabola installation to 64bit), and in some cases (lot of
+# self-built software in /usr/local, PostgreSQL database, etc) the
+# migration to 64bit requires some work.
+#
+# As for using i686 for new installation on x86_64 computers, it can
+# enable people doing that to find and fix bugs on Parabola i686 to
+# enable people with 32bit-only computers (like Libreboot compatible
+# I945 Thinkpads) to still be able to use Parabola.
+#
+# Having both architectures (arm and x86) in the same PKGBUILD enables
+# to more widely test this package (if we find issues on x86, they'll
+# most likely apply to arm as well). Though it can become a problem if
+# we need different kernel versions for both architectures.
+#
+# Status:
+# - Tested on both arm and x86.
+# - The build is currently broken on ARM due to a missing cross
+# compiler for armv7h (it was accidentally removed and it doesn't
+# build anymore).
+# - External modules (like Wireguard or tp_smapi) also need to be
+# cross compiled. So modules for linux-libre-64 need to be added
+# (like tp_smapi-64) and dkms packages need to be adapted to also
+# work for this kernel.
+# - Some software (like building Guix) break with 32bit rootfs and
+# 64bit kernels due to wrong assumption about the number of bits,
+# through other software (like building rust with mrustc) work
+# better (here because we have 3GiB instead of 3GiB of memory per
+# process). Most software is not affected though.
+
# 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,
@@ -157,6 +209,7 @@ case "$CARCH" in
i686|x86_64) KARCH=x86;;
armv7h) KARCH=arm;;
esac
+pkgdesc+=" 64-bit (${CROSS_COMPILE%%-*}) for Parabola ${CARCH}" # cross-compile over-ride
export KBUILD_BUILD_HOST=parabola
export KBUILD_BUILD_USER=$pkgbase