Commit graph

61 commits

Author SHA1 Message Date
jiangcuo
c0288c6838 fix zfs module 2023-10-31 23:30:03 +08:00
jiangcuo
414517a6a5 Correct the wrong dtb installation path
Add more  device driver
2023-03-23 16:18:18 +00:00
Jiang Cuo
929edd8693 * up to linux 6.1.19 generic 2023-03-15 00:18:56 +08:00
jiangcuo
66b30e4b1e
Update rules 2023-03-14 11:06:37 +08:00
Jiangcuo
51e7606bef delete some file 2023-02-09 14:52:49 +08:00
Fabian Mastenbroek
97aa3e3f5b
Use annotations for generating Ubuntu config
This change updates the build script to use the annotations script from
Ubuntu to generate the kernel configuration. Previously, we used the
pre-generated configuration files available in the mainline crack
builds. However, the team has stopped generating these in favor of the
annotations script.
2022-12-17 16:54:30 +00:00
Fabian Mastenbroek
a3db7c8863
Use olddefconfig for configuring kernel
This change updates the build script to use olddefconfig to use the old
.config file in the directory and use default values for unspecified
configuration options.

Fixes #335
2022-11-03 22:46:50 +01:00
Fabian Mastenbroek
f6ea761a45
Remove use of headers_check
This change removes the use of headers_check from the build script,
since this target is removed from Linux since v5.15.

See 4fbce81933
2022-03-21 16:53:50 +01:00
Fabian Mastenbroek
138e5893be
Reduce length of kernel version
This change reduces the length of the kernel version that is set by the
build process. We find that the most recent version is too long for the
kernel and causes certain kernel detection processes to fail.

We also remove the concept of build flavor or build profile. These
concepts should be reflected in the Debian package name and version
instead of separately in the kernel version.
2021-11-28 15:13:01 +01:00
Fabian Mastenbroek
c2ad95159b
Include objtool in header package
This change updates the build script to include objtool in the header
package, which is necessary when building some out-of-tree modules (such as
the NVIDIA driver)
2021-11-21 13:27:00 +01:00
Fabian Mastenbroek
efb8844e8c
Remove kernel release from kernel version
This change removes the kernel release from the full kernel version.
This is used by Proxmox to identify differences in the kernel ABI.
However, since this project does not track these changes, we remove the
kernel release number altogether.
2021-09-05 11:56:17 +02:00
Fabian Mastenbroek
2bb89ae564
Build perf tools using Python 3
This change updates the Debian build rules to build the Linux perf tools
using Python 3 as opposed to Python 2.7 that is currently specified in
the rules. Python 2.7 was already dropped from the build requirements,
but this line was not updated in the process.
2021-07-27 17:00:52 +02:00
Fabian Mastenbroek
e1a0974313
Include documentation scripts in header package
This change adds the documentation scripts located in Documentation of
the Linux source root to the header package, as they are necessary for
some modules to build.
2021-05-03 10:25:29 +02:00
Fabian Mastenbroek
888e5a6f4d
Include necessary Makefiles in header package
This change adds the necessary Makefiles in the header package.
2021-05-02 15:38:48 +02:00
Fabian Mastenbroek
3650d4343a
Support in-tree builds
This change updates the build code to support in-tree builds. This is
easier to manage for CI builds and reduces the amount of IO operations
necessary for the build process.
2021-04-19 14:47:00 +02:00
Fabian Mastenbroek
7d07970695
Move common definitions in separate file 2021-04-19 12:34:45 +02:00
Fabian Mastenbroek
65aa877bb0
Simplify header packaging process
This change simplifies the process for packaging the Linux headers.
Instead of copying the Linux tree and building the headers separately,
this change just installs the headers during the install process only.
2021-04-18 18:09:40 +02:00
Fabian Mastenbroek
d8dafbe5c4
Build ZFS directly from upstream
This change updates the build process to directly build the kernel from
upstream sources, as opposed to requiring the Proxmox zfsonlinux
repository to build the patched sources.
2021-04-18 13:34:08 +02:00
Fabian Mastenbroek
b3d615e84d
Rename package back to pve-kernel
This change renames the package again to pve-kernel. Instead, we now
differentiate the package based on the extra version (which is suffixed
with -edge).
2021-04-18 11:46:33 +02:00
Fabian Mastenbroek
5e900bd9f3
Manage kernel patches with Quilt 2021-04-18 11:24:34 +02:00
Fabian Mastenbroek
972a1ef601
Switch to debhelper to orchestrate builds 2021-03-28 21:34:25 +02:00
Fabian Mastenbroek
e4c7b4be97
Move Debian templates to separate directory 2021-03-28 21:24:12 +02:00
Fabian Mastenbroek
50a715df41
Move kernel configuration to file
This change moves the kernel build options to a separate file as opposed
to encoding it directly in a file.
2021-03-28 20:47:21 +02:00
Fabian Mastenbroek
1d84103cd8
Remove ABI and firmware checking scripts
This change removes the ABI and firmware checking scripts from the
repository since they are currently not being used in the pipeline.
2021-03-15 20:37:33 +01:00
Fabian Mastenbroek
04c4556be2
Track Proxmox upstream
This change merges the latest changes from the Proxmox pve-kernel
repository into the master branch.
2021-03-15 18:38:06 +01:00
Thomas Lamprecht
68996764bb d/rules: disable CONFIG_SYSTEM_TRUSTED_KEYS config
we do not use module signing currently.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 77470417dbd11602d288f7fc473f59d9118a4e61)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-02 13:44:02 +01:00
Fabian Mastenbroek
3f2686df8a
Fix packaging for module.lds
This change adds a workaround that includes again module.lds in the
kernel headers, which is necessary for building dynamic kernel modules.

See https://github.com/Mange/rtl8192eu-linux-driver/issues/205#issuecomment-736366347
for more information.

Fixes #48
2021-02-17 15:46:34 +01:00
Stoiko Ivanov
dd717c04b0 add zzstd.ko to zfs install
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-01-13 14:16:31 +01:00
Fabian Mastenbroek
f1522b252d
Ignore errors occuring during copy
This change ignores errors that occur during copying of the kernel
sources. These may appear when another process is working in that
directory concurrently.
2020-11-12 19:23:40 +01:00
Fabian Mastenbroek
0cbf4f257c
Encode micro architecture in version number
This change moves the micro architecture of the package from the package
name to the packae version to prevent issues with the kernel headers.
2020-08-09 13:45:51 +02:00
Fabian Mastenbroek
02f139d5e2
Merge branch 'master' of upstream into v5.6.x 2020-07-07 14:31:57 +02:00
Fabian Grünbichler
f6d3198e5d fix #2814: config: disable lockdown
since it prevents boot with our current way of building ZFS modules in
case a system is booted with secureboot enabled.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-06-22 14:36:45 +02:00
Thomas Lamprecht
924ae54c14 add pve-kernel-libc-dev headers package
This was long overdue, allows to access the full feature set of our
kernel for some tools using the Linux API directly.

Packaging mostly taken from Debian[0]

[0]: https://salsa.debian.org/kernel-team/linux/-/blob/debian/4.19.118-2/debian/rules.real#L367

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-By: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-28 14:07:11 +02:00
Thomas Lamprecht
ee4a13eac3 d/rules: enable CIFS_SMB_DIRECT
requested by
https://forum.proxmox.com/threads/any-reason-why-cifs_smb_direct-is-disabled-in-pve-kernels-cifs-module.69925/
and as it's now marked as stable I'd say we can enable it

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-19 15:46:27 +02:00
Thomas Lamprecht
bdeaa74c3a config: make vfio-pci and {x,e,o,u}hci modules
Since 5.4 Ubuntu makes vfio-pci builtin to allow vfio-pci to be bound
to certain devices during boot, preventing other drivers from binding
them. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1770845

Part of why this was done was because it mirrored Arch Linux choice
in the past, but there where some issues and Arch Linux went back to
modules again but this time making xhci_hcd and similar ?hci systems
modules too. Tries to mirror the values used in the current Arch
Linux config [0].

[0]: https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux&id=96121a8d6468c7067eb3759f6ca5e82f5f914f38

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-13 16:28:05 +02:00
Fabian Mastenbroek
277c291e90
Add build variants for multiple micro architectures 2020-04-30 00:14:05 +02:00
Fabian Mastenbroek
2b91eaf97f
Introduce pve-edge-kernel package
This change adds a Debian package for customized Proxmox kernels.
2020-04-28 20:05:57 +02:00
Thomas Lamprecht
b481f89770 disable alsa snd pcspkr module
The PC speaker (beeper) can only be managed by one module, and there
are two which could do so. The very basic INPUT_PCSPKR, and the more
advanced SND_PCSP which allows it to be used as primitive ALSA
soundcard, which for Proxmox Server projects, and all modern
workstations is not much of use.

As they both were aliased to the "pcspkr" module name, and used the
same internal driver name (being a replacment of the other), one
would get the following error message when both are loaded:
"Error: Driver 'pcspkr' is already registered, aborting..."
in the kernel log. This happens as by default both are tried to get
loaded. We do not want the more complex ALSA one, so disable that.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-12 15:31:10 +01:00
Thomas Lamprecht
eb6667c98c fix #2448: compile ISO8859-1 NLS as built-in
Allows to mount VFAT devices even if the currently running kernel was
removed before any VFAT, or other FS using the default Native
Language Support module was mounted during the current uptime.

This then could break updating the ESP partitions, which are mounted
with VFAT in a postrm triggered step - so at a time where the current
/lib/modules/... was already removed, and so the NLS could not get
loaded.

While there are a lot of different NLS, our kernel config has:
> CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

So compile that module as built-in.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-05 12:08:29 +01:00
Thomas Lamprecht
ef257cb1b2 config: enable CONFIG_HYPERV
mostly for the PMG as it could run in a HyperV based hypervisor

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-20 11:04:37 +02:00
Stoiko Ivanov
1de1353133 adapt debian/rules to ZFS 0.8 structure
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 14:59:47 +02:00
Thomas Lamprecht
d6d2efea0c replace obsoleted 'silentoldconfig' kernel make target with 'syncconfig'
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-22 15:42:57 +02:00
Thomas Lamprecht
1e51973430 use in tree igb and e1000 module for now
the current OOT are not compatible with 5.0 and we want to obsolete
them anyway sooner or later

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-22 15:42:57 +02:00
Thomas Lamprecht
b5e86998ea use intree NIC driver for 10G IXGBE drivers
no problems had been reported with it, in contrary to igb and e1000e
so use the newer and better supported in tree driver.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-07-04 15:42:14 +02:00
Thomas Lamprecht
515973635b renenable out-of-tree intel ethernet driver (e1000e, igb, ixgbe)
There where just to much issues with the 4.15 in tree drivers for our
users [1]. The updated igb and ixgbe drivers are compatible with
4.15, the e1000e driver needed to be ported to the new internal
kernel timer API, which is pretty straight forward.

[1]: https://forum.proxmox.com/threads/4-15-based-test-kernel-for-pve-5-x-available.42097/page-5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-08 11:58:18 +02:00
Thomas Lamprecht
73cf4c7faf d/control: automatically replace linux tools maj.min version
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-05-30 08:25:19 +02:00
Stoiko Ivanov
875f9e81f4 d/rules: don't remove perf.1 manpage
the one in linux-base refers to the versioned one

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-05-30 08:24:21 +02:00
Stoiko Ivanov
86c0946a20 d/rules: add version to perf man pages
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-05-30 08:24:16 +02:00
Stoiko Ivanov
5fd5ec0e77 refactor variable names and remove hardcoded major.minor version
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-05-30 08:24:13 +02:00
Fabian Grünbichler
d72363003b build: refactor header build
to also include tools and scripts like objtool, which are now needed for
external module building

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-09 13:12:07 +02:00