Commit Graph

18 Commits

Author SHA1 Message Date
Jianping Liu 17dfacb539 dist,Makefile: inherit the existing value of the DISABLED variable
Change "DISABLED = ofed" to "override DISABLED := ofed $(DISABLED)".

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-09-25 19:15:34 +08:00
Jianping Liu 9689e83ae9 dist,Makefile: use override when set DISABLED again
Using override and add space character, let the code more readable.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-09-24 21:55:41 +08:00
Jianping Liu 9ff04f78b7 dist,Makefile: generic-debug config only build kernel rpm
We intend to archive kernle-debug rpm in yum. Release kernel will
build perf/tools/bpf-tools rpm, to avoid kernle-debug build the same
rpm, disable them.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-09-24 20:17:57 +08:00
Jianping Liu 6325da052c dist: using DIST to judge dist release
In dist/Makefile, KDIST is null. So, let's using DIST to judge dist
release.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
2024-09-23 18:47:39 +08:00
Jianping Liu 4eb6f1908f dist: not integrate mlnx commercial drivers in oc9
Some oc9 partners have nic driver, and the driver support RDMA and
the driver only compatble with kernel native infiniband.

If integrate mlnx driver, oc9 partners RDMA nic driver cloud not run.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-08-27 19:01:43 +08:00
Jianping Liu 3a97f7bf0d dist: provide mlnx-ofed-dist rpm
Provide mlnx-ofed-dist-%{kernel_unamer}.rpm, which include the complete
set of MLNX drivers, such as mlnx's user space tools / libs.

Certainly, the kernel modules in mlnx-ofed-dist-%{kernel_unamer}.rpm have
been signed.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-08-22 11:42:59 +08:00
Jianping Liu 703faa70ad drivers,dist: add mlnx commercial quality drivers
Add mlnx driver of version MLNX_OFED_LINUX-23.10-3.2.2.0 .

Note: MLNX_OFED_LINUX-23.10-3.2.2.0-rhel9.4-x86_64.tgz have a sub tgz
which named MLNX_OFED_SRC-23.10-3.2.2.0.tgz. In MLNX_OFED_SRC-23.10-3.2.2.0.tgz,
there is mlnx-ofa_kernel-23.10-OFED.23.10.3.2.2.1.src.rpm .

Compile mlnx-ofa_kernel-23.10-OFED.23.10.3.2.2.1.src.rpm in ts4 mock env
(koji task using the env) will have lots of errors. So, don't compile
mlnx-ofa_kernel-23.10-OFED.23.10.3.2.2.1.src.rpm as a independent rpm.

MLNX_OFED_LINUX-23.10-3.2.2.0-rhel9.4-x86_64.tgz is too big, it's more
than 220MB. So, download it at first, and then integrate it into kernel
src rpm.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-08-20 19:05:53 +08:00
Jianping Liu 8b72acfebf dist/Makefile: add correct URL info when build tl4 rpm
In dist/Makefile, the VENDOR and URL are filled by OpenCloudOS info,
Change them to tencentos info when building tl4 rpm.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
Reviewed-by: Yongliang Gao <leonylgao@tencent.com>
2024-07-30 15:01:25 +08:00
Kairui Song 85c40d2d2c dist: tk: enable keypkg by default
For non-tagged build, keypkg contains the build time key. Non-tagged
build are not suppose to be used for production servers so this only
making debugging easier.

For tagged koji build, keypkg contains a dummy empty key, sign-file is
hooked by tencent-kernel-signer so it's safe to do so too.

If for some special purpose the keypkg shouldn't be exposed to users,
just don't add the kernel-signing-keys to repo.

Signed-off-by: Kairui Song <kasong@tencent.com>
2024-07-25 09:15:50 +00:00
Kairui Song b06f941caa dist: don't parse kernel version unless needed
RPM version parsing need to search for git tag, which is slow if the
repo is skewed. Skip that if not needed.

Signed-off-by: Kairui Song <kasong@tencent.com>
2024-05-24 17:42:04 +08:00
Kairui Song 7c237644c8 dist: stop using --show-toplevel for speed up
Dist folder struct is very stable now, no need to use git for retrieving
top dir path.

This alse clean up git usage so dist will be able to build out of repo
in the future.

Signed-off-by: Kairui Song <kasong@tencent.com>
2024-05-24 16:43:15 +08:00
Jianping Liu 5f0491ad7c Loongarch: support loongarch and add kvm support for loongarch
Merge pull request !128 from lixianglai/next
2024-04-12 20:51:12 +08:00
Ming Wang 5ae49db3f0 dist: loongarch: add make dist support for loongarch
Upstream: no

Adds LoongArch64 processor architecture support in the Makefile.
Also add a soft link to the loongson3_defconfig config file.

Signed-off-by: Ming Wang <wangming01@loongson.cn>
2024-04-12 20:49:37 +08:00
Jianping Liu 2159f357c8 dist: only disable ofed if not generic-release
EKS need perf rpm, so only disable ofed if not generic-release.

Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
2024-04-08 14:04:47 +08:00
Kairui Song 690dae3cfe dist: disable non kernel pkg on non default config
Upstream: no

Signed-off-by: Kairui Song <kasong@tencent.com>
2024-04-03 16:58:46 +08:00
Kairui Song f1384ba706 dist: fix build failure after tarname change
Upstream: no
Signed-off-by: Kairui Song <kasong@tencent.com>
2024-03-02 03:21:59 +08:00
Kairui Song 0fe106267c dist: use a fixed tar base name for spec
Upstream: no

Dynamic tar name is causing trouble if distro want to bump suffix
version and rebuild, so fix tarname here.

Signed-off-by: Kairui Song <kasong@tencent.com>
2024-03-01 17:34:05 +08:00
Kairui Song cf5d03932d dist: initial support
Upstream: no
Check-Patch: no

Imported from OCKS-2303:
https://github.com/openCloudOS/OpenCloudOS-Kernel-Stream/tree/ocks-2303

This build system is re-written from scratch except some code snips:

- Compatible with systems that were using TK kernel.
- Compatible with RHEL-like systems.
- Resolved tons of hacks and workaround from TK/RHEL. (leftovers are
  marked as TODO)
- All RPM builtin debuginfo utilities are well leveraged (buildid
  re-generate, dwarf compression, etc...)
- For bpftool and BTF info extracting, this package will try self-bootstrap
  and don't depend on host kernel during build time.
- Well commented, and targeted for maximum compatibility.
- Integrated config management system.
- Integrated with version management system.
- Provides many utils.
- Cross-build and cross packaging, also cross kABI checking/updating.
- ...

To start, just run:
make dist-rpm

And for help, just run:
make dist-help

It will build following packages:
  kernel
    Main meta package, empty, depend on kernel-core and kernel-modules
  kernel-core
    The package contains kernel image and core modules, able to boot
    all machines, all kinds of VMs etc.
  kernel-modules
    Contains extra modules and drivers, most modules that are not
    required for VMs and common hardware should go into this pacakge.
  kernel-devel
    Devel files for building custom kernel modules.
  kernel-headers
    Kernel headers.
  perf
  python3-perf
    Userspace tool perf.
  kernel-tools
  kernel-tools-libs
  kernel-tools-libs-devel
    Userspace tools like cpupower, slabinfo, etc...
  bpftool
    bpftool
  kernel-debuginfo
  kernel-debuginfo-common
  perf-debuginfo
  python3-perf-debuginfo
  kernel-tools-debuginfo
  bpftool-debuginfo
    All kinds of debuginfo

Signed-off-by: Kairui Song <kasong@tencent.com>
2023-12-12 15:56:34 +08:00