mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-07 07:33:48 +02:00
New package: linux6.13-6.13.0
This commit is contained in:
parent
46206b5334
commit
bfe81cb11c
12 changed files with 37420 additions and 0 deletions
1
srcpkgs/linux6.13-dbg
Symbolic link
1
srcpkgs/linux6.13-dbg
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
linux6.13
|
1
srcpkgs/linux6.13-headers
Symbolic link
1
srcpkgs/linux6.13-headers
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
linux6.13
|
13785
srcpkgs/linux6.13/files/arm64-dotconfig
Normal file
13785
srcpkgs/linux6.13/files/arm64-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
11269
srcpkgs/linux6.13/files/i386-dotconfig
Normal file
11269
srcpkgs/linux6.13/files/i386-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
8
srcpkgs/linux6.13/files/mv-debug
Executable file
8
srcpkgs/linux6.13/files/mv-debug
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
mod=$1
|
||||||
|
mkdir -p usr/lib/debug/${mod%/*}
|
||||||
|
$OBJCOPY --only-keep-debug --compress-debug-sections $mod usr/lib/debug/$mod
|
||||||
|
$OBJCOPY --add-gnu-debuglink=${DESTDIR}/usr/lib/debug/$mod $mod
|
||||||
|
/usr/bin/$STRIP --strip-debug $mod
|
||||||
|
$SIGN_FILE $mod
|
||||||
|
zstd -T0 --rm -f -q $mod
|
11749
srcpkgs/linux6.13/files/x86_64-dotconfig
Normal file
11749
srcpkgs/linux6.13/files/x86_64-dotconfig
Normal file
File diff suppressed because it is too large
Load diff
15
srcpkgs/linux6.13/patches/fix-musl-btf-ids.patch
Normal file
15
srcpkgs/linux6.13/patches/fix-musl-btf-ids.patch
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
https://bugzilla.kernel.org/show_bug.cgi?id=218647
|
||||||
|
|
||||||
|
diff --git a/tools/include/linux/btf_ids.h b/tools/include/linux/btf_ids.h
|
||||||
|
index 72535f00572f..72ea363d434d 100644
|
||||||
|
--- a/tools/include/linux/btf_ids.h
|
||||||
|
+++ b/tools/include/linux/btf_ids.h
|
||||||
|
@@ -3,6 +3,8 @@
|
||||||
|
#ifndef _LINUX_BTF_IDS_H
|
||||||
|
#define _LINUX_BTF_IDS_H
|
||||||
|
|
||||||
|
+#include <linux/types.h> /* for u32 */
|
||||||
|
+
|
||||||
|
struct btf_id_set {
|
||||||
|
u32 cnt;
|
||||||
|
u32 ids[];
|
14
srcpkgs/linux6.13/patches/fix-musl-objtool.patch
Normal file
14
srcpkgs/linux6.13/patches/fix-musl-objtool.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
objtool is using the headers provided by kernel-libc-headers, which are kernel version 5.10, so
|
||||||
|
they use __always_inline instead of inline, and musl doesn't define __always_inline (glibc does)
|
||||||
|
|
||||||
|
--- a/tools/objtool/Makefile
|
||||||
|
+++ b/tools/objtool/Makefile
|
||||||
|
@@ -32,7 +32,7 @@ INCLUDES := -I$(srctree)/tools/include \
|
||||||
|
# Note, EXTRA_WARNINGS here was determined for CC and not HOSTCC, it
|
||||||
|
# is passed here to match a legacy behavior.
|
||||||
|
WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs
|
||||||
|
-OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS)
|
||||||
|
+OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS) -D__always_inline=inline
|
||||||
|
OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS)
|
||||||
|
|
||||||
|
# Allow old libelf to be used:
|
11
srcpkgs/linux6.13/patches/fixdep-largefile.patch
Normal file
11
srcpkgs/linux6.13/patches/fixdep-largefile.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/tools/build/fixdep.c
|
||||||
|
+++ b/tools/build/fixdep.c
|
||||||
|
@@ -11,6 +11,8 @@
|
||||||
|
* base transformation of dependecies without the CONFIG mangle.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#define _FILE_OFFSET_BITS 64
|
||||||
|
+
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/mman.h>
|
112
srcpkgs/linux6.13/patches/x13s-bluetooth-fw.patch
Normal file
112
srcpkgs/linux6.13/patches/x13s-bluetooth-fw.patch
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
From 12d8f091a79829e79dead7d87a353aa019415b2b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zijun Hu <quic_zijuhu@quicinc.com>
|
||||||
|
Date: Sat, 16 Nov 2024 07:49:23 -0800
|
||||||
|
Subject: [PATCH] Bluetooth: qca: Support downloading board ID specific NVM for
|
||||||
|
WCN6855
|
||||||
|
|
||||||
|
For WCN6855, board ID specific NVM needs to be downloaded once board ID
|
||||||
|
is available, but the default NVM is always downloaded currently, and
|
||||||
|
the wrong NVM causes poor RF performance which effects user experience.
|
||||||
|
|
||||||
|
Fix by downloading board ID specific NVM if board ID is available.
|
||||||
|
|
||||||
|
Cc: Bjorn Andersson <bjorande@quicinc.com>
|
||||||
|
Cc: Aiqun Yu (Maria) <quic_aiquny@quicinc.com>
|
||||||
|
Cc: Cheng Jiang <quic_chejiang@quicinc.com>
|
||||||
|
Cc: Johan Hovold <johan@kernel.org>
|
||||||
|
Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
|
||||||
|
Cc: Steev Klimaszewski <steev@kali.org>
|
||||||
|
Cc: Paul Menzel <pmenzel@molgen.mpg.de>
|
||||||
|
Fixes: 095327fede00 ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855")
|
||||||
|
Cc: stable@vger.kernel.org # 6.4
|
||||||
|
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
|
||||||
|
Tested-by: Johan Hovold <johan+linaro@kernel.org>
|
||||||
|
Tested-by: Steev Klimaszewski <steev@kali.org>
|
||||||
|
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
|
||||||
|
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
|
||||||
|
Link: https://lore.kernel.org/r/20241116-x13s_wcn6855_fix-v2-1-c08c298d5fbf@quicinc.com
|
||||||
|
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
|
||||||
|
---
|
||||||
|
drivers/bluetooth/btqca.c | 44 ++++++++++++++++++++++++++++++++++++---
|
||||||
|
1 file changed, 41 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
|
||||||
|
index dfbbac92242a84..ddfe7e3c9b5003 100644
|
||||||
|
--- a/drivers/bluetooth/btqca.c
|
||||||
|
+++ b/drivers/bluetooth/btqca.c
|
||||||
|
@@ -717,6 +717,29 @@ static void qca_generate_hsp_nvm_name(char *fwname, size_t max_size,
|
||||||
|
snprintf(fwname, max_size, "qca/hpnv%02x%s.%x", rom_ver, variant, bid);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void qca_get_hsp_nvm_name_generic(struct qca_fw_config *cfg,
|
||||||
|
+ struct qca_btsoc_version ver,
|
||||||
|
+ u8 rom_ver, u16 bid)
|
||||||
|
+{
|
||||||
|
+ const char *variant;
|
||||||
|
+
|
||||||
|
+ /* hsp gf chip */
|
||||||
|
+ if ((le32_to_cpu(ver.soc_id) & QCA_HSP_GF_SOC_MASK) == QCA_HSP_GF_SOC_ID)
|
||||||
|
+ variant = "g";
|
||||||
|
+ else
|
||||||
|
+ variant = "";
|
||||||
|
+
|
||||||
|
+ if (bid == 0x0)
|
||||||
|
+ snprintf(cfg->fwname, sizeof(cfg->fwname), "qca/hpnv%02x%s.bin",
|
||||||
|
+ rom_ver, variant);
|
||||||
|
+ else if (bid & 0xff00)
|
||||||
|
+ snprintf(cfg->fwname, sizeof(cfg->fwname), "qca/hpnv%02x%s.b%x",
|
||||||
|
+ rom_ver, variant, bid);
|
||||||
|
+ else
|
||||||
|
+ snprintf(cfg->fwname, sizeof(cfg->fwname), "qca/hpnv%02x%s.b%02x",
|
||||||
|
+ rom_ver, variant, bid);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static inline void qca_get_nvm_name_generic(struct qca_fw_config *cfg,
|
||||||
|
const char *stem, u8 rom_ver, u16 bid)
|
||||||
|
{
|
||||||
|
@@ -810,8 +833,15 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
|
||||||
|
/* Give the controller some time to get ready to receive the NVM */
|
||||||
|
msleep(10);
|
||||||
|
|
||||||
|
- if (soc_type == QCA_QCA2066 || soc_type == QCA_WCN7850)
|
||||||
|
+ switch (soc_type) {
|
||||||
|
+ case QCA_QCA2066:
|
||||||
|
+ case QCA_WCN6855:
|
||||||
|
+ case QCA_WCN7850:
|
||||||
|
qca_read_fw_board_id(hdev, &boardid);
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Download NVM configuration */
|
||||||
|
config.type = TLV_TYPE_NVM;
|
||||||
|
@@ -848,8 +878,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
|
||||||
|
"qca/msnv%02x.bin", rom_ver);
|
||||||
|
break;
|
||||||
|
case QCA_WCN6855:
|
||||||
|
- snprintf(config.fwname, sizeof(config.fwname),
|
||||||
|
- "qca/hpnv%02x.bin", rom_ver);
|
||||||
|
+ qca_get_hsp_nvm_name_generic(&config, ver, rom_ver, boardid);
|
||||||
|
break;
|
||||||
|
case QCA_WCN7850:
|
||||||
|
qca_get_nvm_name_generic(&config, "hmt", rom_ver, boardid);
|
||||||
|
@@ -861,9 +890,18 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+download_nvm:
|
||||||
|
err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
|
||||||
|
if (err < 0) {
|
||||||
|
bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err);
|
||||||
|
+ if (err == -ENOENT && boardid != 0 &&
|
||||||
|
+ soc_type == QCA_WCN6855) {
|
||||||
|
+ boardid = 0;
|
||||||
|
+ qca_get_hsp_nvm_name_generic(&config, ver,
|
||||||
|
+ rom_ver, boardid);
|
||||||
|
+ bt_dev_warn(hdev, "QCA fallback to default NVM");
|
||||||
|
+ goto download_nvm;
|
||||||
|
+ }
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
105
srcpkgs/linux6.13/patches/x13s-camera.patch
Normal file
105
srcpkgs/linux6.13/patches/x13s-camera.patch
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
From ce53360b46625976e3cacd0508bd781a4a1b2c0b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
||||||
|
Date: Tue, 6 Aug 2024 10:45:43 +0100
|
||||||
|
Subject: [PATCH] arm64: dts: qcom: sc8280xp-x13s: Enable RGB sensor
|
||||||
|
|
||||||
|
Enable the main RGB sensor on the Lenovo x13s a five megapixel 2 lane DPHY
|
||||||
|
MIPI sensor connected to cisphy0.
|
||||||
|
|
||||||
|
With the pm8008 patches recently applied to the x13s dtsi we can now also
|
||||||
|
enable the RGB sensor. Once done we have all upstream support necessary for
|
||||||
|
the RGB sensor on x13s.
|
||||||
|
|
||||||
|
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
|
||||||
|
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
||||||
|
Link: https://lore.kernel.org/r/20240806-b4-linux-next-24-07-31-camss-sc8280xp-lenovo-rgb-v2-v3-1-199767fb193d@linaro.org
|
||||||
|
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
|
||||||
|
---
|
||||||
|
.../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 67 +++++++++++++++++++
|
||||||
|
1 file changed, 67 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
|
||||||
|
index a7c5a3f5926c73..6a28cab971891d 100644
|
||||||
|
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
|
||||||
|
@@ -592,6 +592,57 @@
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
+&camss {
|
||||||
|
+ vdda-phy-supply = <&vreg_l6d>;
|
||||||
|
+ vdda-pll-supply = <&vreg_l4d>;
|
||||||
|
+
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ ports {
|
||||||
|
+ port@0 {
|
||||||
|
+ csiphy0_lanes01_ep: endpoint@0 {
|
||||||
|
+ reg = <0>;
|
||||||
|
+ clock-lanes = <7>;
|
||||||
|
+ data-lanes = <0 1>;
|
||||||
|
+ remote-endpoint = <&ov5675_ep>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&cci2 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&cci2_i2c1 {
|
||||||
|
+ camera@10 {
|
||||||
|
+ compatible = "ovti,ov5675";
|
||||||
|
+ reg = <0x10>;
|
||||||
|
+
|
||||||
|
+ reset-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&cam_rgb_default>;
|
||||||
|
+
|
||||||
|
+ clocks = <&camcc CAMCC_MCLK3_CLK>;
|
||||||
|
+
|
||||||
|
+ orientation = <0>; /* Front facing */
|
||||||
|
+
|
||||||
|
+ avdd-supply = <&vreg_l6q>;
|
||||||
|
+ dvdd-supply = <&vreg_l2q>;
|
||||||
|
+ dovdd-supply = <&vreg_l7q>;
|
||||||
|
+
|
||||||
|
+ port {
|
||||||
|
+ ov5675_ep: endpoint {
|
||||||
|
+ clock-lanes = <0>;
|
||||||
|
+ data-lanes = <1 2>;
|
||||||
|
+ link-frequencies = /bits/ 64 <450000000>;
|
||||||
|
+ remote-endpoint = <&csiphy0_lanes01_ep>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&dispcc0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
@@ -1436,6 +1487,22 @@
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
+ cam_rgb_default: cam-rgb-default-state {
|
||||||
|
+ mclk-pins {
|
||||||
|
+ pins = "gpio17";
|
||||||
|
+ function = "cam_mclk";
|
||||||
|
+ drive-strength = <16>;
|
||||||
|
+ bias-disable;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sc-rgb-xshut-n-pins {
|
||||||
|
+ pins = "gpio15";
|
||||||
|
+ function = "gpio";
|
||||||
|
+ drive-strength = <2>;
|
||||||
|
+ bias-disable;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
edp_reg_en: edp-reg-en-state {
|
||||||
|
pins = "gpio25";
|
||||||
|
function = "gpio";
|
350
srcpkgs/linux6.13/template
Normal file
350
srcpkgs/linux6.13/template
Normal file
|
@ -0,0 +1,350 @@
|
||||||
|
# Template file for 'linux6.13'
|
||||||
|
pkgname=linux6.13
|
||||||
|
version=6.13.0
|
||||||
|
revision=1
|
||||||
|
short_desc="Linux kernel and modules (${version%.*} series)"
|
||||||
|
maintainer="Duncaen <duncaen@voidlinux.org>"
|
||||||
|
license="GPL-2.0-only"
|
||||||
|
homepage="https://www.kernel.org"
|
||||||
|
distfiles="${KERNEL_SITE}/kernel/v${version%%.*}.x/linux-${version%.*}.tar.xz"
|
||||||
|
|
||||||
|
if [ "${version##*.}" != 0 ]; then
|
||||||
|
distfiles+=" ${KERNEL_SITE}/kernel/v${version%%.*}.x/patch-${version}.xz"
|
||||||
|
skip_extraction="patch-${version}.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
checksum=e79dcc6eb86695c6babfb07c2861912b635d5075c6cd1cd0567d1ea155f80d6e
|
||||||
|
python_version=3
|
||||||
|
|
||||||
|
# XXX Restrict archs until a proper <arch>-dotconfig is available in FILESDIR.
|
||||||
|
archs="x86_64* i686* aarch64*"
|
||||||
|
|
||||||
|
nodebug=yes # -dbg package is generated below manually
|
||||||
|
nostrip=yes
|
||||||
|
noverifyrdeps=yes
|
||||||
|
noshlibprovides=yes
|
||||||
|
preserve=yes
|
||||||
|
|
||||||
|
hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel
|
||||||
|
pkg-config openssl-devel perl uboot-mkimage cpio pahole python3 zstd"
|
||||||
|
|
||||||
|
_kernver="${version}_${revision}"
|
||||||
|
triggers="kernel-hooks"
|
||||||
|
kernel_hooks_version="${_kernver}"
|
||||||
|
|
||||||
|
# These files could be modified when an external module is built.
|
||||||
|
mutable_files="
|
||||||
|
/usr/lib/modules/${_kernver}/modules.builtin.bin
|
||||||
|
/usr/lib/modules/${_kernver}/modules.builtin.alias.bin
|
||||||
|
/usr/lib/modules/${_kernver}/modules.softdep
|
||||||
|
/usr/lib/modules/${_kernver}/modules.dep
|
||||||
|
/usr/lib/modules/${_kernver}/modules.dep.bin
|
||||||
|
/usr/lib/modules/${_kernver}/modules.symbols
|
||||||
|
/usr/lib/modules/${_kernver}/modules.symbols.bin
|
||||||
|
/usr/lib/modules/${_kernver}/modules.alias
|
||||||
|
/usr/lib/modules/${_kernver}/modules.alias.bin
|
||||||
|
/usr/lib/modules/${_kernver}/modules.devname"
|
||||||
|
|
||||||
|
# reproducible build
|
||||||
|
export KBUILD_BUILD_TIMESTAMP=$(LC_ALL=C date -ud @${SOURCE_DATE_EPOCH:-0})
|
||||||
|
export KBUILD_BUILD_USER=voidlinux
|
||||||
|
export KBUILD_BUILD_HOST=voidlinux
|
||||||
|
|
||||||
|
if [ "$CROSS_BUILD" ]; then
|
||||||
|
_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pre_patch() {
|
||||||
|
if [ ! -f $XBPS_SRCDISTDIR/$pkgname-$version/patch-${version}.xz ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
xzcat $XBPS_SRCDISTDIR/$pkgname-$version/patch-${version}.xz |
|
||||||
|
patch -sNp1 -F0
|
||||||
|
}
|
||||||
|
|
||||||
|
post_patch() {
|
||||||
|
# avoid the strip wrapper, its used to copy the objects to a new location
|
||||||
|
# and required to avoid absolute relocations.
|
||||||
|
vsed -e "s|\$(STRIP) \(--strip-debug -o \$@ \$<;\)|/usr/bin/${STRIP} \1|" -i drivers/firmware/efi/libstub/Makefile
|
||||||
|
|
||||||
|
# parallel pahole crashes on i686, do one job for now
|
||||||
|
vsed -i "s/\(\$(pahole-flags-y)\)/\1 --jobs=1/" -i scripts/Makefile.btf
|
||||||
|
}
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
# If there's a file called <arch>-dotconfig, use it to
|
||||||
|
# configure the kernel; otherwise use arch defaults and all stuff
|
||||||
|
# as modules (allmodconfig).
|
||||||
|
local arch subarch
|
||||||
|
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
i686*) arch=i386;;
|
||||||
|
x86_64*) arch=x86_64;;
|
||||||
|
arm*) arch=arm;;
|
||||||
|
aarch64*) arch=arm64;;
|
||||||
|
ppc64le*) arch=powerpc; subarch=ppc64le;;
|
||||||
|
ppc64*) arch=powerpc; subarch=ppc64;;
|
||||||
|
ppc*) arch=powerpc; subarch=ppc;;
|
||||||
|
mips*) arch=mips;;
|
||||||
|
riscv64*) arch=riscv;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom ]; then
|
||||||
|
msg_normal "Detected a custom .config file for your arch, using it.\n"
|
||||||
|
cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom .config
|
||||||
|
make ${makejobs} ARCH=$arch ${_cross} oldconfig
|
||||||
|
elif [ -f ${FILESDIR}/${subarch:-$arch}-dotconfig ]; then
|
||||||
|
msg_normal "Detected a .config file for your arch, using it.\n"
|
||||||
|
cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig .config
|
||||||
|
make ${makejobs} ARCH=$arch ${_cross} oldconfig
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Always use our revision to CONFIG_LOCALVERSION to match our pkg version.
|
||||||
|
sed -i -e "s|^\(CONFIG_LOCALVERSION=\).*|\1\"_${revision}\"|" .config
|
||||||
|
}
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
local arch _args
|
||||||
|
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
i686*) _args="bzImage modules"; arch=i386;;
|
||||||
|
x86_64*) _args="bzImage modules"; arch=x86_64;;
|
||||||
|
arm*) _args="zImage modules dtbs"; arch=arm;;
|
||||||
|
aarch64*) _args="Image modules dtbs"; arch=arm64;;
|
||||||
|
ppc*) _args="zImage modules"; arch=powerpc;;
|
||||||
|
mips*) _args="uImage modules dtbs"; arch=mips;;
|
||||||
|
riscv64*) _args="Image modules dtbs"; arch=riscv;;
|
||||||
|
esac
|
||||||
|
export LDFLAGS=
|
||||||
|
make ARCH=$arch ${_cross} ${makejobs} prepare
|
||||||
|
make ARCH=$arch ${_cross} ${makejobs} ${_args}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
local arch subarch _args hdrdest
|
||||||
|
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
i686*) arch=x86; subarch=i386;;
|
||||||
|
x86_64*) arch=x86; subarch=x86_64;;
|
||||||
|
arm*) arch=arm;;
|
||||||
|
aarch64*) arch=arm64;;
|
||||||
|
ppc*) arch=powerpc;;
|
||||||
|
mips*) arch=mips;;
|
||||||
|
riscv*) arch=riscv;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Run depmod after compressing modules - makes depmod.sh a noop
|
||||||
|
sed -i '2iexit 0' scripts/depmod.sh
|
||||||
|
vmkdir usr/lib
|
||||||
|
ln -s usr/lib/ ${DESTDIR}
|
||||||
|
|
||||||
|
# Install kernel, firmware and modules
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_MOD_PATH=${DESTDIR} ${_cross} modules_install
|
||||||
|
|
||||||
|
hdrdest=${DESTDIR}/usr/src/kernel-headers-${_kernver}
|
||||||
|
|
||||||
|
vinstall .config 644 boot config-${_kernver}
|
||||||
|
vinstall System.map 644 boot System.map-${_kernver}
|
||||||
|
|
||||||
|
case "$arch" in
|
||||||
|
x86)
|
||||||
|
vinstall arch/x86/boot/bzImage 644 boot vmlinuz-${_kernver}
|
||||||
|
;;
|
||||||
|
arm)
|
||||||
|
vinstall arch/arm/boot/zImage 644 boot
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||||
|
;;
|
||||||
|
arm64)
|
||||||
|
vinstall arch/arm64/boot/Image 644 boot vmlinux-${_kernver}
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||||
|
;;
|
||||||
|
powerpc)
|
||||||
|
# zImage on powerpc is useless as it won't load initramfs
|
||||||
|
# raw vmlinux is huge, and this is nostrip, so do it manually
|
||||||
|
vinstall vmlinux 644 boot vmlinux-${_kernver}
|
||||||
|
/usr/bin/$STRIP ${DESTDIR}/boot/vmlinux-${_kernver}
|
||||||
|
;;
|
||||||
|
mips)
|
||||||
|
vinstall arch/mips/boot/uImage.bin 644 boot uImage-${_kernver}
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||||
|
;;
|
||||||
|
riscv)
|
||||||
|
vinstall arch/riscv/boot/Image 644 boot vmlinux-${_kernver}
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} INSTALL_DTBS_PATH=${DESTDIR}/boot/dtbs/dtbs-${_kernver} ${_cross} dtbs_install
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Switch to /usr.
|
||||||
|
vmkdir usr
|
||||||
|
|
||||||
|
cd ${DESTDIR}/usr/lib/modules/${_kernver}
|
||||||
|
rm -f source build
|
||||||
|
ln -sf ../../../src/kernel-headers-${_kernver} build
|
||||||
|
|
||||||
|
cd ${wrksrc}
|
||||||
|
# Install required headers to build external modules
|
||||||
|
install -Dm644 Makefile ${hdrdest}/Makefile
|
||||||
|
install -Dm644 Kbuild ${hdrdest}/Kbuild
|
||||||
|
install -Dm644 kernel/Makefile ${hdrdest}/kernel/Makefile
|
||||||
|
install -Dm644 .config ${hdrdest}/.config
|
||||||
|
for file in $(find . -name Kconfig\*); do
|
||||||
|
mkdir -p ${hdrdest}/$(dirname $file)
|
||||||
|
install -Dm644 $file ${hdrdest}/${file}
|
||||||
|
done
|
||||||
|
for file in $(find arch/${subarch:-$arch} scripts -name module.lds -o -name Kbuild.platforms -o -name Platform); do
|
||||||
|
mkdir -p ${hdrdest}/$(dirname $file)
|
||||||
|
install -Dm644 $file ${hdrdest}/${file}
|
||||||
|
done
|
||||||
|
mkdir -p ${hdrdest}/include
|
||||||
|
# Remove firmware stuff provided by the "linux-firmware" pkg.
|
||||||
|
rm -rf ${DESTDIR}/usr/lib/firmware
|
||||||
|
|
||||||
|
for i in acpi asm-generic clocksource config crypto drm generated linux vdso \
|
||||||
|
math-emu media net pcmcia scsi sound trace uapi video xen dt-bindings; do
|
||||||
|
if [ -d include/$i ]; then
|
||||||
|
cp -a include/$i ${hdrdest}/include
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ${wrksrc}
|
||||||
|
mkdir -p ${hdrdest}/arch/${arch}
|
||||||
|
cp -a arch/${arch}/include ${hdrdest}/arch/${arch}
|
||||||
|
|
||||||
|
# needed for mv-debug
|
||||||
|
cp scripts/sign-file "${XBPS_WRAPPERDIR}"
|
||||||
|
|
||||||
|
# Remove helper binaries built for host,
|
||||||
|
# if generated files from the scripts/ directory need to be included,
|
||||||
|
# they need to be copied to ${hdrdest} before this step
|
||||||
|
if [ "$CROSS_BUILD" ]; then
|
||||||
|
make ${makejobs} ARCH=${subarch:-$arch} ${_cross} _mrproper_scripts
|
||||||
|
# remove host specific objects as well
|
||||||
|
find scripts -name '*.o' -delete
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy files necessary for later builds, like nvidia and vmware
|
||||||
|
cp Module.symvers ${hdrdest}
|
||||||
|
cp -a scripts ${hdrdest}
|
||||||
|
mkdir -p ${hdrdest}/security/selinux
|
||||||
|
cp -a security/selinux/include ${hdrdest}/security/selinux
|
||||||
|
mkdir -p ${hdrdest}/tools/include
|
||||||
|
cp -a tools/include/tools ${hdrdest}/tools/include
|
||||||
|
if [ -d "arch/${arch}/tools" ]; then
|
||||||
|
cp -a "arch/${arch}/tools" "${hdrdest}/arch/${arch}"
|
||||||
|
fi
|
||||||
|
cp -a kernel/time/timeconst.bc "${hdrdest}/kernel/time"
|
||||||
|
cp -a kernel/bounds.c "${hdrdest}/kernel"
|
||||||
|
mkdir -p "${hdrdest}/arch/x86/entry/syscalls"
|
||||||
|
cp -a arch/x86/entry/syscalls/syscall_32.tbl "${hdrdest}/arch/x86/entry/syscalls"
|
||||||
|
|
||||||
|
mkdir -p ${hdrdest}/arch/${arch}/kernel
|
||||||
|
cp arch/${arch}/Makefile ${hdrdest}/arch/${arch}
|
||||||
|
if [ "$subarch" = "i386" ]; then
|
||||||
|
mkdir -p ${hdrdest}/arch/x86
|
||||||
|
cp arch/x86/Makefile_32.cpu ${hdrdest}/arch/x86
|
||||||
|
fi
|
||||||
|
if [ "$arch" = "x86" ]; then
|
||||||
|
mkdir -p ${hdrdest}/arch/x86/kernel
|
||||||
|
cp arch/x86/kernel/asm-offsets.s ${hdrdest}/arch/x86/kernel
|
||||||
|
elif [ "$arch" = "arm64" ]; then
|
||||||
|
mkdir -p ${hdrdest}/arch/arm64/kernel
|
||||||
|
cp arch/arm64/kernel/asm-offsets.s ${hdrdest}/arch/arm64/kernel
|
||||||
|
cp -a arch/arm64/kernel/vdso ${hdrdest}/arch/arm64/kernel/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add headers for lirc package
|
||||||
|
# pci
|
||||||
|
for i in bt8xx cx88 saa7134; do
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/pci/${i}
|
||||||
|
cp -a drivers/media/pci/${i}/*.h ${hdrdest}/drivers/media/pci/${i}
|
||||||
|
done
|
||||||
|
# usb
|
||||||
|
for i in em28xx pwc; do
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/usb/${i}
|
||||||
|
cp -a drivers/media/usb/${i}/*.h ${hdrdest}/drivers/media/usb/${i}
|
||||||
|
done
|
||||||
|
# i2c
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/i2c
|
||||||
|
cp drivers/media/i2c/*.h ${hdrdest}/drivers/media/i2c
|
||||||
|
for i in cx25840; do
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/i2c/${i}
|
||||||
|
cp -a drivers/media/i2c/${i}/*.h ${hdrdest}/drivers/media/i2c/${i}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add md headers
|
||||||
|
mkdir -p ${hdrdest}/drivers/md
|
||||||
|
cp drivers/md/*.h ${hdrdest}/drivers/md
|
||||||
|
|
||||||
|
# Add inotify.h
|
||||||
|
mkdir -p ${hdrdest}/include/linux
|
||||||
|
cp include/linux/inotify.h ${hdrdest}/include/linux
|
||||||
|
|
||||||
|
# Add wireless headers
|
||||||
|
mkdir -p ${hdrdest}/net/mac80211/
|
||||||
|
cp net/mac80211/*.h ${hdrdest}/net/mac80211
|
||||||
|
|
||||||
|
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/dvb-frontends
|
||||||
|
cp drivers/media/dvb-frontends/lgdt330x.h \
|
||||||
|
${hdrdest}/drivers/media/dvb-frontends/
|
||||||
|
cp drivers/media/i2c/msp3400-driver.h ${hdrdest}/drivers/media/i2c/
|
||||||
|
|
||||||
|
# add dvb headers
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/usb/dvb-usb
|
||||||
|
cp drivers/media/usb/dvb-usb/*.h ${hdrdest}/drivers/media/usb/dvb-usb/
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/dvb-frontends
|
||||||
|
cp drivers/media/dvb-frontends/*.h ${hdrdest}/drivers/media/dvb-frontends/
|
||||||
|
mkdir -p ${hdrdest}/drivers/media/tuners
|
||||||
|
cp drivers/media/tuners/*.h ${hdrdest}/drivers/media/tuners/
|
||||||
|
|
||||||
|
# Add xfs and shmem for aufs building
|
||||||
|
mkdir -p ${hdrdest}/fs/xfs/libxfs
|
||||||
|
mkdir -p ${hdrdest}/mm
|
||||||
|
cp fs/xfs/libxfs/xfs_sb.h ${hdrdest}/fs/xfs/libxfs/xfs_sb.h
|
||||||
|
|
||||||
|
# Add objtool binary, needed to build external modules with dkms
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
x86_64*)
|
||||||
|
mkdir -p ${hdrdest}/tools/objtool
|
||||||
|
cp tools/objtool/objtool ${hdrdest}/tools/objtool
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Extract debugging symbols and compress modules
|
||||||
|
msg_normal "$pkgver: extracting debug info and compressing modules, please wait...\n"
|
||||||
|
install -Dm644 vmlinux ${DESTDIR}/usr/lib/debug/boot/vmlinux-${_kernver}
|
||||||
|
(
|
||||||
|
cd ${DESTDIR}
|
||||||
|
export DESTDIR
|
||||||
|
export SIGN_FILE="${XBPS_WRAPPERDIR}/sign-file sha512 ${wrksrc}/certs/signing_key.pem ${wrksrc}/certs/signing_key.x509"
|
||||||
|
find ./ -name '*.ko' -print0 | \
|
||||||
|
xargs -0r -n1 -P ${XBPS_MAKEJOBS} ${FILESDIR}/mv-debug
|
||||||
|
)
|
||||||
|
# ... and run depmod again.
|
||||||
|
depmod -b ${DESTDIR}/usr -F System.map ${_kernver}
|
||||||
|
rm -f ${DESTDIR}/lib
|
||||||
|
}
|
||||||
|
|
||||||
|
linux6.13-headers_package() {
|
||||||
|
preserve=yes
|
||||||
|
nostrip=yes
|
||||||
|
noshlibprovides=yes
|
||||||
|
short_desc+=" - source headers for 3rd party modules"
|
||||||
|
pkg_install() {
|
||||||
|
vmove usr/src
|
||||||
|
vmove usr/lib/modules/${_kernver}/build
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
linux6.13-dbg_package() {
|
||||||
|
preserve=yes
|
||||||
|
nostrip=yes
|
||||||
|
noverifyrdeps=yes
|
||||||
|
noshlibprovides=yes
|
||||||
|
repository=debug
|
||||||
|
short_desc+=" - debugging symbols"
|
||||||
|
pkg_install() {
|
||||||
|
vmove usr/lib/debug
|
||||||
|
vmove "boot/System.map-${_kernver}"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue