Skip to content

Commit 7a99879

Browse files
[Nexthop] Add FBOSS-OSS Kernel
Summary: Here an RPM specfile and surrounding machinery is added to build an FBOSS-compatible Linux kernel from vanilla Linux sources which is compatible with CentOS. On top of this reference configuration, additional local changes from `fboss-local-overrides.yaml` are applied prior to building. To use, inside an FBOSS build container, run: # fboss-image/kernel/scripts/build_kernel.sh 6.4.3 out ... Kernel RPM build complete! Output files: out/x86_64/kernel-modules-6.4.3-1.fboss.el9.x86_64.rpm out/x86_64/kernel-headers-6.4.3-1.fboss.el9.x86_64.rpm out/x86_64/kernel-core-6.4.3-1.fboss.el9.x86_64.rpm out/x86_64/kernel-devel-6.4.3-1.fboss.el9.x86_64.rpm out/BUILD/linux-6.4.3/kernel/config_data.gz out/SRPMS/kernel-6.4.3-1.fboss.el9.src.rpm out/kernel-6.4.3.rpms.tar.gz out/kernel-6.4.3-1.fboss.el9.src.rpm out/RPMS/x86_64/kernel-modules-6.4.3-1.fboss.el9.x86_64.rpm out/RPMS/x86_64/kernel-headers-6.4.3-1.fboss.el9.x86_64.rpm out/RPMS/x86_64/kernel-core-6.4.3-1.fboss.el9.x86_64.rpm out/RPMS/x86_64/kernel-devel-6.4.3-1.fboss.el9.x86_64.rpm # ls fboss-image/kernel/dist/build-6.4.3/out/ kernel-6.4.3-1.fboss.el9.src.rpm kernel-core-6.4.3-1.fboss.el9.x86_64.rpm kernel-headers-6.4.3-1.fboss.el9.x86_64.rpm kernel-6.4.3.rpms.tar.gz kernel-devel-6.4.3-1.fboss.el9.x86_64.rpm kernel-modules-6.4.3-1.fboss.el9.x86_64.rpm
1 parent a81ce54 commit 7a99879

File tree

9 files changed

+6879
-0
lines changed

9 files changed

+6879
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# FBOSS Local Configuration Overrides
2+
#
3+
# Copyright (c) 2004-present, Facebook, Inc.
4+
# All rights reserved.
5+
#
6+
# This source code is licensed under the BSD-style license found in the
7+
# LICENSE file in the root directory of this source tree. An additional grant
8+
# of patent rights can be found in the PATENTS file in the same directory.
9+
#
10+
# This file contains local overrides to the Meta fboss-reference.config
11+
# organized by common settings and kernel version-specific settings
12+
13+
# Common overrides that apply to all kernel versions
14+
# Add config lines here
15+
common_overrides: |
16+
# These changes disable settings in Meta reference config that don't exist in standard linux source
17+
CONFIG_BOOT_CONFIG_EMBED_FILE=""
18+
CONFIG_SYSTEM_TRUSTED_KEYS=""
19+
20+
# Drivers for Golden Eagle platform
21+
CONFIG_EEPROM_AT24=m
22+
CONFIG_SENSORS_TMP464=m
23+
CONFIG_SENSORS_LM90=m
24+
CONFIG_SENSORS_PMBUS=m
25+
CONFIG_SENSORS_ADM1266=m
26+
CONFIG_SENSORS_ISL68137=m
27+
CONFIG_AD525X_DPOT=m
28+
CONFIG_AD525X_DPOT_I2C=m
29+
CONFIG_NET_VENDOR_AMD=y
30+
CONFIG_AMD_XGBE=m
31+
CONFIG_AMD_XGBE_DCB=y
32+
CONFIG_AMD_XGBE_HAVE_ECC=y
33+
CONFIG_X86_AMD_PLATFORM_DEVICE=y
34+
CONFIG_I2C_DESIGNWARE_PLATFORM=y
35+
CONFIG_I2C_DESIGNWARE_PCI=y
36+
CONFIG_ACPI_SPCR_TABLE=y
37+
CONFIG_SERIAL_8250_DW=m
38+
CONFIG_SERIAL_8250_DWLIB=m
39+
CONFIG_SERIAL_8250_PNP=y
40+
41+
42+
# Kernel version overrides
43+
# Add kernel version as key, then add config lines in the value
44+
kernel_version_overrides:
45+
"6.4.3": |
46+
# Specific overrides for kernel 6.4.3
47+
# Add any 6.4.3-specific config lines here
48+
49+
"6.11.1": |
50+
# Specific overrides for kernel 6.11.1
51+
# Add any 6.11.1-specific config lines here

0 commit comments

Comments
 (0)