summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/reviewers.yml20
-rw-r--r--.github/workflows/auto-author-assign.yml2
-rw-r--r--Jenkinsfile10
-rw-r--r--Makefile72
l---------build-vyos-image1
l---------configure1
-rw-r--r--data/architectures/amd64.toml15
-rw-r--r--data/architectures/arm64.toml3
-rw-r--r--data/architectures/armhf.toml2
-rw-r--r--data/build-flavors/README.md76
-rw-r--r--data/build-flavors/azure-iso.toml5
-rw-r--r--data/build-flavors/edgecore.toml46
-rw-r--r--data/build-flavors/iso.toml14
-rw-r--r--data/build-flavors/xcpng.toml6
-rw-r--r--data/build-types/development.toml8
-rw-r--r--data/build-types/release.toml0
-rw-r--r--data/defaults.json17
-rw-r--r--data/defaults.toml20
-rw-r--r--data/generic-arm64.json10
-rw-r--r--data/live-build-config/archives/current.pref.chroot3
-rwxr-xr-xdata/live-build-config/hooks/live/17-gen_initramfs.chroot13
-rwxr-xr-xdata/live-build-config/hooks/live/18-enable-disable_services.chroot1
-rw-r--r--data/package-lists/vyos-arm.list.chroot1
-rw-r--r--data/package-lists/vyos-dev.list.chroot6
-rw-r--r--data/package-lists/vyos-x86.list.chroot8
-rw-r--r--docker/Dockerfile74
-rw-r--r--packages/.gitignore1
-rw-r--r--packages/dropbear/.gitignore5
-rw-r--r--packages/fastnetmon/.gitignore6
-rw-r--r--packages/fastnetmon/Jenkinsfile2
-rw-r--r--packages/frr/.gitignore5
-rw-r--r--packages/frr/Jenkinsfile2
-rw-r--r--packages/iproute2/.gitignore5
-rw-r--r--packages/iproute2/Jenkinsfile2
-rw-r--r--packages/iproute2/patches/0001-erspan-erspan6-fix-JSON-output.patch56
-rw-r--r--packages/keepalived/.gitignore5
-rw-r--r--packages/linux-kernel/.gitignore4
-rw-r--r--packages/linux-kernel/Jenkinsfile6
-rw-r--r--packages/linux-kernel/arch/x86/configs/vyos_defconfig570
-rwxr-xr-xpackages/linux-kernel/build-accel-ppp.sh1
-rwxr-xr-xpackages/linux-kernel/build-linux-firmware.sh40
-rw-r--r--packages/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch55
-rw-r--r--packages/linux-kernel/patches/kernel/0002-inotify-support-for-stackable-filesystems.patch17
-rw-r--r--packages/minisign/.gitignore5
-rw-r--r--packages/ndppd/.gitignore5
-rw-r--r--packages/netfilter/.gitignore4
-rw-r--r--packages/netfilter/Jenkinsfile52
-rw-r--r--packages/opennhrp/.gitignore5
-rw-r--r--packages/openvpn-otp/.gitignore5
-rw-r--r--packages/owamp/.gitignore5
-rw-r--r--packages/pam_tacplus/.gitignore2
-rw-r--r--packages/pam_tacplus/Jenkinsfile34
-rwxr-xr-xpackages/pam_tacplus/build.sh15
-rw-r--r--packages/pyhumps/.gitignore1
-rw-r--r--packages/pyhumps/Jenkinsfile30
-rw-r--r--packages/sstp-client/.gitignore1
-rw-r--r--packages/sstp-client/Jenkinsfile30
-rw-r--r--packages/strongswan/.gitignore5
-rwxr-xr-xpackages/telegraf/build.sh6
-rw-r--r--packages/wide-dhcpv6/.gitignore5
-rw-r--r--packages/wide-dhcpv6/patches/0024-bind-to-single-socket.patch17
-rwxr-xr-xscripts/build-config168
-rwxr-xr-xscripts/build-flavour37
-rwxr-xr-xscripts/build-vyos-image497
-rwxr-xr-xscripts/check-config38
-rwxr-xr-xscripts/check-qemu-install10
-rwxr-xr-xscripts/copy-image7
-rwxr-xr-xscripts/live-build-config123
-rwxr-xr-xscripts/query-json42
-rw-r--r--scripts/vyos_build_defaults.py (renamed from scripts/defaults.py)25
-rw-r--r--scripts/vyos_build_utils.py (renamed from scripts/util.py)20
-rw-r--r--vars/buildPackage.groovy1
72 files changed, 1457 insertions, 954 deletions
diff --git a/.github/reviewers.yml b/.github/reviewers.yml
index 66c99e90..a1647d20 100644
--- a/.github/reviewers.yml
+++ b/.github/reviewers.yml
@@ -1,19 +1,3 @@
---
-docker-vyos/**:
- - sever-sever
- - DmitriyEshenko
-
-vars/**:
- - c-po
- - UnicronNL
-
-.github/**:
- - c-po
- - dmbaturin
- - UnicronNL
-
-'**':
- - c-po
- - dmbaturin
- - jestabro
- - UnicronNL
+"**/*":
+ - team: reviewers
diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml
index 81134206..a769145f 100644
--- a/.github/workflows/auto-author-assign.yml
+++ b/.github/workflows/auto-author-assign.yml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Request review based on files changes and/or groups the author belongs to
- uses: shufo/auto-assign-reviewer-by-files@v1.1.1
+ uses: shufo/auto-assign-reviewer-by-files@v1.1.4
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: .github/reviewers.yml
diff --git a/Jenkinsfile b/Jenkinsfile
index 187089ad..9d6e6539 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -81,6 +81,9 @@ pipeline {
triggeredBy cause: "UserIdCause"
}
}
+ environment {
+ PYTHONDONTWRITEBYTECODE = 1
+ }
steps {
script {
// Display Git commit Id used with the Jenkinsfile on the Job "Build History" pane
@@ -96,12 +99,11 @@ pipeline {
VYOS_VERSION = env.BASE_VERSION + sh(returnStdout: true, script: 'date -u +%Y%m%d%H%M').toString().trim()
sh """
- ./configure \
+ sudo --preserve-env ./build-vyos-image \
--build-by "${params.BUILD_BY}" \
--debian-mirror http://deb.debian.org/debian/ \
--build-type release \
- --version "${VYOS_VERSION}" ${CUSTOM_PACKAGES}
- sudo make iso
+ --version "${VYOS_VERSION}" ${CUSTOM_PACKAGES} iso
"""
if (fileExists('build/live-image-amd64.hybrid.iso') == false) {
@@ -174,7 +176,7 @@ pipeline {
// Trigger GitHub action which will re-build the static community website which
// also holds the AWS download links to the generated ISO images
- withCredentials([string(credentialsId: 'GitHub-API-Token', variable: 'TOKEN')]) {
+ withCredentials([string(credentialsId: 'vyos.net-build-trigger-token', variable: 'TOKEN')]) {
sh '''
curl -X POST --header "Accept: application/vnd.github.v3+json" \
--header "authorization: Bearer $TOKEN" --data '{"ref": "production"}' \
diff --git a/Makefile b/Makefile
index 2b57ff79..74b17c7c 100644
--- a/Makefile
+++ b/Makefile
@@ -7,34 +7,11 @@ all:
@echo "Make what specifically?"
@echo "The most common target is 'iso'"
-.PHONY: check_build_config
-check_build_config:
- @scripts/check-config
-
-.PHONY: prepare
-prepare:
- @set -e
- @echo "Starting VyOS ISO image build"
-
- rm -rf build/config/*
- mkdir -p build/config
- cp -r data/live-build-config/* build/config/
- @scripts/live-build-config
- @scripts/import-local-packages
-
- @scripts/make-version-file
-
- @scripts/build-flavour
-
.PHONY: iso
.ONESHELL:
-iso: check_build_config clean prepare
- @echo "It's not like I'm building this specially for you or anything!"
- cd $(build_dir)
+iso: clean
set -o pipefail
- lb build 2>&1 | tee build.log; if [ $$? -ne 0 ]; then exit 1; fi
- cd ..
- @scripts/copy-image
+ @./build-vyos-image iso
exit 0
.PHONY: prepare-package-env
@@ -44,50 +21,6 @@ prepare-package-env:
@scripts/pbuilder-config
@scripts/pbuilder-setup
-.PHONY: AWS
-.ONESHELL:
-AWS: clean prepare
- @set -e
- @echo "It's not like I'm building this specially for you or anything!"
- mkdir -p build/config/includes.chroot/etc/cloud/cloud.cfg.d
- cp tools/cloud-init/AWS/90_dpkg.cfg build/config/includes.chroot/etc/cloud/cloud.cfg.d/
- cp tools/cloud-init/AWS/cloud-init.list.chroot build/config/package-lists/
- cp -f tools/cloud-init/AWS/config.boot.default build/config/includes.chroot/opt/vyatta/etc/
- cd $(build_dir)
- lb build 2>&1 | tee build.log
- cd ..
- @scripts/copy-image
-
-.PHONY: vep4600
-.ONESHELL:
-vep4600: check_build_config clean prepare
- @set -e
- @echo "It's not like I'm building this specially for you or anything!"
- mkdir -p build/config/includes.chroot/etc/systemd/network
- mkdir -p build/config/includes.chroot/usr/share/initramfs-tools/hooks
- cp tools/dell/90-vep.chroot build/config/hooks/live/
- cp tools/dell/vep4600/*.link build/config/includes.chroot/etc/systemd/network/
- cp tools/dell/vep-hook build/config/includes.chroot/usr/share/initramfs-tools/hooks/
- cd $(build_dir)
- lb build 2>&1 | tee build.log
- cd ..
- @scripts/copy-image
-
-.PHONY: vep1400
-.ONESHELL:
-vep1400: check_build_config clean prepare
- @set -e
- @echo "It's not like I'm building this specially for you or anything!"
- mkdir -p build/config/includes.chroot/etc/systemd/network
- mkdir -p build/config/includes.chroot/usr/share/initramfs-tools/hooks
- cp tools/dell/90-vep.chroot build/config/hooks/live/
- cp tools/dell/vep1400/*.link build/config/includes.chroot/etc/systemd/network/
- cp tools/dell/vep-hook build/config/includes.chroot/usr/share/initramfs-tools/hooks/
- cd $(build_dir)
- lb build 2>&1 | tee build.log
- cd ..
- @scripts/copy-image
-
.PHONY: checkiso
.ONESHELL:
checkiso:
@@ -125,6 +58,7 @@ testraid: checkiso
.ONESHELL:
clean:
@set -e
+ mkdir -p $(build_dir)
cd $(build_dir)
lb clean
diff --git a/build-vyos-image b/build-vyos-image
new file mode 120000
index 00000000..360be935
--- /dev/null
+++ b/build-vyos-image
@@ -0,0 +1 @@
+scripts/build-vyos-image \ No newline at end of file
diff --git a/configure b/configure
deleted file mode 120000
index bb1734ea..00000000
--- a/configure
+++ /dev/null
@@ -1 +0,0 @@
-scripts/build-config \ No newline at end of file
diff --git a/data/architectures/amd64.toml b/data/architectures/amd64.toml
new file mode 100644
index 00000000..abfec53a
--- /dev/null
+++ b/data/architectures/amd64.toml
@@ -0,0 +1,15 @@
+additional_repositories = [
+ "deb [arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/3004 bullseye main",
+ "deb [arch=amd64] http://repo.powerdns.com/debian bullseye-rec-48 main"
+]
+
+kernel_flavor = "amd64-vyos"
+
+# Packages added to images for x86 by default
+packages = [
+ "grub2",
+ "grub-pc",
+ "vyos-linux-firmware",
+ "vyos-intel-qat",
+ "telegraf"
+]
diff --git a/data/architectures/arm64.toml b/data/architectures/arm64.toml
new file mode 100644
index 00000000..8ba3805a
--- /dev/null
+++ b/data/architectures/arm64.toml
@@ -0,0 +1,3 @@
+# Packages included in ARM64 images by default
+packages = ["grub-efi-arm"]
+bootloaders = "grub-efi" \ No newline at end of file
diff --git a/data/architectures/armhf.toml b/data/architectures/armhf.toml
new file mode 100644
index 00000000..252c85d4
--- /dev/null
+++ b/data/architectures/armhf.toml
@@ -0,0 +1,2 @@
+# Packages included in armhf images by default
+packages = ["grub-efi-arm"]
diff --git a/data/build-flavors/README.md b/data/build-flavors/README.md
new file mode 100644
index 00000000..19716255
--- /dev/null
+++ b/data/build-flavors/README.md
@@ -0,0 +1,76 @@
+# VyOS build flavors
+
+VyOS supports multiple different hardware and virtual platforms.
+Those platforms often need custom packages and may require custom
+configs. To make maintenance of existing flavors simpler
+and to allow everyone to make and maintain their own flavors,
+the build scripts support storing flavor configuration in [TOML](https://toml.io) files.
+
+Flavor files must be in `data/build-flavors`. Here's an example:
+
+```toml
+# Generic (aka "universal") ISO image
+
+image_format = "iso"
+
+# Include these packages in the image regardless of the architecture
+packages = [
+ # QEMU and Xen guest tools exist for multiple architectures
+ "qemu-guest-agent",
+ "vyos-xe-guest-utilities",
+]
+
+[architectures.amd64]
+ # Hyper-V and VMware guest tools are x86-only
+ packages = ["hyperv-daemons", "vyos-1x-vmware"]
+```
+
+## Image format
+
+The `image_format` option specifies the default format to build.
+
+```toml
+image_format = "iso"
+```
+
+**Note:** currently, ISO is the only supported format,
+support for different flavors is in progress.
+
+## Including custom packages
+
+If you want the build scripts to include custom packages from repositories
+in the image, you can list them in the `packages` field.
+
+For example, this is how to include the GNU Hello package:
+
+```toml
+packages = ['hello']
+```
+
+It's possible to include packages only in images with certain build architectures
+by placing them in a subtable.
+
+If you want to include GNU Hello only in AMD64 images, do this:
+
+```toml
+[architectures.amd64]
+ packages = ['hello']
+```
+
+## Including custom files
+
+You can include files inside the SquashFS filesystem by adding entries
+to the `includes_chroot` array.
+
+```toml
+[[includes_chroot]]
+ path = "etc/question.txt"
+ data = '''
+Can you guess how this file ended up in the image?
+ '''
+
+ path = "etc/answer.txt"
+ data = '''
+It was in the flavor file!
+ '''
+```
diff --git a/data/build-flavors/azure-iso.toml b/data/build-flavors/azure-iso.toml
new file mode 100644
index 00000000..b4774483
--- /dev/null
+++ b/data/build-flavors/azure-iso.toml
@@ -0,0 +1,5 @@
+image_format = "iso"
+
+packages = ["waagent"]
+
+
diff --git a/data/build-flavors/edgecore.toml b/data/build-flavors/edgecore.toml
new file mode 100644
index 00000000..efea4863
--- /dev/null
+++ b/data/build-flavors/edgecore.toml
@@ -0,0 +1,46 @@
+# ISO image for EdgeCore routers
+
+image_format = "iso"
+
+# udev rules for correct ordering of onboard NICs
+[[includes_chroot]]
+ path = "lib/udev/rules.d/64-vyos-SAF51015I-net.rules"
+ data = '''
+ATTR{[dmi/id]board_name}!="SAF51015I-0318-EC", GOTO="end_ec_nic"
+
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.0", ENV{VYOS_IFNAME}="eth1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.0", ENV{VYOS_IFNAME}="eth2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:04:00.0", ENV{VYOS_IFNAME}="eth3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.0", ENV{VYOS_IFNAME}="eth4"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.0", ENV{VYOS_IFNAME}="eth5"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.1", ENV{VYOS_IFNAME}="eth6"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.2", ENV{VYOS_IFNAME}="eth7"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.3", ENV{VYOS_IFNAME}="eth8"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0a:00.0", ENV{VYOS_IFNAME}="eth9"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0a:00.1", ENV{VYOS_IFNAME}="eth10"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0b:00.0", ENV{VYOS_IFNAME}="eth11"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0b:00.1", ENV{VYOS_IFNAME}="eth12"
+
+LABEL="end_ec_nic"
+
+'''
+
+[[includes_chroot]]
+ path = "lib/udev/rules.d/64-vyos-SAF51003I-net.rules"
+ data = '''
+ATTR{[dmi/id]board_name}!="SAF51003I", GOTO="end_ec_nic"
+
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.0", ENV{VYOS_IFNAME}="eth1", ATTR{ifalias}="LAN1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.1", ENV{VYOS_IFNAME}="eth2", ATTR{ifalias}="LAN2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.2", ENV{VYOS_IFNAME}="eth3", ATTR{ifalias}="LAN3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.3", ENV{VYOS_IFNAME}="eth4", ATTR{ifalias}="LAN4"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.0", ENV{VYOS_IFNAME}="eth5", ATTR{ifalias}="LAN5"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.1", ENV{VYOS_IFNAME}="eth6", ATTR{ifalias}="LAN6"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.2", ENV{VYOS_IFNAME}="eth7", ATTR{ifalias}="LAN7"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.3", ENV{VYOS_IFNAME}="eth8", ATTR{ifalias}="LAN8"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:08:00.0", ENV{VYOS_IFNAME}="eth9", ATTR{ifalias}="DMZ"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:08:00.1", ENV{VYOS_IFNAME}="eth10", ATTR{ifalias}="WAN"
+
+LABEL="end_ec_nic"
+
+'''
diff --git a/data/build-flavors/iso.toml b/data/build-flavors/iso.toml
new file mode 100644
index 00000000..9bf7044d
--- /dev/null
+++ b/data/build-flavors/iso.toml
@@ -0,0 +1,14 @@
+# Generic (aka "universal") ISO image
+
+image_format = "iso"
+
+# Include these packages in the image regardless of the architecture
+packages = [
+ # QEMU and Xen guest tools exist for multiple architectures
+ "qemu-guest-agent",
+ "vyos-xe-guest-utilities",
+]
+
+[architectures.amd64]
+ # Hyper-V and VMware guest tools are x86-only
+ packages = ["hyperv-daemons", "vyos-1x-vmware"]
diff --git a/data/build-flavors/xcpng.toml b/data/build-flavors/xcpng.toml
new file mode 100644
index 00000000..81689b5e
--- /dev/null
+++ b/data/build-flavors/xcpng.toml
@@ -0,0 +1,6 @@
+# Installation ISO for the XCP-ng virtualization platform
+
+image_formats = "iso"
+
+# Include these packages in the image
+packages = ["xe-guest-utilities"]
diff --git a/data/build-types/development.toml b/data/build-types/development.toml
new file mode 100644
index 00000000..f0207a6a
--- /dev/null
+++ b/data/build-types/development.toml
@@ -0,0 +1,8 @@
+packages = [
+ "gdb",
+ "strace",
+ "apt-rdepends",
+ "tshark",
+ "vim",
+ "vyos-1x-smoketest"
+]
diff --git a/data/build-types/release.toml b/data/build-types/release.toml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/data/build-types/release.toml
diff --git a/data/defaults.json b/data/defaults.json
deleted file mode 100644
index d666a686..00000000
--- a/data/defaults.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "architecture": "amd64",
- "debian_mirror": "http://deb.debian.org/debian",
- "debian_security_mirror": "http://deb.debian.org/debian",
- "debian_distribution": "bullseye",
- "vyos_mirror": "http://dev.packages.vyos.net/repositories/current",
- "vyos_branch": "current",
- "kernel_version": "5.10.140",
- "kernel_flavor": "amd64-vyos",
- "release_train": "sagitta",
- "bootloaders": "syslinux,grub-efi",
- "additional_repositories": [
- "deb [arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/3004 bullseye main",
- "deb [arch=amd64] http://repo.powerdns.com/debian bullseye-rec-47 main"
- ],
- "custom_packages": []
-}
diff --git a/data/defaults.toml b/data/defaults.toml
new file mode 100644
index 00000000..a759f8b9
--- /dev/null
+++ b/data/defaults.toml
@@ -0,0 +1,20 @@
+build_type = "development"
+
+architecture = "amd64"
+
+debian_distribution = "bullseye"
+
+debian_mirror = "http://deb.debian.org/debian"
+debian_security_mirror = "http://deb.debian.org/debian-security"
+
+vyos_mirror = "http://dev.packages.vyos.net/repositories/current"
+
+vyos_branch = "current"
+release_train = "current"
+
+kernel_version = "5.15.83"
+bootloaders = "syslinux,grub-efi"
+
+website_url = "https://vyos.io"
+support_url = "https://support.vyos.io"
+bugtracker_url = "https://phabricator.vyos.net"
diff --git a/data/generic-arm64.json b/data/generic-arm64.json
deleted file mode 100644
index 6a32b7c0..00000000
--- a/data/generic-arm64.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "inherit_from": "data/defaults.json",
- "architecture": "arm64",
- "kernel_flavor": "v8-arm64-vyos",
- "bootloaders": "grub-efi",
- "additional_repositories": [
- "deb [arch=arm64] http://repo.powerdns.com/debian bullseye-rec-45 main",
- "deb [arch=arm64] https://repos.influxdata.com/debian bullseye stable"
- ]
-}
diff --git a/data/live-build-config/archives/current.pref.chroot b/data/live-build-config/archives/current.pref.chroot
deleted file mode 100644
index 41126f04..00000000
--- a/data/live-build-config/archives/current.pref.chroot
+++ /dev/null
@@ -1,3 +0,0 @@
-Package: *
-Pin: release n=current
-Pin-Priority: 600
diff --git a/data/live-build-config/hooks/live/17-gen_initramfs.chroot b/data/live-build-config/hooks/live/17-gen_initramfs.chroot
index 87b53bd6..8071c6b8 100755
--- a/data/live-build-config/hooks/live/17-gen_initramfs.chroot
+++ b/data/live-build-config/hooks/live/17-gen_initramfs.chroot
@@ -9,4 +9,15 @@ if [ -e /boot/initrd.img-* ]; then
rm -f /boot/initrd.img-*
fi
-update-initramfs -c -k `ls /boot | grep vmlinuz- | sed 's/vmlinuz-//g'`
+KERNEL_COUNT=$(find /boot/ -type f -name vmlinuz* | wc -l)
+if [ "$KERNEL_COUNT" -gt 1 ]; then
+ echo "E: there is more than one kernel image file installed!"
+ echo "E: please make sure that kernel_version in data/defaults.toml is up to date"
+ echo "E: if your repository is up to date, then there is a bug"
+fi
+
+kernel=`ls /boot | grep vmlinuz- | sed 's/vmlinuz-//g'`
+
+echo "I: Executing update-initramfs -c -k $kernel"
+
+update-initramfs -c -k $kernel
diff --git a/data/live-build-config/hooks/live/18-enable-disable_services.chroot b/data/live-build-config/hooks/live/18-enable-disable_services.chroot
index bc94d730..24ae88b8 100755
--- a/data/live-build-config/hooks/live/18-enable-disable_services.chroot
+++ b/data/live-build-config/hooks/live/18-enable-disable_services.chroot
@@ -38,6 +38,7 @@ systemctl disable lm-sensors.service
systemctl disable snmpd.service
systemctl disable conserver-server.service
systemctl disable dropbear.service
+systemctl disable fancontrol.service
systemctl disable fastnetmon.service
systemctl disable ddclient.service
systemctl disable ocserv.service
diff --git a/data/package-lists/vyos-arm.list.chroot b/data/package-lists/vyos-arm.list.chroot
deleted file mode 100644
index 41fcddf8..00000000
--- a/data/package-lists/vyos-arm.list.chroot
+++ /dev/null
@@ -1 +0,0 @@
-grub-efi-arm
diff --git a/data/package-lists/vyos-dev.list.chroot b/data/package-lists/vyos-dev.list.chroot
deleted file mode 100644
index 40926aa1..00000000
--- a/data/package-lists/vyos-dev.list.chroot
+++ /dev/null
@@ -1,6 +0,0 @@
-gdb
-strace
-apt-rdepends
-tshark
-vim
-vyos-1x-smoketest
diff --git a/data/package-lists/vyos-x86.list.chroot b/data/package-lists/vyos-x86.list.chroot
deleted file mode 100644
index 4fba090a..00000000
--- a/data/package-lists/vyos-x86.list.chroot
+++ /dev/null
@@ -1,8 +0,0 @@
-grub2
-grub-pc
-qemu-guest-agent
-hyperv-daemons
-vyos-xe-guest-utilities
-vyos-1x-vmware
-vyos-linux-firmware
-vyos-intel-qat
diff --git a/docker/Dockerfile b/docker/Dockerfile
index f1fac187..ab6b1c51 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2021 VyOS maintainers and contributors
+# Copyright (C) 2018-2022 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# in order to easy exprort images built to "external" world
@@ -94,6 +94,9 @@ RUN apt-get update && apt-get install -y \
debootstrap \
live-build
+# vyos-build now also makes use of TOML - install yq which has toml support
+RUN pip install yq==3.1.0
+
# Syslinux and Grub2 is only supported on x86 and x64 systems
RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
apt-get update && apt-get install -y \
@@ -132,7 +135,8 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
ctypes \
ctypes-foreign \
ctypes-build \
- containers
+ containers \
+ fileutils
# Build VyConf which is required to build libvyosconfig
RUN eval $(opam env --root=/opt/opam --set-root) && \
@@ -214,13 +218,6 @@ RUN apt-get update && apt-get install -y \
pciutils \
yasm
-# Packages needed for Accel-PPP
-RUN apt-get update && apt-get install -y \
- liblua5.3-dev \
- libssl1.1 \
- libssl-dev \
- libpcre3-dev
-
# Packages needed for Wireguard
RUN apt-get update && apt-get install -y \
debhelper-compat \
@@ -339,6 +336,11 @@ Run git clone https://github.com/dsoprea/PyInotify.git /tmp/inotify && \
python3 setup.py --command-packages=stdeb.command bdist_deb && \
sudo dpkg -i ./deb_dist/python3-inotify*.deb
+Run git clone https://github.com/nficano/humps.git /tmp/humps && \
+ cd /tmp/humps && git checkout v3.8.0 && \
+ python3 setup.py --command-packages=stdeb.command bdist_deb; cp deb_dist/*.deb .. && \
+ dpkg -i /tmp/python3-pyhumps_*_all.deb
+
# Packages needed for vyos-1x-xdp package, gcc-multilib is not available on
# arm64 but required by XDP
RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
@@ -348,9 +350,8 @@ RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
llvm \
libelf-dev \
libpcap-dev \
+ libbpf-dev \
build-essential; \
- git clone https://github.com/libbpf/libbpf.git /tmp/libbpf && \
- cd /tmp/libbpf && git checkout b91f53ec5f1aba2 && cd src && make install; \
fi
# Go required for validators and vyos-xe-guest-utilities
@@ -471,6 +472,35 @@ RUN apt-get update && apt-get install -y \
libtool \
pkg-config
+# Packages needed for nftables
+RUN apt-get update && apt-get install -y \
+ asciidoc-base \
+ automake \
+ bison \
+ debhelper-compat \
+ dh-python \
+ docbook-xsl \
+ flex \
+ libeditreadline-dev \
+ libgmp-dev \
+ libjansson-dev \
+ libmnl-dev \
+ libtool \
+ libxtables-dev \
+ python3-all \
+ python3-setuptools \
+ xsltproc
+
+# Packages needed for libnetfilter-conntrack
+RUN apt-get update && apt-get install -y \
+ debhelper-compat \
+ libmnl-dev \
+ libnfnetlink-dev \
+ libnetfilter-cthelper-dev \
+ libnetfilter-cttimeout-dev \
+ libnetfilter-queue-dev \
+ libtool
+
# Packages needed for wide-dhcpv6
RUN apt-get update && apt-get install -y \
bison \
@@ -595,6 +625,28 @@ RUN apt-get update && sudo apt-get install -y \
runc \
uidmap
+# Packages needed for Accel-PPP
+# XXX: please note that this must be installed after nftable dependencies - otherwise
+# APT will remove liblua5.3-dev which breaks the Accel-PPP build
+RUN apt-get update && apt-get install -y \
+ liblua5.3-dev \
+ libssl1.1 \
+ libssl-dev \
+ libpcre3-dev
+
+# Packages needed for sstp-client
+RUN apt-get update && apt-get install -y \
+ libssl-dev \
+ libevent-dev \
+ ppp-dev
+
+# Packages needed for pam_tacplus
+RUN apt-get update && apt-get install -y \
+ libpam-dev \
+ autoconf-archive \
+ gnulib \
+ libtool
+
#
# fpm: a command-line program designed to help you build packages (e.g. deb)
#
diff --git a/packages/.gitignore b/packages/.gitignore
index 287672bb..db1547bf 100644
--- a/packages/.gitignore
+++ b/packages/.gitignore
@@ -1,3 +1,4 @@
+*.tar.gz
*.deb
*.dsc
*.buildinfo
diff --git a/packages/dropbear/.gitignore b/packages/dropbear/.gitignore
index 249ed456..3f3a2a1c 100644
--- a/packages/dropbear/.gitignore
+++ b/packages/dropbear/.gitignore
@@ -1,6 +1 @@
dropbear/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/fastnetmon/.gitignore b/packages/fastnetmon/.gitignore
index 09991e30..6831db67 100644
--- a/packages/fastnetmon/.gitignore
+++ b/packages/fastnetmon/.gitignore
@@ -1,8 +1,2 @@
fastnetmon/
fastnetmon-debian-salsa/
-*.tar.gz
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/fastnetmon/Jenkinsfile b/packages/fastnetmon/Jenkinsfile
index 8c320401..710b58ff 100644
--- a/packages/fastnetmon/Jenkinsfile
+++ b/packages/fastnetmon/Jenkinsfile
@@ -19,8 +19,6 @@
// @Library annotation is not an import statement!
@Library('vyos-build@current')_
-// NOTE: we can build with -d as the libbpf dependency is installed manually
-// and not via a DEB package
def pkgList = [
['name': 'fastnetmon-debian-salsa',
'scmCommit': 'debian/1.2.2-1',
diff --git a/packages/frr/.gitignore b/packages/frr/.gitignore
index a6f28160..cb7bf2e1 100644
--- a/packages/frr/.gitignore
+++ b/packages/frr/.gitignore
@@ -1,7 +1,2 @@
frr/
libyang/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/frr/Jenkinsfile b/packages/frr/Jenkinsfile
index 7971bb4c..d74244d6 100644
--- a/packages/frr/Jenkinsfile
+++ b/packages/frr/Jenkinsfile
@@ -30,7 +30,7 @@ def pkgList = [
'scmUrl': 'https://github.com/rtrlib/rtrlib.git',
'buildCmd': 'dpkg-buildpackage -uc -us -tc -b'],
['name': 'frr',
- 'scmCommit': 'stable/8.3',
+ 'scmCommit': 'stable/8.4',
'scmUrl': 'https://github.com/FRRouting/frr.git',
'buildCmd': 'cd ..; ./build-frr.sh'],
]
diff --git a/packages/iproute2/.gitignore b/packages/iproute2/.gitignore
index 93392ae0..02be8f3d 100644
--- a/packages/iproute2/.gitignore
+++ b/packages/iproute2/.gitignore
@@ -1,6 +1 @@
iproute2/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/iproute2/Jenkinsfile b/packages/iproute2/Jenkinsfile
index ce89aead..8f8a5c14 100644
--- a/packages/iproute2/Jenkinsfile
+++ b/packages/iproute2/Jenkinsfile
@@ -23,7 +23,7 @@
// and not via a DEB package
def pkgList = [
['name': 'iproute2',
- 'scmCommit': 'debian/5.10.0-4_bpo10+1',
+ 'scmCommit': 'debian/5.15.0-1_bpo11+1',
'scmUrl': 'https://salsa.debian.org/debian/iproute2',
'buildCmd': 'cd ..; ./build.sh'],
]
diff --git a/packages/iproute2/patches/0001-erspan-erspan6-fix-JSON-output.patch b/packages/iproute2/patches/0001-erspan-erspan6-fix-JSON-output.patch
deleted file mode 100644
index e21c13c0..00000000
--- a/packages/iproute2/patches/0001-erspan-erspan6-fix-JSON-output.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 50d6a22e0c1368bcc662bbfea75ce21378825b0d Mon Sep 17 00:00:00 2001
-From: Christian Poessinger <christian@poessinger.com>
-Date: Fri, 9 Apr 2021 12:45:00 +0200
-Subject: [PATCH] erspan/erspan6: fix JSON output
-
-The format for erspan/erspan6 output is not valid JSON, as on version 2 a
-valueless key was presented. The direction should be value and erspan_dir
-should be the key.
-
-Fixes: 289763626721 ("erspan: add erspan version II support")
-Cc: u9012063@gmail.com
-Cc: Stephen Hemminger <stephen@networkplumber.org>
-Reported-by: Christian Poessinger <christian@poessinger.com>
-Signed-off-by: Christian Poessinger <christian@poessinger.com>
----
- ip/link_gre.c | 4 ++--
- ip/link_gre6.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/ip/link_gre.c b/ip/link_gre.c
-index 0461e5d0..6d4a8be8 100644
---- a/ip/link_gre.c
-+++ b/ip/link_gre.c
-@@ -536,10 +536,10 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
-
- if (erspan_dir == 0)
- print_string(PRINT_ANY, "erspan_dir",
-- "erspan_dir ingress ", NULL);
-+ "erspan_dir %s ", "ingress");
- else
- print_string(PRINT_ANY, "erspan_dir",
-- "erspan_dir egress ", NULL);
-+ "erspan_dir %s ", "egress");
- }
-
- if (tb[IFLA_GRE_ERSPAN_HWID]) {
-diff --git a/ip/link_gre6.c b/ip/link_gre6.c
-index 9d270f4b..f33598af 100644
---- a/ip/link_gre6.c
-+++ b/ip/link_gre6.c
-@@ -594,10 +594,10 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
-
- if (erspan_dir == 0)
- print_string(PRINT_ANY, "erspan_dir",
-- "erspan_dir ingress ", NULL);
-+ "erspan_dir %s ", "ingress");
- else
- print_string(PRINT_ANY, "erspan_dir",
-- "erspan_dir egress ", NULL);
-+ "erspan_dir %s ", "egress");
- }
-
- if (tb[IFLA_GRE_ERSPAN_HWID]) {
---
-2.20.1
-
diff --git a/packages/keepalived/.gitignore b/packages/keepalived/.gitignore
index f7afe17c..9503bdbd 100644
--- a/packages/keepalived/.gitignore
+++ b/packages/keepalived/.gitignore
@@ -1,6 +1 @@
keepalived/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/linux-kernel/.gitignore b/packages/linux-kernel/.gitignore
index 84ffa9c4..6373bd11 100644
--- a/packages/linux-kernel/.gitignore
+++ b/packages/linux-kernel/.gitignore
@@ -5,14 +5,10 @@
/intel-qat
/linux-firmware
/qat*
-*.deb
-*.changes
-*.buildinfo
*.tar.xz
/*.postinst
# Intel Driver source
-*.tar.gz
i40e-*/
igb-*/
ixgbe-*/
diff --git a/packages/linux-kernel/Jenkinsfile b/packages/linux-kernel/Jenkinsfile
index 5a3733e9..496dcbda 100644
--- a/packages/linux-kernel/Jenkinsfile
+++ b/packages/linux-kernel/Jenkinsfile
@@ -27,7 +27,7 @@ def pkgList = [
cd ..
# read the required Kernel version
- KERNEL_VER=\$(cat ../../data/defaults.json | jq -r .kernel_version)
+ KERNEL_VER=\$(cat ../../data/defaults.toml | tomlq -r .kernel_version)
gpg2 --locate-keys torvalds@kernel.org gregkh@kernel.org
curl -OL https://www.kernel.org/pub/linux/kernel/v5.x/linux-${KERNEL_VER}.tar.xz
curl -OL https://www.kernel.org/pub/linux/kernel/v5.x/linux-${KERNEL_VER}.tar.sign
@@ -44,12 +44,12 @@ def pkgList = [
'''],
// Firmware
- ['name': 'linux-firmware', 'scmCommit': '20220708',
+ ['name': 'linux-firmware', 'scmCommit': '20220815',
'scmUrl': 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git',
'buildCmd': 'cd ..; ./build-linux-firmware.sh'],
// Accel-PPP
- ['name': 'accel-ppp', 'scmCommit': '847ccb49a7e0',
+ ['name': 'accel-ppp', 'scmCommit': '8d6dec931641',
'scmUrl': 'https://github.com/accel-ppp/accel-ppp.git',
'buildCmd': 'cd ..; pwd; ls -al; ./build-accel-ppp.sh'],
diff --git a/packages/linux-kernel/arch/x86/configs/vyos_defconfig b/packages/linux-kernel/arch/x86/configs/vyos_defconfig
index f6830c01..20af90d2 100644
--- a/packages/linux-kernel/arch/x86/configs/vyos_defconfig
+++ b/packages/linux-kernel/arch/x86/configs/vyos_defconfig
@@ -1,17 +1,21 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.10.128 Kernel Configuration
+# Linux/x86 5.15.68 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 10.2.1-6) 10.2.1 20210110"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=100201
-CONFIG_LD_VERSION=235020000
CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23502
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23502
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@@ -21,6 +25,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
@@ -98,9 +103,25 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# end of Timers subsystem
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+# CONFIG_BPF_JIT_ALWAYS_ON is not set
+CONFIG_BPF_JIT_DEFAULT_ON=y
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
+# CONFIG_SCHED_CORE is not set
#
# CPU/Task time and stats accounting
@@ -138,6 +159,7 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
#
@@ -172,6 +194,7 @@ CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
@@ -202,7 +225,6 @@ CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
@@ -211,7 +233,6 @@ CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
@@ -227,17 +248,12 @@ CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
+CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
-# CONFIG_BPF_JIT_ALWAYS_ON is not set
-CONFIG_BPF_JIT_DEFAULT_ON=y
-# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
-# CONFIG_BPF_PRELOAD is not set
CONFIG_USERFAULTFD=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
# CONFIG_KCMP is not set
@@ -256,7 +272,6 @@ CONFIG_PERF_EVENTS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
-# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
@@ -288,17 +303,15 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_FILTER_PGPROT=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_NR_GPIO=1024
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
@@ -309,13 +322,11 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
#
# Processor type and features
#
-CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
-CONFIG_RETPOLINE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
@@ -332,14 +343,16 @@ CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
CONFIG_XEN_PV=y
+CONFIG_XEN_512GB=y
CONFIG_XEN_PV_SMP=y
-CONFIG_XEN_DOM0=y
+CONFIG_XEN_PV_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
-CONFIG_XEN_512GB=y
+CONFIG_XEN_PVHVM_GUEST=y
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
+CONFIG_XEN_DOM0=y
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
@@ -388,7 +401,6 @@ CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
#
# Performance monitoring
@@ -397,6 +409,7 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=m
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
CONFIG_PERF_EVENTS_AMD_POWER=m
+CONFIG_PERF_EVENTS_AMD_UNCORE=y
# end of Performance monitoring
CONFIG_X86_16BIT=y
@@ -428,7 +441,6 @@ CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=m
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
@@ -442,6 +454,7 @@ CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
+# CONFIG_X86_SGX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
@@ -474,13 +487,17 @@ CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_SPECULATION_MITIGATIONS=y
+CONFIG_PAGE_TABLE_ISOLATION=y
+CONFIG_RETPOLINE=y
+CONFIG_RETHUNK=y
+CONFIG_CPU_UNRET_ENTRY=y
+CONFIG_CPU_IBPB_ENTRY=y
+CONFIG_CPU_IBRS_ENTRY=y
CONFIG_ARCH_HAS_ADD_PAGES=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
-CONFIG_ARCH_ENABLE_THP_MIGRATION=y
#
# Power management and ACPI options
@@ -505,6 +522,7 @@ CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
+# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -555,7 +573,7 @@ CONFIG_ACPI_ADXL=y
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y
-CONFIG_SFI=y
+CONFIG_ACPI_PRMT=y
#
# CPU Frequency scaling
@@ -618,7 +636,6 @@ CONFIG_MMCONF_FAM10H=y
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
# end of Bus options (PCI etc.)
#
@@ -632,51 +649,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
# end of Binary Emulations
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-# CONFIG_ISCSI_IBFT is not set
-# CONFIG_FW_CFG_SYSFS is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_VARS=m
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=m
-# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
-CONFIG_EFI_RUNTIME_MAP=y
-# CONFIG_EFI_FAKE_MEMMAP is not set
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-# CONFIG_EFI_BOOTLOADER_CONTROL is not set
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-CONFIG_APPLE_PROPERTIES=y
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_EFI_RCI2_TABLE is not set
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-CONFIG_UEFI_CPER=y
-CONFIG_UEFI_CPER_X86=y
-CONFIG_EFI_DEV_PATH_PARSER=y
-CONFIG_EFI_EARLYCON=y
-CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
CONFIG_AS_AVX512=y
@@ -691,8 +663,6 @@ CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
-CONFIG_HAVE_OPROFILE=y
-CONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
@@ -706,6 +676,8 @@ CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -714,6 +686,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
@@ -739,14 +712,20 @@ CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
@@ -755,6 +734,8 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
@@ -769,6 +750,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
@@ -779,7 +762,11 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
+CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
#
# GCOV-based kernel profiling
@@ -801,26 +788,28 @@ CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_COMPRESS is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
-CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=m
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
-# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
-CONFIG_BLK_WBT_MQ=y
+# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_SED_OPAL=y
# CONFIG_BLK_INLINE_ENCRYPTION is not set
@@ -854,6 +843,7 @@ CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
#
# IO Schedulers
@@ -903,7 +893,6 @@ CONFIG_COREDUMP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -911,19 +900,24 @@ CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
@@ -939,21 +933,32 @@ CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
# CONFIG_CMA_DEBUGFS is not set
+# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
# CONFIG_ZPOOL is not set
-# CONFIG_ZBUD is not set
# CONFIG_ZSMALLOC is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
# CONFIG_ZONE_DEVICE is not set
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
# CONFIG_PERCPU_STATS is not set
-# CONFIG_GUP_BENCHMARK is not set
+# CONFIG_GUP_TEST is not set
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_SECRETMEM=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
# end of Memory Management options
CONFIG_NET=y
@@ -970,6 +975,7 @@ CONFIG_PACKET=m
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=m
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
@@ -988,6 +994,7 @@ CONFIG_XFRM_ESP=m
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
+CONFIG_XFRM_ESPINTCP=y
CONFIG_XDP_SOCKETS=y
# CONFIG_XDP_SOCKETS_DIAG is not set
CONFIG_INET=y
@@ -1017,7 +1024,7 @@ CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
-CONFIG_INET_ESPINTCP=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
@@ -1054,7 +1061,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
-CONFIG_INET6_ESPINTCP=m
+CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=m
@@ -1077,6 +1084,7 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
@@ -1094,13 +1102,13 @@ CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_LOG_NETDEV=m
+CONFIG_NF_LOG_SYSLOG=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
@@ -1170,9 +1178,11 @@ CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
+# CONFIG_NFT_REJECT_NETDEV is not set
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XTABLES_COMPAT=y
#
# Xtables combined modules
@@ -1312,6 +1322,7 @@ CONFIG_IP_VS_SH=m
# CONFIG_IP_VS_MH is not set
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
+# CONFIG_IP_VS_TWOS is not set
#
# IPVS SH scheduler
@@ -1410,7 +1421,6 @@ CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
# CONFIG_NFT_BRIDGE_META is not set
CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
# CONFIG_NF_CONNTRACK_BRIDGE is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
@@ -1475,7 +1485,7 @@ CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
-CONFIG_HAVE_NET_DSA=y
+# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
@@ -1579,7 +1589,7 @@ CONFIG_NET_ACT_TUNNEL_KEY=m
# CONFIG_NET_TC_SKB_EXT is not set
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
-CONFIG_DNS_RESOLVER=m
+CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_VSOCKETS=m
@@ -1592,22 +1602,23 @@ CONFIG_HYPERV_VSOCKETS=m
CONFIG_NETLINK_DIAG=m
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
-CONFIG_MPLS_ROUTING=y
-CONFIG_MPLS_IPTUNNEL=y
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
# CONFIG_NET_NSH is not set
-# CONFIG_HSR is not set
-# CONFIG_NET_SWITCHDEV is not set
+CONFIG_HSR=y
+CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
-CONFIG_BPF_JIT=y
# CONFIG_BPF_STREAM_PARSER is not set
CONFIG_NET_FLOW_LIMIT=y
@@ -1624,6 +1635,7 @@ CONFIG_NET_FLOW_LIMIT=y
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
@@ -1661,7 +1673,6 @@ CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
@@ -1674,12 +1685,12 @@ CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
+CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y
-CONFIG_HAVE_EBPF_JIT=y
#
# Device Drivers
@@ -1767,12 +1778,14 @@ CONFIG_PCI_HYPERV_INTERFACE=m
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
+# CONFIG_CXL_BUS is not set
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set
#
# Generic Driver Options
#
+CONFIG_AUXILIARY_BUS=y
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
@@ -1815,6 +1828,60 @@ CONFIG_DMA_SHARED_BUFFER=y
# end of Bus devices
# CONFIG_CONNECTOR is not set
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+# CONFIG_ISCSI_IBFT is not set
+# CONFIG_FW_CFG_SYSFS is not set
+CONFIG_SYSFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=m
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+CONFIG_APPLE_PROPERTIES=y
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_RCI2_TABLE is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_UEFI_CPER=y
+CONFIG_UEFI_CPER_X86=y
+CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
@@ -1832,13 +1899,11 @@ CONFIG_BLK_DEV_NULL_BLK=m
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=m
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SKD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
@@ -1887,10 +1952,10 @@ CONFIG_HMC6352=m
CONFIG_DS1682=m
CONFIG_VMWARE_BALLOON=m
# CONFIG_SRAM is not set
+# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=m
-# CONFIG_PVPANIC is not set
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
@@ -1923,21 +1988,21 @@ CONFIG_INTEL_MEI_ME=m
CONFIG_VMWARE_VMCI=m
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
CONFIG_MISC_RTSX_PCI=m
CONFIG_MISC_RTSX_USB=m
# CONFIG_HABANA_AI is not set
# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
# end of Misc devices
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
+CONFIG_SCSI_COMMON=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
@@ -1950,6 +2015,7 @@ CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_ENCLOSURE is not set
CONFIG_SCSI_CONSTANTS=y
@@ -2014,12 +2080,14 @@ CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS=m
+# CONFIG_SCSI_MPI3MR is not set
CONFIG_SCSI_SMARTPQI=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
# CONFIG_SCSI_UFSHCD_PLATFORM is not set
# CONFIG_SCSI_UFS_BSG is not set
+# CONFIG_SCSI_UFS_HPB is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
@@ -2036,7 +2104,6 @@ CONFIG_SCSI_SNIC=m
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
CONFIG_SCSI_DMX3191D=m
# CONFIG_SCSI_FDOMAIN_PCI is not set
-CONFIG_SCSI_GDTH=m
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
@@ -2233,12 +2300,6 @@ CONFIG_VIRTIO_NET=m
CONFIG_NLMON=m
CONFIG_NET_VRF=m
# CONFIG_ARCNET is not set
-
-#
-# Distributed Switch Architecture drivers
-#
-# end of Distributed Switch Architecture drivers
-
CONFIG_ETHERNET=y
CONFIG_MDIO=m
# CONFIG_NET_VENDOR_3COM is not set
@@ -2268,7 +2329,7 @@ CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
-# CONFIG_NET_VENDOR_AURORA is not set
+# CONFIG_CX_ECAT is not set
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
@@ -2287,8 +2348,6 @@ CONFIG_BNXT_SRIOV=y
CONFIG_BNXT_FLOWER_OFFLOAD=y
# CONFIG_BNXT_DCB is not set
CONFIG_BNXT_HWMON=y
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
CONFIG_NET_VENDOR_CADENCE=y
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_CAVIUM=y
@@ -2312,7 +2371,6 @@ CONFIG_CHELSIO_INLINE_CRYPTO=y
# CONFIG_CHELSIO_TLS_DEVICE is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_CORTINA is not set
-# CONFIG_CX_ECAT is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
@@ -2357,6 +2415,7 @@ CONFIG_ICE=m
# CONFIG_FM10K is not set
CONFIG_IGC=m
CONFIG_JME=m
+CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
CONFIG_SKGE=m
@@ -2364,6 +2423,7 @@ CONFIG_SKGE=m
CONFIG_SKGE_GENESIS=y
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
+# CONFIG_PRESTERA is not set
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
CONFIG_MLX4_EN_DCB=y
@@ -2377,12 +2437,18 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
CONFIG_MLX5_EN_RXNFC=y
CONFIG_MLX5_MPFS=y
+CONFIG_MLX5_ESWITCH=y
+CONFIG_MLX5_BRIDGE=y
+CONFIG_MLX5_CLS_ACT=y
+CONFIG_MLX5_TC_SAMPLE=y
CONFIG_MLX5_CORE_EN_DCB=y
# CONFIG_MLX5_CORE_IPOIB is not set
CONFIG_MLX5_IPSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_TLS=y
CONFIG_MLX5_EN_TLS=y
+CONFIG_MLX5_SW_STEERING=y
+# CONFIG_MLX5_SF is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_MICREL=y
@@ -2392,10 +2458,13 @@ CONFIG_KSZ884X_PCI=m
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_LAN743X is not set
CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MICROSOFT=y
+# CONFIG_MICROSOFT_MANA is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
+# CONFIG_NET_VENDOR_NI is not set
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
@@ -2404,7 +2473,6 @@ CONFIG_S2IO=m
CONFIG_VXGE=m
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
-# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_8390 is not set
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
@@ -2424,6 +2492,8 @@ CONFIG_NETXEN_NIC=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
CONFIG_QEDE=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
CONFIG_NET_VENDOR_REALTEK=y
@@ -2436,19 +2506,20 @@ CONFIG_8139TOO_8129=y
CONFIG_R8169=m
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
+# CONFIG_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_SFC=m
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_SFC_MCDI_LOGGING=y
CONFIG_SFC_FALCON=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
@@ -2472,7 +2543,7 @@ CONFIG_VIA_VELOCITY=m
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
-CONFIG_FIXED_PHY=m
+CONFIG_FIXED_PHY=y
#
# MII PHY device drivers
@@ -2480,7 +2551,7 @@ CONFIG_FIXED_PHY=m
CONFIG_AMD_PHY=m
# CONFIG_ADIN_PHY is not set
CONFIG_AQUANTIA_PHY=m
-# CONFIG_AX88796B_PHY is not set
+CONFIG_AX88796B_PHY=m
CONFIG_BROADCOM_PHY=m
# CONFIG_BCM54140_PHY is not set
CONFIG_BCM7XXX_PHY=m
@@ -2496,11 +2567,16 @@ CONFIG_INTEL_XWAY_PHY=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
CONFIG_MICROCHIP_T1_PHY=m
CONFIG_MICROSEMI_PHY=m
+# CONFIG_MOTORCOMM_PHY is not set
CONFIG_NATIONAL_PHY=m
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
CONFIG_AT803X_PHY=m
CONFIG_QSEMI_PHY=m
@@ -2519,6 +2595,8 @@ CONFIG_VITESSE_PHY=m
# CONFIG_XILINX_GMII2RGMII is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
@@ -2585,8 +2663,8 @@ CONFIG_USB_SIERRA_NET=m
# CONFIG_USB_VL600 is not set
# CONFIG_USB_NET_CH9200 is not set
# CONFIG_USB_NET_AQC111 is not set
+CONFIG_USB_RTL8153_ECM=m
CONFIG_WLAN=y
-# CONFIG_WIRELESS_WDS is not set
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_ADM8211=m
CONFIG_ATH_COMMON=m
@@ -2725,6 +2803,7 @@ CONFIG_MT76_USB=m
CONFIG_MT76_SDIO=m
CONFIG_MT76x02_LIB=m
CONFIG_MT76x02_USB=m
+CONFIG_MT76_CONNAC_LIB=m
CONFIG_MT76x0_COMMON=m
CONFIG_MT76x0U=m
CONFIG_MT76x0E=m
@@ -2738,6 +2817,7 @@ CONFIG_MT7663_USB_SDIO_COMMON=m
CONFIG_MT7663U=m
CONFIG_MT7663S=m
CONFIG_MT7915E=m
+# CONFIG_MT7921E is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
CONFIG_WLAN_VENDOR_RALINK=y
@@ -2805,11 +2885,14 @@ CONFIG_RSI_USB=m
CONFIG_MAC80211_HWSIM=m
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_VIRT_WIFI is not set
+# CONFIG_WAN is not set
#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
+# Wireless WAN
#
-# CONFIG_WAN is not set
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
@@ -2825,7 +2908,6 @@ CONFIG_NET_FAILOVER=m
CONFIG_INPUT=y
# CONFIG_INPUT_LEDS is not set
# CONFIG_INPUT_FF_MEMLESS is not set
-CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP is not set
@@ -2892,9 +2974,11 @@ CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IMS_PCU is not set
# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
@@ -2974,6 +3058,7 @@ CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_BCM63XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
@@ -2986,20 +3071,13 @@ CONFIG_SERIAL_RP2_NR_UARTS=32
CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
-CONFIG_ISI=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
CONFIG_NOZOMI=m
# CONFIG_NULL_TTY is not set
-# CONFIG_TRACE_SINK is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
@@ -3030,10 +3108,7 @@ CONFIG_HW_RANDOM_VIRTIO=m
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
-# CONFIG_DEVKMEM is not set
CONFIG_NVRAM=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
CONFIG_DEVPORT=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
@@ -3043,6 +3118,7 @@ CONFIG_TCG_TPM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=m
CONFIG_TCG_TIS=m
+# CONFIG_TCG_TIS_I2C_CR50 is not set
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
CONFIG_TCG_TIS_I2C_NUVOTON=m
@@ -3056,6 +3132,7 @@ CONFIG_TCG_TIS_ST33ZP24=m
CONFIG_TCG_TIS_ST33ZP24_I2C=m
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
# CONFIG_RANDOM_TRUST_CPU is not set
# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
# end of Character devices
@@ -3140,6 +3217,7 @@ CONFIG_I2C_XILINX=m
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=m
+# CONFIG_I2C_CP2615 is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
@@ -3149,6 +3227,7 @@ CONFIG_I2C_VIPERBOARD=m
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_MLXCPLD=m
+# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support
CONFIG_I2C_STUB=m
@@ -3182,6 +3261,7 @@ CONFIG_PPS_CLIENT_LDISC=m
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
@@ -3204,14 +3284,17 @@ CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
# CONFIG_PINCTRL_LYNXPOINT is not set
CONFIG_PINCTRL_INTEL=y
+# CONFIG_PINCTRL_ALDERLAKE is not set
CONFIG_PINCTRL_BROXTON=y
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CEDARFORK is not set
# CONFIG_PINCTRL_DENVERTON is not set
+# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_ICELAKE is not set
# CONFIG_PINCTRL_JASPERLAKE is not set
+# CONFIG_PINCTRL_LAKEFIELD is not set
# CONFIG_PINCTRL_LEWISBURG is not set
CONFIG_PINCTRL_SUNRISEPOINT=y
# CONFIG_PINCTRL_TIGERLAKE is not set
@@ -3241,7 +3324,6 @@ CONFIG_GPIO_AMDPT=m
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_VX855 is not set
-# CONFIG_GPIO_XILINX is not set
CONFIG_GPIO_AMD_FCH=m
# end of Memory mapped GPIO drivers
@@ -3291,8 +3373,14 @@ CONFIG_GPIO_ML_IOH=m
CONFIG_GPIO_VIPERBOARD=m
# end of USB GPIO expanders
+#
+# Virtual GPIO drivers
+#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# end of Virtual GPIO drivers
+
CONFIG_W1=m
#
@@ -3356,14 +3444,17 @@ CONFIG_BATTERY_MAX17042=m
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_BD99954 is not set
@@ -3391,18 +3482,20 @@ CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
CONFIG_SENSORS_ASC7621=m
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_FAM15H_POWER=m
-# CONFIG_SENSORS_AMD_ENERGY is not set
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
@@ -3429,12 +3522,14 @@ CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LTC2945=m
# CONFIG_SENSORS_LTC2947_I2C is not set
CONFIG_SENSORS_LTC2990=m
+# CONFIG_SENSORS_LTC2992 is not set
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4222=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4260=m
CONFIG_SENSORS_LTC4261=m
+# CONFIG_SENSORS_MAX127 is not set
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
@@ -3448,6 +3543,7 @@ CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_TC654=m
+# CONFIG_SENSORS_TPS23861 is not set
CONFIG_SENSORS_MENF21BMC_HWMON=m
# CONFIG_SENSORS_MR75203 is not set
CONFIG_SENSORS_LM63=m
@@ -3473,15 +3569,20 @@ CONFIG_SENSORS_NCT6775=m
CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_NPCM7XX=m
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
# CONFIG_SENSORS_ADM1266 is not set
CONFIG_SENSORS_ADM1275=m
# CONFIG_SENSORS_BEL_PFE is not set
+# CONFIG_SENSORS_BPA_RS600 is not set
+# CONFIG_SENSORS_FSP_3Y is not set
CONFIG_SENSORS_IBM_CFFPS=m
+# CONFIG_SENSORS_DPS920AB is not set
# CONFIG_SENSORS_INSPUR_IPSPS is not set
CONFIG_SENSORS_IR35221=m
+# CONFIG_SENSORS_IR36021 is not set
# CONFIG_SENSORS_IR38064 is not set
# CONFIG_SENSORS_IRPS5401 is not set
# CONFIG_SENSORS_ISL68137 is not set
@@ -3489,6 +3590,7 @@ CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC3815=m
+# CONFIG_SENSORS_MAX15301 is not set
CONFIG_SENSORS_MAX16064=m
# CONFIG_SENSORS_MAX16601 is not set
# CONFIG_SENSORS_MAX20730 is not set
@@ -3496,17 +3598,25 @@ CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31785=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
+# CONFIG_SENSORS_MP2888 is not set
# CONFIG_SENSORS_MP2975 is not set
+# CONFIG_SENSORS_PIM4328 is not set
+# CONFIG_SENSORS_PM6764TR is not set
# CONFIG_SENSORS_PXE1610 is not set
+# CONFIG_SENSORS_Q54SJ108A2 is not set
+# CONFIG_SENSORS_STPDDC60 is not set
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
# CONFIG_SENSORS_XDPE122 is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SHT3x=m
+# CONFIG_SENSORS_SHT4x is not set
CONFIG_SENSORS_SHTC1=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
@@ -3577,6 +3687,7 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
# Intel thermal drivers
#
CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_THERMAL_VECTOR=y
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
@@ -3589,6 +3700,8 @@ CONFIG_ACPI_THERMAL_REL=m
# end of ACPI INT340X thermal drivers
CONFIG_INTEL_PCH_THERMAL=m
+# CONFIG_INTEL_TCC_COOLING is not set
+# CONFIG_INTEL_MENLOW is not set
# end of Intel thermal drivers
CONFIG_WATCHDOG=y
@@ -3597,6 +3710,7 @@ CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
#
# Watchdog Pretimeout Governors
@@ -3721,6 +3835,7 @@ CONFIG_MFD_INTEL_LPSS=m
CONFIG_MFD_INTEL_LPSS_ACPI=m
CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_INTEL_PMC_BXT is not set
+# CONFIG_MFD_INTEL_PMT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
CONFIG_MFD_KEMPLD=m
@@ -3741,13 +3856,12 @@ CONFIG_MFD_VIPERBOARD=m
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
-# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
@@ -3759,7 +3873,6 @@ CONFIG_MFD_VIPERBOARD=m
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
-# CONFIG_MFD_TPS68470 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
@@ -3776,6 +3889,7 @@ CONFIG_MFD_VIPERBOARD=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_RAVE_SP_CORE is not set
# end of Multifunction device drivers
@@ -3803,17 +3917,21 @@ CONFIG_REGULATOR_LTC3676=m
CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_MAX8649=m
CONFIG_REGULATOR_MAX8660=m
+# CONFIG_REGULATOR_MAX8893 is not set
CONFIG_REGULATOR_MAX8952=m
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MP8859 is not set
CONFIG_REGULATOR_MT6311=m
# CONFIG_REGULATOR_PCA9450 is not set
-CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
CONFIG_REGULATOR_PV88080=m
CONFIG_REGULATOR_PV88090=m
# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_TPS51632=m
CONFIG_REGULATOR_TPS62360=m
@@ -3837,7 +3955,6 @@ CONFIG_REGULATOR_TPS65132=m
#
# end of ARM devices
-# CONFIG_DRM_XEN is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
@@ -3901,6 +4018,7 @@ CONFIG_FB_EFI=y
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_HYPERV is not set
# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
# end of Frame buffer Devices
@@ -3967,6 +4085,7 @@ CONFIG_HID_GENERIC=m
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
@@ -4003,11 +4122,13 @@ CONFIG_HID_GENERIC=m
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PLAYSTATION is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
@@ -4051,7 +4172,7 @@ CONFIG_USB_HIDDEV=y
#
# I2C HID support
#
-# CONFIG_I2C_HID is not set
+# CONFIG_I2C_HID_ACPI is not set
# end of I2C HID support
#
@@ -4059,6 +4180,12 @@ CONFIG_USB_HIDDEV=y
#
# CONFIG_INTEL_ISH_HID is not set
# end of Intel ISH HID support
+
+#
+# AMD SFH HID Support
+#
+# CONFIG_AMD_SFH_HID is not set
+# end of AMD SFH HID Support
# end of HID support
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -4153,7 +4280,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
-# CONFIG_USB_CDNS3 is not set
+# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
@@ -4207,7 +4334,6 @@ CONFIG_USB_SERIAL_SIERRAWIRELESS=m
# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=m
# CONFIG_USB_SERIAL_CYBERJACK is not set
-CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
# CONFIG_USB_SERIAL_OMNINET is not set
@@ -4217,6 +4343,7 @@ CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_UPD78F0730=m
+# CONFIG_USB_SERIAL_XR is not set
# CONFIG_USB_SERIAL_DEBUG is not set
#
@@ -4302,11 +4429,9 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
# LED drivers
#
# CONFIG_LEDS_APU is not set
-CONFIG_LEDS_AS3645A=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM3532 is not set
CONFIG_LEDS_LM3642=m
-CONFIG_LEDS_LM3601X=m
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
CONFIG_LEDS_GPIO=m
@@ -4320,6 +4445,7 @@ CONFIG_LEDS_PCA963X=m
CONFIG_LEDS_REGULATOR=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
+# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_TLC591XX=m
CONFIG_LEDS_LM355x=m
@@ -4334,6 +4460,13 @@ CONFIG_LEDS_MLXREG=m
# CONFIG_LEDS_USER is not set
CONFIG_LEDS_NIC78BX=m
# CONFIG_LEDS_TI_LMU_COMMON is not set
+
+#
+# Flash and Torch LED drivers
+#
+CONFIG_LEDS_AS3645A=m
+CONFIG_LEDS_LM3601X=m
+# CONFIG_LEDS_RT8515 is not set
# CONFIG_LEDS_SGM3140 is not set
#
@@ -4359,6 +4492,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_NETDEV=m
# CONFIG_LEDS_TRIGGER_PATTERN is not set
# CONFIG_LEDS_TRIGGER_AUDIO is not set
+# CONFIG_LEDS_TRIGGER_TTY is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
@@ -4369,7 +4503,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_DECODE_MCE=m
# CONFIG_EDAC_GHES is not set
CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
@@ -4385,6 +4518,7 @@ CONFIG_EDAC_SBRIDGE=m
CONFIG_EDAC_SKX=m
# CONFIG_EDAC_I10NM is not set
CONFIG_EDAC_PND2=m
+# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
@@ -4447,6 +4581,7 @@ CONFIG_RTC_I2C_AND_SPI=y
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
#
# Platform RTC drivers
@@ -4475,6 +4610,7 @@ CONFIG_RTC_DRV_CMOS=y
#
# HID Sensor RTC drivers
#
+# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -4486,9 +4622,14 @@ CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
# CONFIG_ALTERA_MSGDMA is not set
CONFIG_INTEL_IDMA64=y
+CONFIG_INTEL_IDXD_BUS=y
CONFIG_INTEL_IDXD=y
+# CONFIG_INTEL_IDXD_COMPAT is not set
+# CONFIG_INTEL_IDXD_SVM is not set
+# CONFIG_INTEL_IDXD_PERFMON is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
+# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
@@ -4497,6 +4638,7 @@ CONFIG_INTEL_IOATDMA=y
# CONFIG_DW_EDMA_PCIE is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
+# CONFIG_INTEL_LDMA is not set
#
# DMA Clients
@@ -4512,8 +4654,10 @@ CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_UDMABUF is not set
# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_SYSFS_STATS is not set
# end of DMABUF options
CONFIG_DCA=y
@@ -4532,6 +4676,7 @@ CONFIG_UIO_PCI_GENERIC=m
# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO=m
+CONFIG_VIRTIO_PCI_LIB=m
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
@@ -4584,30 +4729,42 @@ CONFIG_XEN_HAVE_VPMU=y
# end of Xen driver support
# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACPI_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
+# CONFIG_AMD_PMC is not set
+# CONFIG_ADV_SWBUTTON is not set
# CONFIG_ASUS_WIRELESS is not set
-# CONFIG_DCDBAS is not set
-# CONFIG_DELL_SMBIOS is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DELL_SMO8800 is not set
+# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_HP_ACCEL is not set
-# CONFIG_HP_WIRELESS is not set
+# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_ATOMISP2_LED is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
+# CONFIG_INTEL_SAR_INT1092 is not set
+# CONFIG_INTEL_SKL_INT3472 is not set
+# CONFIG_INTEL_PMC_CORE is not set
+
+#
+# Intel Speed Select Technology interface support
+#
+# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
+# end of Intel Speed Select Technology interface support
+
# CONFIG_INTEL_HID_EVENT is not set
-# CONFIG_INTEL_INT0002_VGPIO is not set
-# CONFIG_INTEL_MENLOW is not set
# CONFIG_INTEL_VBTN is not set
-# CONFIG_SURFACE_3_POWER_OPREGION is not set
-# CONFIG_SURFACE_PRO3_BUTTON is not set
+# CONFIG_INTEL_INT0002_VGPIO is not set
+# CONFIG_INTEL_PUNIT_IPC is not set
+# CONFIG_INTEL_RST is not set
+# CONFIG_INTEL_SMARTCONNECT is not set
+# CONFIG_INTEL_TURBO_MAX_3 is not set
+# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
@@ -4618,34 +4775,35 @@ CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_I2C_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INTEL_IPS is not set
-# CONFIG_INTEL_RST is not set
-# CONFIG_INTEL_SMARTCONNECT is not set
-
-#
-# Intel Speed Select Technology interface support
-#
-# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
-# end of Intel Speed Select Technology interface support
-
-# CONFIG_INTEL_TURBO_MAX_3 is not set
-# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
-# CONFIG_INTEL_PMC_CORE is not set
-# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
CONFIG_PMC_ATOM=y
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
+CONFIG_SURFACE_PLATFORMS=y
+# CONFIG_SURFACE_3_POWER_OPREGION is not set
+# CONFIG_SURFACE_GPE is not set
+# CONFIG_SURFACE_HOTPLUG is not set
+# CONFIG_SURFACE_PRO3_BUTTON is not set
+# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_HAVE_CLK=y
-CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_XILINX_VCU is not set
# CONFIG_HWSPINLOCK is not set
#
@@ -4667,11 +4825,15 @@ CONFIG_IOMMU_SUPPORT=y
#
# Generic IOMMU Pagetable Support
#
+CONFIG_IOMMU_IO_PGTABLE=y
# end of Generic IOMMU Pagetable Support
# CONFIG_IOMMU_DEBUGFS is not set
+# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
+CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
+CONFIG_IOMMU_SVA_LIB=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
CONFIG_DMAR_TABLE=y
@@ -4682,6 +4844,7 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
+# CONFIG_VIRTIO_IOMMU is not set
#
# Remoteproc drivers
@@ -4708,11 +4871,6 @@ CONFIG_HYPERV_IOMMU=y
# end of Amlogic SoC drivers
#
-# Aspeed SoC drivers
-#
-# end of Aspeed SoC drivers
-
-#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers
@@ -4728,6 +4886,11 @@ CONFIG_HYPERV_IOMMU=y
# end of i.MX SoC drivers
#
+# Enable LiteX SoC Builder specific drivers
+#
+# end of Enable LiteX SoC Builder specific drivers
+
+#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers
@@ -4737,7 +4900,6 @@ CONFIG_HYPERV_IOMMU=y
#
# Xilinx SoC drivers
#
-# CONFIG_XILINX_VCU is not set
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers
@@ -4776,6 +4938,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
# CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4812,6 +4975,7 @@ CONFIG_DAX=y
# CONFIG_DEV_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
+# CONFIG_NVMEM_RMEM is not set
#
# HW tracing support
@@ -4860,7 +5024,6 @@ CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_EXPORTFS_BLOCK_OPS is not set
CONFIG_FILE_LOCKING=y
-CONFIG_MANDATORY_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
@@ -4884,11 +5047,11 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
# Caches
#
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
# CONFIG_CACHEFILES is not set
# end of Caches
@@ -4912,6 +5075,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_DEFAULT_UTF8=y
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS3_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems
#
@@ -4931,6 +5095,8 @@ CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
+CONFIG_HUGETLB_PAGE_FREE_VMEMMAP=y
+# CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON is not set
CONFIG_MEMFD_CREATE=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=m
@@ -4971,6 +5137,7 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
# CONFIG_PSTORE_DEFLATE_COMPRESS is not set
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
@@ -4980,6 +5147,7 @@ CONFIG_PSTORE=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
@@ -5052,7 +5220,6 @@ CONFIG_KEYS=y
CONFIG_SECURITY_DMESG_RESTRICT=y
# CONFIG_SECURITY is not set
CONFIG_SECURITYFS=y
-CONFIG_PAGE_TABLE_ISOLATION=y
# CONFIG_INTEL_TXT is not set
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
@@ -5078,7 +5245,6 @@ CONFIG_INIT_STACK_NONE=y
# end of Kernel hardening options
# end of Security options
-CONFIG_XOR_BLOCKS=m
CONFIG_CRYPTO=y
#
@@ -5112,7 +5278,6 @@ CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_SIMD=m
-CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_ENGINE=m
#
@@ -5122,6 +5287,7 @@ CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=m
CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=m
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
@@ -5174,8 +5340,7 @@ CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_XXHASH=m
# CONFIG_CRYPTO_BLAKE2B is not set
-# CONFIG_CRYPTO_BLAKE2S is not set
-CONFIG_CRYPTO_BLAKE2S_X86=m
+CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=y
@@ -5184,10 +5349,7 @@ CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
@@ -5197,7 +5359,6 @@ CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SHA3=m
CONFIG_CRYPTO_SM3=m
CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
@@ -5225,7 +5386,6 @@ CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_SEED=m
@@ -5234,6 +5394,8 @@ CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_SM4=m
+# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -5287,6 +5449,7 @@ CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_C3XXX=m
CONFIG_CRYPTO_DEV_QAT_C62X=m
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
@@ -5313,6 +5476,8 @@ CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking
+CONFIG_BINARY_PRINTF=y
+
#
# Library routines
#
@@ -5352,6 +5517,7 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
# end of Crypto library routines
CONFIG_LIB_MEMNEQ=y
@@ -5412,6 +5578,7 @@ CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_SWIOTLB=y
# CONFIG_DMA_CMA is not set
# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_IOMMU_HELPER=y
CONFIG_CHECK_SIGNATURE=y
@@ -5440,7 +5607,6 @@ CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_SBITMAP=y
-# CONFIG_STRING_SELFTEST is not set
# end of Library routines
CONFIG_PLDMFW=y
@@ -5454,6 +5620,7 @@ CONFIG_PLDMFW=y
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -5468,15 +5635,15 @@ CONFIG_DEBUG_BUGVERBOSE=y
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
-CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_STACK_VALIDATION=y
+# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options
@@ -5508,8 +5675,6 @@ CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_PAGE_OWNER is not set
CONFIG_PAGE_POISONING=y
-CONFIG_PAGE_POISONING_NO_SANITY=y
-# CONFIG_PAGE_POISONING_ZERO is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
@@ -5530,11 +5695,15 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
+# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
@@ -5592,6 +5761,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)
+# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
@@ -5620,7 +5790,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=21
# end of RCU Debugging
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
@@ -5629,9 +5798,11 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
@@ -5644,8 +5815,6 @@ CONFIG_IO_STRICT_DEVMEM=y
#
# x86 Debugging
#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_EARLY_PRINTK is not set
# CONFIG_EFI_PGT_DUMP is not set
@@ -5678,6 +5847,7 @@ CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage
diff --git a/packages/linux-kernel/build-accel-ppp.sh b/packages/linux-kernel/build-accel-ppp.sh
index 90808609..45c3494e 100755
--- a/packages/linux-kernel/build-accel-ppp.sh
+++ b/packages/linux-kernel/build-accel-ppp.sh
@@ -22,7 +22,6 @@ cmake -DBUILD_IPOE_DRIVER=TRUE \
-DBUILD_VLAN_MON_DRIVER=TRUE \
-DCMAKE_INSTALL_PREFIX=/usr \
-DKDIR=${KERNEL_DIR} \
- -DLUA=TRUE \
-DLUA=5.3 \
-DMODULES_KDIR=${KERNEL_VERSION}${KERNEL_SUFFIX} \
-DCPACK_TYPE=Debian11 ..
diff --git a/packages/linux-kernel/build-linux-firmware.sh b/packages/linux-kernel/build-linux-firmware.sh
index 95d8ca56..83501e6e 100755
--- a/packages/linux-kernel/build-linux-firmware.sh
+++ b/packages/linux-kernel/build-linux-firmware.sh
@@ -38,15 +38,46 @@ if [ -d ${VYOS_FIRMWARE_DIR} ]; then
fi
mkdir -p ${VYOS_FIRMWARE_DIR}
-# Copy firmware file from linux firmware repository into
+# Install firmware files to build directory
+LINUX_FIRMWARE_BUILD_DIR="${LINUX_FIRMWARE}_${GIT_COMMIT}"
+
+if [ -d ${LINUX_FIRMWARE_BUILD_DIR} ]; then
+ rm -rf "${LINUX_FIRMWARE_BUILD_DIR}"
+fi
+
+mkdir -p "${LINUX_FIRMWARE_BUILD_DIR}"
+
+(
+ cd ${LINUX_FIRMWARE}
+ ./copy-firmware.sh "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}"
+)
+
+# Copy firmware file from linux firmware build directory into
# assembly folder for the vyos-firmware package
SED_REPLACE="s@${CWD}/${LINUX_FIRMWARE}/@@"
for FILE in ${FW_FILES}; do
- if [ -f ${LINUX_FIRMWARE}/${FILE} ]; then
+ # If file is a symlink install the symlink target as well
+ if [ -h "${LINUX_FIRMWARE_BUILD_DIR}/${FILE}" ]; then
+ TARGET="$(realpath --relative-to="${LINUX_FIRMWARE_BUILD_DIR}" "${LINUX_FIRMWARE_BUILD_DIR}/${FILE}")"
+ TARGET_DIR="${VYOS_FIRMWARE_DIR}/lib/firmware/$(dirname "${TARGET}")"
+
+ if [ ! -f "${TARGET_DIR}/$(basename "${TARGET}")" ]; then
+ if [ -f "${LINUX_FIRMWARE_BUILD_DIR}/${TARGET}" ]; then
+ mkdir -p "${TARGET_DIR}"
+
+ echo "I: install firmware: ${TARGET}"
+ cp "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}/${TARGET}" "${TARGET_DIR}"
+ else
+ echo "I: firmware file not found: ${TARGET}"
+ fi
+ fi
+ fi
+
+ if [ -f ${LINUX_FIRMWARE_BUILD_DIR}/${FILE} ]; then
FW_DIR="${VYOS_FIRMWARE_DIR}/lib/firmware/$(dirname ${FILE})"
- mkdir -p ${FW_DIR}
+ mkdir -p "${FW_DIR}"
echo "I: install firmware: ${FILE}"
- cp ${CWD}/${LINUX_FIRMWARE}/${FILE} ${FW_DIR}
+ cp -P "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}/${FILE}" "${FW_DIR}"
else
echo "I: firmware file not found: ${FILE}"
fi
@@ -59,4 +90,5 @@ fpm --input-type dir --output-type deb --name ${VYOS_FIRMWARE_NAME} \
--description "Binary firmware for various drivers in the Linux kernel" \
--architecture all --version ${GIT_COMMIT} --deb-compression gz -C ${VYOS_FIRMWARE_DIR}
+rm -rf "${LINUX_FIRMWARE_BUILD_DIR}"
rm -rf ${VYOS_FIRMWARE_DIR}
diff --git a/packages/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch b/packages/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch
index b28f255e..c56ec40e 100644
--- a/packages/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch
+++ b/packages/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch
@@ -6,7 +6,6 @@ Subject: [PATCH] VyOS: Add linkstate IP device attribute
Backport of earlier Vyatta patch.
(cherry picked from commit 7c5a851086686be14ae937c80d6cee34814dbefc)
-
---
Documentation/networking/ip-sysctl.rst | 11 +++++++++++
include/linux/inetdevice.h | 1 +
@@ -19,12 +18,12 @@ Backport of earlier Vyatta patch.
8 files changed, 34 insertions(+)
diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst
-index 25e6673a085a..4cd1134d3aac 100644
+index ba0e8e6337c0..845599a58e0c 100644
--- a/Documentation/networking/ip-sysctl.rst
+++ b/Documentation/networking/ip-sysctl.rst
-@@ -1425,6 +1425,17 @@ rp_filter - INTEGER
- Default value is 0. Note that some distributions enable it
- in startup scripts.
+@@ -1526,6 +1526,17 @@ src_valid_mark - BOOLEAN
+
+ Default value is 0.
+link_filter - INTEGER
+ 0 - Allow packets to be received for the address on this interface
@@ -41,7 +40,7 @@ index 25e6673a085a..4cd1134d3aac 100644
- 1 - Allows you to have multiple network interfaces on the same
subnet, and have the ARPs for each interface be answered
diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index 3515ca64e638..bfb49b5913e7 100644
+index a038feb63f23..8720f70360a7 100644
--- a/include/linux/inetdevice.h
+++ b/include/linux/inetdevice.h
@@ -133,6 +133,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
@@ -53,11 +52,11 @@ index 3515ca64e638..bfb49b5913e7 100644
struct in_ifaddr {
struct hlist_node hash;
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
-index dda61d150a13..9d96b27ec350 100644
+index d1f386430795..6f24c8827d88 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
-@@ -77,6 +77,7 @@ struct ipv6_devconf {
- __s32 rpl_seg_enabled;
+@@ -81,6 +81,7 @@ struct ipv6_devconf {
+ __u8 ioam6_enabled;
struct ctl_table_header *sysctl_header;
+ __s32 link_filter;
@@ -77,22 +76,22 @@ index e42d13b55cf3..8f5291976f04 100644
};
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h
-index 13e8751bf24a..2ea26a70bda2 100644
+index b243a53fa985..9a3e0c89d17c 100644
--- a/include/uapi/linux/ipv6.h
+++ b/include/uapi/linux/ipv6.h
-@@ -189,6 +189,7 @@ enum {
- DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN,
- DEVCONF_NDISC_TCLASS,
- DEVCONF_RPL_SEG_ENABLED,
+@@ -193,6 +193,7 @@ enum {
+ DEVCONF_IOAM6_ENABLED,
+ DEVCONF_IOAM6_ID,
+ DEVCONF_IOAM6_ID_WIDE,
+ DEVCONF_LINK_FILTER,
DEVCONF_MAX
};
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
-index 123a6d39438f..1deb400805b0 100644
+index 4744c7839de5..4470bd7a9380 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
-@@ -2547,6 +2547,7 @@ static struct devinet_sysctl_table {
+@@ -2552,6 +2552,7 @@ static struct devinet_sysctl_table {
"route_localnet"),
DEVINET_SYSCTL_FLUSHING_ENTRY(DROP_UNICAST_IN_L2_MULTICAST,
"drop_unicast_in_l2_multicast"),
@@ -101,20 +100,20 @@ index 123a6d39438f..1deb400805b0 100644
};
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
-index 8b6eb384bac7..176a914acfee 100644
+index 6dcf034835ec..c1820333fd55 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
-@@ -5516,6 +5516,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
- array[DEVCONF_DISABLE_POLICY] = cnf->disable_policy;
- array[DEVCONF_NDISC_TCLASS] = cnf->ndisc_tclass;
- array[DEVCONF_RPL_SEG_ENABLED] = cnf->rpl_seg_enabled;
+@@ -5579,6 +5579,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
+ array[DEVCONF_IOAM6_ENABLED] = cnf->ioam6_enabled;
+ array[DEVCONF_IOAM6_ID] = cnf->ioam6_id;
+ array[DEVCONF_IOAM6_ID_WIDE] = cnf->ioam6_id_wide;
+ array[DEVCONF_LINK_FILTER] = cnf->link_filter;
}
static inline size_t inet6_ifla6_size(void)
-@@ -6896,6 +6897,13 @@ static const struct ctl_table addrconf_sysctl[] = {
+@@ -7020,6 +7021,13 @@ static const struct ctl_table addrconf_sysctl[] = {
.mode = 0644,
- .proc_handler = proc_dointvec,
+ .proc_handler = proc_douintvec,
},
+ {
+ .procname = "link_filter",
@@ -122,15 +121,15 @@ index 8b6eb384bac7..176a914acfee 100644
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
-+ },
++ },
{
/* sentinel */
}
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
-index 7e0ce7af8234..c4ef9f4d40e1 100644
+index 27274fc3619a..56e546ab8453 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
-@@ -687,6 +687,14 @@ static inline void rt6_probe(struct fib6_nh *fib6_nh)
+@@ -672,6 +672,14 @@ static inline void rt6_probe(struct fib6_nh *fib6_nh)
}
#endif
@@ -145,7 +144,7 @@ index 7e0ce7af8234..c4ef9f4d40e1 100644
/*
* Default Router Selection (RFC 2461 6.3.6)
*/
-@@ -728,6 +736,8 @@ static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
+@@ -713,6 +721,8 @@ static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
if (!m && (strict & RT6_LOOKUP_F_IFACE))
return RT6_NUD_FAIL_HARD;
@@ -155,5 +154,5 @@ index 7e0ce7af8234..c4ef9f4d40e1 100644
m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(fib6_flags)) << 2;
#endif
--
-2.20.1
+2.30.2
diff --git a/packages/linux-kernel/patches/kernel/0002-inotify-support-for-stackable-filesystems.patch b/packages/linux-kernel/patches/kernel/0002-inotify-support-for-stackable-filesystems.patch
index 93e9154e..d020a473 100644
--- a/packages/linux-kernel/patches/kernel/0002-inotify-support-for-stackable-filesystems.patch
+++ b/packages/linux-kernel/patches/kernel/0002-inotify-support-for-stackable-filesystems.patch
@@ -19,7 +19,6 @@ for bug #303, and will allow that commit to be reverted.
Bug #425 http://bugzilla.vyos.net/show_bug.cgi?id=425
(cherry picked from commit a93f1128bc83b5a6628da242e71c18ef05e81ea2)
-
---
fs/notify/inotify/Kconfig | 9 +++
fs/notify/inotify/inotify_user.c | 114 ++++++++++++++++++++++++++++++-
@@ -45,7 +44,7 @@ index 1cc8be25df7e..bc4acd1a6ea4 100644
+
+ If unsure, say N.
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
-index 186722ba3894..1ce328e506c8 100644
+index 9fb7701d2f8a..a605abbf04ce 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -15,6 +15,7 @@
@@ -56,7 +55,7 @@ index 186722ba3894..1ce328e506c8 100644
#include <linux/fsnotify_backend.h>
#include <linux/idr.h>
#include <linux/init.h> /* fs_initcall */
-@@ -75,6 +76,93 @@ struct ctl_table inotify_table[] = {
+@@ -89,6 +90,93 @@ struct ctl_table inotify_table[] = {
};
#endif /* CONFIG_SYSCTL */
@@ -150,7 +149,7 @@ index 186722ba3894..1ce328e506c8 100644
static inline __u32 inotify_arg_to_mask(struct inode *inode, u32 arg)
{
__u32 mask;
-@@ -334,8 +422,8 @@ static const struct file_operations inotify_fops = {
+@@ -347,8 +435,8 @@ static const struct file_operations inotify_fops = {
/*
* find_inode - resolve a user-given path to a specific inode
*/
@@ -161,7 +160,7 @@ index 186722ba3894..1ce328e506c8 100644
{
int error;
-@@ -356,6 +444,28 @@ static int inotify_find_inode(const char __user *dirname, struct path *path,
+@@ -369,6 +457,28 @@ static int inotify_find_inode(const char __user *dirname, struct path *path,
return error;
}
@@ -191,7 +190,7 @@ index 186722ba3894..1ce328e506c8 100644
struct inotify_inode_mark *i_mark)
{
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
-index 290983bcfbb3..c751b0c8d9e5 100644
+index 7bb0a47cb615..6dd5f1000151 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -15,6 +15,7 @@
@@ -202,7 +201,7 @@ index 290983bcfbb3..c751b0c8d9e5 100644
#include "overlayfs.h"
MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>");
-@@ -2040,6 +2041,18 @@ static void ovl_inode_init_once(void *foo)
+@@ -2178,6 +2179,18 @@ static void ovl_inode_init_once(void *foo)
inode_init_once(&oi->vfs_inode);
}
@@ -221,7 +220,7 @@ index 290983bcfbb3..c751b0c8d9e5 100644
static int __init ovl_init(void)
{
int err;
-@@ -2055,18 +2068,24 @@ static int __init ovl_init(void)
+@@ -2193,18 +2206,24 @@ static int __init ovl_init(void)
err = ovl_aio_request_cache_init();
if (!err) {
err = register_filesystem(&ovl_fs_type);
@@ -295,5 +294,5 @@ index 6a24905f6e1e..4484f0760588 100644
+
#endif /* _LINUX_INOTIFY_H */
--
-2.20.1
+2.30.2
diff --git a/packages/minisign/.gitignore b/packages/minisign/.gitignore
index 27c4fdb8..bd3598bf 100644
--- a/packages/minisign/.gitignore
+++ b/packages/minisign/.gitignore
@@ -1,6 +1 @@
minisign/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/ndppd/.gitignore b/packages/ndppd/.gitignore
index 779dfe52..0f24798d 100644
--- a/packages/ndppd/.gitignore
+++ b/packages/ndppd/.gitignore
@@ -1,6 +1 @@
ndppd/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/netfilter/.gitignore b/packages/netfilter/.gitignore
new file mode 100644
index 00000000..5f482452
--- /dev/null
+++ b/packages/netfilter/.gitignore
@@ -0,0 +1,4 @@
+pkg-conntrack-tools/
+pkg-libnetfilter-conntrack/
+pkg-libnftnl/
+pkg-nftables/
diff --git a/packages/netfilter/Jenkinsfile b/packages/netfilter/Jenkinsfile
new file mode 100644
index 00000000..d79076f0
--- /dev/null
+++ b/packages/netfilter/Jenkinsfile
@@ -0,0 +1,52 @@
+// Copyright (C) 2020-2021 VyOS maintainers and contributors
+//
+// This program is free software; you can redistribute it and/or modify
+// in order to easy exprort images built to "external" world
+// it under the terms of the GNU General Public License version 2 or later as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+@NonCPS
+
+// Using a version specifier library, use 'current' branch. The underscore (_)
+// is not a typo! You need this underscore if the line immediately after the
+// @Library annotation is not an import statement!
+@Library('vyos-build@current')_
+
+def pkgList = [
+ // libnftnl
+ ['name': 'pkg-libnftnl',
+ 'scmCommit': 'debian/1.2.3-1',
+ 'scmUrl': 'https://salsa.debian.org/pkg-netfilter-team/pkg-libnftnl.git',
+ 'buildCmd': 'dpkg-buildpackage -uc -us -tc -b'],
+
+ // nftables
+ ['name': 'pkg-nftables',
+ 'scmCommit': 'debian/1.0.5-1',
+ 'scmUrl': 'https://salsa.debian.org/pkg-netfilter-team/pkg-nftables.git',
+ 'buildCmd': '''sudo dpkg -i ../libnftnl*.deb;
+ sed -i "s/debhelper-compat.*/debhelper-compat (= 12),/" debian/control;
+ sudo apt-get update; sudo apt-get install -y libeditreadline-dev;
+ dpkg-buildpackage -uc -us -tc -b'''],
+
+ // libnetfilter-conntrack
+ ['name': 'pkg-libnetfilter-conntrack',
+ 'scmCommit': 'debian/1.0.9-1',
+ 'scmUrl': 'https://salsa.debian.org/pkg-netfilter-team/pkg-libnetfilter-conntrack.git',
+ 'buildCmd': 'dpkg-buildpackage -uc -us -tc -b'],
+
+ // conntrack-tools
+ ['name': 'pkg-conntrack-tools',
+ 'scmCommit': 'debian/1%1.4.6-2',
+ 'scmUrl': 'https://salsa.debian.org/pkg-netfilter-team/pkg-conntrack-tools.git',
+ 'buildCmd': '''sudo dpkg -i ../libnetfilter*.deb && dpkg-buildpackage -uc -us -tc -b'''],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('Netfilter', pkgList, null, true)
diff --git a/packages/opennhrp/.gitignore b/packages/opennhrp/.gitignore
index 03468475..cc02948b 100644
--- a/packages/opennhrp/.gitignore
+++ b/packages/opennhrp/.gitignore
@@ -1,6 +1 @@
opennhrp/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/openvpn-otp/.gitignore b/packages/openvpn-otp/.gitignore
index 83a4b677..91d40208 100644
--- a/packages/openvpn-otp/.gitignore
+++ b/packages/openvpn-otp/.gitignore
@@ -1,6 +1 @@
openvpn-otp/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/owamp/.gitignore b/packages/owamp/.gitignore
index 34df20d8..0826a5ef 100644
--- a/packages/owamp/.gitignore
+++ b/packages/owamp/.gitignore
@@ -1,6 +1 @@
owamp/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/pam_tacplus/.gitignore b/packages/pam_tacplus/.gitignore
new file mode 100644
index 00000000..4c18b4a2
--- /dev/null
+++ b/packages/pam_tacplus/.gitignore
@@ -0,0 +1,2 @@
+pam_tacplus/
+pam_tacplus-debian/
diff --git a/packages/pam_tacplus/Jenkinsfile b/packages/pam_tacplus/Jenkinsfile
new file mode 100644
index 00000000..b5af8eda
--- /dev/null
+++ b/packages/pam_tacplus/Jenkinsfile
@@ -0,0 +1,34 @@
+// Copyright (C) 2022 VyOS maintainers and contributors
+//
+// This program is free software; you can redistribute it and/or modify
+// in order to easy exprort images built to "external" world
+// it under the terms of the GNU General Public License version 2 or later as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+@NonCPS
+
+// Using a version specifier library, use 'current' branch. The underscore (_)
+// is not a typo! You need this underscore if the line immediately after the
+// @Library annotation is not an import statement!
+@Library('vyos-build@current')_
+
+def pkgList = [
+ ['name': 'pam_tacplus-debian',
+ 'scmCommit': '50c6fd7',
+ 'scmUrl': 'https://github.com/kravietz/pam_tacplus-debian',
+ 'buildCmd': '/bin/true'],
+ ['name': 'pam_tacplus',
+ 'scmCommit': '4f91b0d',
+ 'scmUrl': 'https://github.com/kravietz/pam_tacplus',
+ 'buildCmd': 'cd ..; ./build.sh'],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('pam_tacplus', pkgList, null, true, "**/packages/pam_tacplus/*")
diff --git a/packages/pam_tacplus/build.sh b/packages/pam_tacplus/build.sh
new file mode 100755
index 00000000..fe4b06c8
--- /dev/null
+++ b/packages/pam_tacplus/build.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+CWD=$(pwd)
+set -e
+
+SRC=pam_tacplus
+if [ ! -d ${SRC} ]; then
+ echo "Source directory does not exists, please 'git clone'"
+ exit 1
+fi
+
+cd ${SRC}
+cp -a ../pam_tacplus-debian debian
+rm -f debian/compat
+
+dpkg-buildpackage -uc -us -tc -b -d
diff --git a/packages/pyhumps/.gitignore b/packages/pyhumps/.gitignore
new file mode 100644
index 00000000..0cf480fa
--- /dev/null
+++ b/packages/pyhumps/.gitignore
@@ -0,0 +1 @@
+humps/
diff --git a/packages/pyhumps/Jenkinsfile b/packages/pyhumps/Jenkinsfile
new file mode 100644
index 00000000..2ed0f995
--- /dev/null
+++ b/packages/pyhumps/Jenkinsfile
@@ -0,0 +1,30 @@
+// Copyright (C) 2022 VyOS maintainers and contributors
+//
+// This program is free software; you can redistribute it and/or modify
+// in order to easy exprort images built to "external" world
+// it under the terms of the GNU General Public License version 2 or later as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+@NonCPS
+
+// Using a version specifier library, use 'current' branch. The underscore (_)
+// is not a typo! You need this underscore if the line immediately after the
+// @Library annotation is not an import statement!
+@Library('vyos-build@current')_
+
+def pkgList = [
+ ['name': 'humps',
+ 'scmCommit': 'v3.8.0',
+ 'scmUrl': 'https://github.com/nficano/humps.git',
+ 'buildCmd': 'python setup.py --command-packages=stdeb.command bdist_deb; cp deb_dist/*.deb ..'],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('humps', pkgList, null, false, "**/packages/pyhumps/*")
diff --git a/packages/sstp-client/.gitignore b/packages/sstp-client/.gitignore
new file mode 100644
index 00000000..5a3cee2b
--- /dev/null
+++ b/packages/sstp-client/.gitignore
@@ -0,0 +1 @@
+sstp-client/
diff --git a/packages/sstp-client/Jenkinsfile b/packages/sstp-client/Jenkinsfile
new file mode 100644
index 00000000..9ee4f2c7
--- /dev/null
+++ b/packages/sstp-client/Jenkinsfile
@@ -0,0 +1,30 @@
+// Copyright (C) 2022 VyOS maintainers and contributors
+//
+// This program is free software; you can redistribute it and/or modify
+// in order to easy exprort images built to "external" world
+// it under the terms of the GNU General Public License version 2 or later as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+@NonCPS
+
+// Using a version specifier library, use 'current' branch. The underscore (_)
+// is not a typo! You need this underscore if the line immediately after the
+// @Library annotation is not an import statement!
+@Library('vyos-build@current')_
+
+def pkgList = [
+ ['name': 'sstp-client',
+ 'scmCommit': 'debian/1.0.18-1',
+ 'scmUrl': 'https://salsa.debian.org/debian/sstp-client',
+ 'buildCmd': 'dpkg-buildpackage -uc -us -tc -b'],
+]
+
+// Start package build using library function from https://github.com/vyos/vyos-build
+buildPackage('sstp-client', pkgList, null, true, "**/packages/sstp-client/*")
diff --git a/packages/strongswan/.gitignore b/packages/strongswan/.gitignore
index a96baff8..c6b0d6f0 100644
--- a/packages/strongswan/.gitignore
+++ b/packages/strongswan/.gitignore
@@ -1,6 +1 @@
strongswan/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/telegraf/build.sh b/packages/telegraf/build.sh
index 77712412..46dfc88a 100755
--- a/packages/telegraf/build.sh
+++ b/packages/telegraf/build.sh
@@ -2,6 +2,8 @@
CWD=$(pwd)
set -e
+BUILD_ARCH=$(dpkg-architecture -qDEB_TARGET_ARCH)
+
SRC=telegraf
if [ ! -d ${SRC} ]; then
echo "Source directory does not exists, please 'git clone'"
@@ -16,7 +18,7 @@ cp ${PLUGIN_DIR}/inputs/all/all.go ${SRC}/plugins/inputs/all/all.go
echo "I: Selecting Output plugins"
cp ${PLUGIN_DIR}/outputs/all/all.go ${SRC}/plugins/outputs/all/all.go
-echo "I: Build Debian amd64 package"
+echo "I: Build Debian ${BUILD_ARCH} package"
cd ${SRC}
export PATH=/opt/go/bin:$PATH
-LDFLAGS=-w make amd64.deb
+LDFLAGS=-w make "${BUILD_ARCH}.deb"
diff --git a/packages/wide-dhcpv6/.gitignore b/packages/wide-dhcpv6/.gitignore
index 3b710873..5fd2ad64 100644
--- a/packages/wide-dhcpv6/.gitignore
+++ b/packages/wide-dhcpv6/.gitignore
@@ -1,6 +1 @@
wide-dhcpv6/
-*.deb
-*.dsc
-*.buildinfo
-*.changes
-*.git
diff --git a/packages/wide-dhcpv6/patches/0024-bind-to-single-socket.patch b/packages/wide-dhcpv6/patches/0024-bind-to-single-socket.patch
new file mode 100644
index 00000000..b5751325
--- /dev/null
+++ b/packages/wide-dhcpv6/patches/0024-bind-to-single-socket.patch
@@ -0,0 +1,17 @@
+diff --git a/dhcp6c.c b/dhcp6c.c
+index 1caaaa5..04ce9c5 100644
+--- a/dhcp6c.c
++++ b/dhcp6c.c
+@@ -217,6 +217,12 @@ main(argc, argv)
+ argv[0]);
+ exit(1);
+ }
++
++ if (setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, argv[0], strlen(argv[0])) != 0) {
++ debug_printf(LOG_ERR, FNAME, "failed to bind %s", argv[0]);
++ exit(1);
++ }
++
+ argv++;
+ }
+
diff --git a/scripts/build-config b/scripts/build-config
deleted file mode 100755
index 4f4a8c08..00000000
--- a/scripts/build-config
+++ /dev/null
@@ -1,168 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2019, VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# File: build-config
-# Purpose:
-# This script serves the same purpose as ./configure in traditional
-# autoconf setups.
-# It takes build configuration options from command line, checks them,
-# builds a config dictionary, augments it with some default and/or
-# computed values and saves it to build/build-config.json
-# for other build scripts to read.
-
-import argparse
-import re
-import sys
-import os
-import getpass
-import platform
-import json
-
-import defaults
-
-# argparse converts hyphens to underscores,
-# so for lookups in the original options hash we have to
-# convert them back
-def field_to_option(s):
- return re.sub(r'_', '-', s)
-
-def get_default_build_by():
- return "{user}@{host}".format(user= getpass.getuser(), host=platform.node())
-
-def get_validator(optdict, name):
- try:
- return optdict[name][2]
- except KeyError:
- return None
-
-def load_config(filename):
- with open(filename, 'r') as f:
- print(f'Loading {filename}')
- this_config = json.load(f)
-
- if not 'inherit_from' in this_config:
- print(f'No inheritance detected')
- return this_config
-
- inherited_config = load_config(this_config['inherit_from'])
- del this_config['inherit_from']
- inherited_config.update(this_config)
- return inherited_config
-
-
-# Load the build flavor file
-build_flavor = os.getenv('VYOS_BUILD_FLAVOR')
-if build_flavor is None:
- build_flavor = defaults.DEFAULT_BUILD_FLAVOR
-try:
- build_defaults = load_config(build_flavor)
-except Exception as e:
- print("Failed to open the build flavor file {0}: {1}".format(build_flavor, e))
- sys.exit(1)
-
-
-# Options dict format:
-# '$option_name_without_leading_dashes': { ('$help_string', $default_value_generator_thunk, $value_checker_thunk) }
-options = {
- 'architecture': ('Image target architecture (amd64 or i386 or armhf or arm64)', lambda: build_defaults['architecture'], lambda x: x in ['amd64', 'i386', 'armhf', 'arm64']),
- 'build-by': ('Builder identifier (e.g. jrandomhacker@example.net)', get_default_build_by, None),
- 'debian-mirror': ('Debian repository mirror for ISO build', lambda: build_defaults['debian_mirror'], None),
- 'debian-security-mirror': ('Debian security updates mirror', lambda: build_defaults['debian_security_mirror'], None),
- 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: build_defaults['debian_mirror'], None),
- 'vyos-mirror': ('VyOS package mirror', lambda: build_defaults["vyos_mirror"], None),
- 'build-type': ('Build type, release or development', lambda: 'development', lambda x: x in ['release', 'development']),
- 'version': ('Version number (release builds only)', None, None),
- 'build-comment': ('Optional build comment', lambda: '', None)
-}
-
-# Create the option parser
-parser = argparse.ArgumentParser()
-for k, v in options.items():
- help_string, default_value_thunk = v[0], v[1]
- if default_value_thunk is None:
- parser.add_argument('--' + k, type=str, help=help_string)
- else:
- parser.add_argument('--' + k, type=str, help=help_string, default=default_value_thunk())
-
-# The debug option is a bit special since it's different type
-parser.add_argument('--debug', help="Enable debug output", action='store_true')
-
-# Custom APT entry and APT key options can be used multiple times
-parser.add_argument('--custom-apt-entry', help="Custom APT entry", action='append')
-parser.add_argument('--custom-apt-key', help="Custom APT key file", action='append')
-parser.add_argument('--custom-package', help="Custom package to install from repositories", action='append')
-
-args = vars(parser.parse_args())
-
-# Validate options
-for k, v in args.items():
- key = field_to_option(k)
- func = get_validator(options, k)
- if func is not None:
- if not func(v):
- print("{v} is not a valid value for --{o} option".format(o=key, v=v))
- sys.exit(1)
-
-# Some fixup for mirror settings.
-# The idea is: if --debian-mirror is specified but --pbuilder-debian-mirror is not,
-# use the --debian-mirror value for both lb and pbuilder bootstrap
-if (args['debian_mirror'] != build_defaults["debian_mirror"]) and \
- (args['pbuilder_debian_mirror'] == build_defaults["debian_mirror"]):
- args['pbuilder_debian_mirror'] = args['debian_mirror']
-
-# Version can only be set for release builds,
-# for dev builds it hardly makes any sense
-if args['build_type'] == 'development':
- if args['version'] is not None:
- print("Version can only be set for release builds")
- print("Use --build-type=release option if you want to set version number")
- sys.exit(1)
-
-# Populate some defaults that are not configurable,
-# but that are handy to have in the options hash
-args['distribution'] = build_defaults["debian_distribution"]
-args['build_dir'] = defaults.BUILD_DIR
-args['pbuilder_config'] = defaults.PBUILDER_CONFIG
-args['vyos_branch'] = build_defaults["vyos_branch"]
-args['release_train'] = build_defaults["release_train"]
-
-# Add custom packages from build defaults
-if not args['custom_package']:
- args['custom_package'] = []
-args['custom_package'] = args['custom_package'] + build_defaults['custom_packages']
-
-if not args['custom_apt_entry']:
- args['custom_apt_entry'] = []
-args['custom_apt_entry'] = args['custom_apt_entry'] + build_defaults['additional_repositories']
-
-
-# Check the build environment and dependencies
-env_check_retval = os.system("scripts/check-build-env")
-if env_check_retval > 0:
- print("Build environment check failed, fix the issues and retry")
-
-args['kernel_version'] = build_defaults['kernel_version']
-args['kernel_flavor'] = build_defaults['kernel_flavor']
-args['bootloaders'] = build_defaults['bootloaders']
-
-
-# Save to file
-os.makedirs(defaults.BUILD_DIR, exist_ok=True)
-print("Saving the build config to {0}".format(defaults.BUILD_CONFIG))
-with open(defaults.BUILD_CONFIG, 'w') as f:
- json.dump(args, f, indent=4, sort_keys=True)
- print("\n", file=f)
-
diff --git a/scripts/build-flavour b/scripts/build-flavour
deleted file mode 100755
index 5e76672b..00000000
--- a/scripts/build-flavour
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2016 VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# File: build-flavour
-# Purpose: Adds various data files to the build config
-# depending on the build flavour.
-
-
-BUILD_TYPE=$(scripts/query-json build/build-config.json build_type)
-BUILD_ARCH=$(scripts/query-json build/build-config.json architecture)
-
-# Add debug tools if it's a development image
-if [ $BUILD_TYPE = "development" ]; then
- cp data/package-lists/vyos-dev.list.chroot build/config/package-lists/
-fi
-
-# Install grub-pc if it's an x86 build
-if [ $BUILD_ARCH = 'amd64' -o $BUILD_ARCH = 'i386' ]; then
- cp data/package-lists/vyos-x86.list.chroot build/config/package-lists/
-fi
-
-# Install grub-efi-arm if it's an arm build
-if [ $BUILD_ARCH = 'armhf' -o $BUILD_ARCH = 'armel' -o $BUILD_ARCH = 'arm' ]; then
- cp data/package-lists/vyos-arm.list.chroot build/config/package-lists/
-fi
diff --git a/scripts/build-vyos-image b/scripts/build-vyos-image
new file mode 100755
index 00000000..f09791d9
--- /dev/null
+++ b/scripts/build-vyos-image
@@ -0,0 +1,497 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2022 VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# File: build-vyos-image
+# Purpose: builds VyOS images using a fork of Debian's live-build tool
+
+import re
+import os
+import sys
+import uuid
+import glob
+import shutil
+import getpass
+import platform
+import argparse
+import datetime
+import functools
+
+import json
+
+
+try:
+ import toml
+ import jinja2
+ import git
+except ModuleNotFoundError as e:
+ print("Cannot load a required library: {}".format(e))
+ print("Please make sure the following Python3 modules are installed: toml jinja2 git")
+
+import vyos_build_utils as utils
+import vyos_build_defaults as defaults
+
+# argparse converts hyphens to underscores,
+# so for lookups in the original options hash we have to convert them back
+def field_to_option(s):
+ return re.sub(r'_', '-', s)
+
+def get_default_build_by():
+ return "{user}@{host}".format(user= getpass.getuser(), host=platform.node())
+
+def get_validator(optdict, name):
+ try:
+ return optdict[name][2]
+ except KeyError:
+ return None
+
+def merge_dicts(source, destination):
+ """ Merge two dictionaries and return a new dict which has the merged key/value pairs.
+ Merging logic is as follows:
+ Sub-dicts are merged.
+ List values are combined.
+ Scalar values are set to those from the source dict.
+ """
+ from copy import deepcopy
+ tmp = deepcopy(destination)
+
+ for key, value in source.items():
+ if key not in tmp:
+ tmp[key] = value
+ elif isinstance(source[key], dict):
+ tmp[key] = merge_dicts(source[key], tmp[key])
+ elif isinstance(source[key], list):
+ tmp[key] = source[key] + tmp[key]
+ else:
+ tmp[key] = source[key]
+
+ return tmp
+
+def has_nonempty_key(config, key):
+ if key in config:
+ if config[key]:
+ return True
+ return False
+
+def make_toml_path(dir, file_basename):
+ return os.path.join(dir, file_basename + ".toml")
+
+
+if __name__ == "__main__":
+ ## Check if the script is running wirh root permissions
+ ## Since live-build requires privileged calls such as chroot(),
+ ## there's no real way around it.
+ if os.getuid() != 0:
+ print("E: this script requires root privileges")
+ sys.exit(1)
+
+ ## Check if there are missing build dependencies
+ deps = {
+ 'packages': [
+ 'sudo',
+ 'make',
+ 'live-build',
+ 'pbuilder',
+ 'devscripts',
+ 'python3-pystache',
+ 'python3-git',
+ 'qemu-utils'
+ ],
+ 'binaries': []
+ }
+
+ print("I: Checking if packages required for VyOS image build are installed")
+ try:
+ checker = utils.check_system_dependencies(deps)
+ except OSError as e:
+ print(e)
+ sys.exit(1)
+
+ ## Load the file with default build configuration options
+ try:
+ with open(defaults.DEFAULTS_FILE, 'r') as f:
+ build_defaults = toml.load(f)
+ except Exception as e:
+ print("Failed to open the defaults file {0}: {1}".format(defaults.DEFAULTS_FILE, e))
+ sys.exit(1)
+
+ ## Get a list of available build flavors
+ build_flavors = list(map(lambda f: os.path.splitext(f)[0], os.listdir(defaults.BUILD_FLAVORS_DIR)))
+
+ ## Set up the option parser
+ ## XXX: It uses values from the default configuration file for its option defaults,
+ ## which is why it's defined after loading the defaults.toml file data.
+
+ # Options dict format:
+ # '$option_name_without_leading_dashes': { ('$help_string', $default_value_generator_thunk, $value_checker_thunk) }
+ options = {
+ 'architecture': ('Image target architecture (amd64 or arm64)',
+ lambda: build_defaults['architecture'], lambda x: x in ['amd64', 'arm64']),
+ 'build-by': ('Builder identifier (e.g. jrandomhacker@example.net)', get_default_build_by, None),
+ 'debian-mirror': ('Debian repository mirror', lambda: build_defaults['debian_mirror'], None),
+ 'debian-security-mirror': ('Debian security updates mirror', lambda: build_defaults['debian_security_mirror'], None),
+ 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: build_defaults['debian_mirror'], None),
+ 'vyos-mirror': ('VyOS package mirror', lambda: build_defaults["vyos_mirror"], None),
+ 'build-type': ('Build type, release or development', lambda: 'development', lambda x: x in ['release', 'development']),
+ 'version': ('Version number (release builds only)', None, None),
+ 'build-comment': ('Optional build comment', lambda: '', None)
+ }
+
+ # Create the option parser
+ parser = argparse.ArgumentParser()
+ for k, v in options.items():
+ help_string, default_value_thunk = v[0], v[1]
+ if default_value_thunk is None:
+ parser.add_argument('--' + k, type=str, help=help_string)
+ else:
+ parser.add_argument('--' + k, type=str, help=help_string, default=default_value_thunk())
+
+ # The debug option is a bit special since it different type is different
+ parser.add_argument('--debug', help='Enable debug output', action='store_true')
+
+ parser.add_argument('--dry-run', help='Check build configuration and exit', action='store_true')
+
+ # Custom APT entry and APT key options can be used multiple times
+ parser.add_argument('--custom-apt-entry', help="Custom APT entry", action='append', default=[])
+ parser.add_argument('--custom-apt-key', help="Custom APT key file", action='append', default=[])
+ parser.add_argument('--custom-package', help="Custom package to install from repositories", action='append', default=[])
+
+ # Build flavor is a positional argument
+ parser.add_argument('build_flavor', help='Build flavor', nargs='?', action='store')
+
+ args = vars(parser.parse_args())
+
+ debug = args["debug"]
+
+ # Validate options
+ for k, v in args.items():
+ key = field_to_option(k)
+ func = get_validator(options, k)
+ if func is not None:
+ if not func(v):
+ print("{v} is not a valid value for --{o} option".format(o=key, v=v))
+ sys.exit(1)
+
+ if not args["build_flavor"]:
+ print("E: Build flavor is not specified!")
+ print("E: For example, to build the generic ISO, run {} iso".format(sys.argv[0]))
+ print("Available build flavors:\n")
+ print("\n".join(build_flavors))
+ sys.exit(1)
+
+ # Some fixup for mirror settings.
+ # The idea is: if --debian-mirror is specified but --pbuilder-debian-mirror is not,
+ # use the --debian-mirror value for both lb and pbuilder bootstrap
+ if (args['debian_mirror'] != build_defaults["debian_mirror"]) and \
+ (args['pbuilder_debian_mirror'] == build_defaults["debian_mirror"]):
+ args['pbuilder_debian_mirror'] = args['debian_mirror']
+
+ # Version can only be set for release builds,
+ # for dev builds it hardly makes any sense
+ if args['build_type'] == 'development':
+ if args['version'] is not None:
+ print("Version can only be set for release builds")
+ print("Use --build-type=release option if you want to set version number")
+ sys.exit(1)
+
+ ## Inject some useful hardcoded options
+ args['build_dir'] = defaults.BUILD_DIR
+ args['pbuilder_config'] = os.path.join(defaults.BUILD_DIR, defaults.PBUILDER_CONFIG)
+
+ ## Combine the arguments with non-configurable defaults
+ build_config = merge_dicts(args, build_defaults)
+
+ ## Load the flavor file and mix-ins
+ with open(make_toml_path(defaults.BUILD_TYPES_DIR, build_config["build_type"]), 'r') as f:
+ build_type_config = toml.load(f)
+ build_config = merge_dicts(build_type_config, build_config)
+
+ with open(make_toml_path(defaults.BUILD_ARCHES_DIR, build_config["architecture"]), 'r') as f:
+ build_arch_config = toml.load(f)
+ build_config = merge_dicts(build_arch_config, build_config)
+
+ with open(make_toml_path(defaults.BUILD_FLAVORS_DIR, build_config["build_flavor"]), 'r') as f:
+ flavor_config = toml.load(f)
+ build_config = merge_dicts(flavor_config, build_config)
+
+ ## Rename and merge some fields for simplicity
+ ## E.g. --custom-packages is for the user, but internally
+ ## it's added to the same package list as everything else
+ if has_nonempty_key(build_config, "custom_package"):
+ build_config["packages"] += build_config["custom_package"]
+ del build_config["custom_package"]
+
+ ## Add architecture-dependent packages from the flavor
+ if has_nonempty_key(build_config, "architectures"):
+ arch = build_config["architecture"]
+ if arch in build_config["architectures"]:
+ build_config["packages"] += build_config["architectures"][arch]["packages"]
+
+ ## Dump the complete config if the user enabled debug mode
+ if debug:
+ import json
+ print("D: Effective build config:\n")
+ print(json.dumps(build_config, indent=4))
+
+ ## Clean up the old build config and set up a fresh copy
+ lb_config_dir = os.path.join(defaults.BUILD_DIR, defaults.LB_CONFIG_DIR)
+ print(lb_config_dir)
+ shutil.rmtree(lb_config_dir, ignore_errors=True)
+ shutil.copytree("data/live-build-config/", lb_config_dir)
+ os.makedirs(lb_config_dir, exist_ok=True)
+
+ ## Create the version file
+
+ # Create a build timestamp
+ now = datetime.datetime.today()
+ build_timestamp = now.strftime("%Y%m%d%H%M")
+
+ # FIXME: use aware rather than naive object
+ build_date = now.strftime("%a %d %b %Y %H:%M UTC")
+
+ # Assign a (hopefully) unique identifier to the build (UUID)
+ build_uuid = str(uuid.uuid4())
+
+ # Initialize Git object from our repository
+ try:
+ repo = git.Repo('.')
+
+ # Retrieve the Git commit ID of the repository, 14 charaters will be sufficient
+ build_git = repo.head.object.hexsha[:14]
+ # If somone played around with the source tree and the build is "dirty", mark it
+ if repo.is_dirty():
+ build_git += "-dirty"
+
+ # Retrieve git branch name
+ git_branch = repo.active_branch.name
+ except Exception as e:
+ print("Could not retrieve information from git: {0}".format(str(e)))
+ build_git = ""
+ git_branch = ""
+ git_commit = ""
+
+ # Create the build version string
+ if build_config['build_type'] == 'development':
+ try:
+ if not git_branch:
+ raise ValueError("git branch could not be determined")
+
+ # Load the branch to version mapping file
+ with open('data/versions') as f:
+ version_mapping = json.load(f)
+
+ branch_version = version_mapping[git_branch]
+
+ version = "{0}-rolling-{1}".format(branch_version, build_timestamp)
+ except Exception as e:
+ print("Could not build a version string specific to git branch, falling back to default: {0}".format(str(e)))
+ version = "999.{0}".format(build_timestamp)
+ else:
+ # Release build, use the version from ./configure arguments
+ version = build_config['version']
+
+ if build_config['build_type'] == 'development':
+ lts_build = False
+ else:
+ lts_build = True
+
+ version_data = {
+ 'version': version,
+ 'built_by': build_config['build_by'],
+ 'built_on': build_date,
+ 'build_uuid': build_uuid,
+ 'build_git': build_git,
+ 'build_branch': git_branch,
+ 'release_train': build_config['release_train'],
+ 'lts_build': lts_build,
+ 'build_comment': build_config['build_comment']
+ }
+
+ os_release = f"""
+ PRETTY_NAME="VyOS {version} ({build_config['release_train']})"
+ NAME="VyOS"
+ VERSION_ID="{version}"
+ VERSION="{version} ({build_config['release_train']})"
+ VERSION_CODENAME={build_defaults['debian_distribution']}
+ ID=vyos
+ HOME_URL="{build_defaults['website_url']}"
+ SUPPORT_URL="{build_defaults['support_url']}"
+ BUG_REPORT_URL="{build_defaults['bugtracker_url']}"
+ """
+
+ chroot_includes_dir = os.path.join(defaults.BUILD_DIR, defaults.CHROOT_INCLUDES_DIR)
+ vyos_data_dir = os.path.join(chroot_includes_dir, "usr/share/vyos")
+ os.makedirs(vyos_data_dir, exist_ok=True)
+ with open(os.path.join(vyos_data_dir, 'version.json'), 'w') as f:
+ json.dump(version_data, f)
+
+ # For backwards compatibility with 'add system image' script from older versions
+ # we need a file in the old format so that script can find out the version of the image
+ # for upgrade
+ os.makedirs(os.path.join(chroot_includes_dir, 'opt/vyatta/etc/'), exist_ok=True)
+ with open(os.path.join(chroot_includes_dir, 'opt/vyatta/etc/version'), 'w') as f:
+ print("Version: {0}".format(version), file=f)
+
+
+ # Define variables that influence to welcome message on boot
+ os.makedirs(os.path.join(chroot_includes_dir, 'usr/lib/'), exist_ok=True)
+ with open(os.path.join(chroot_includes_dir, 'usr/lib//os-release'), 'w') as f:
+ print(os_release, file=f)
+
+
+ ## Switch to the build directory, this is crucial for the live-build work work
+ ## because the efective build config files etc. are there
+ os.chdir(defaults.BUILD_DIR)
+
+ ## Clean up earlier build state and artifacts
+ print("I: Cleaning the build workspace")
+ os.system("lb clean")
+ #iter(lambda p: shutil.rmtree(p, ignore_errors=True),
+ # ['config/binary', 'config/bootstrap', 'config/chroot', 'config/common', 'config/source'])
+ artifacts = functools.reduce(
+ lambda x, y: x + y,
+ map(glob.glob, ['*.iso', '*.raw', '*.img', '*.xz', '*.ova', '*.ovf']))
+ iter(os.remove, artifacts)
+
+ ## Create live-build configuration files
+
+ # Add the additional repositories to package lists
+ print("I: Setting up additional APT entries")
+ vyos_repo_entry = "deb {0} {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch'])
+
+ apt_file = defaults.VYOS_REPO_FILE
+
+ if debug:
+ print("D: Adding these entries to {0}:".format(apt_file))
+ print("\t", vyos_repo_entry)
+
+ with open(apt_file, 'w') as f:
+ f.write(vyos_repo_entry)
+
+ # Add custom APT entries
+ if build_config.get('additional_repositories', False):
+ build_config['custom_apt_entry'] += build_config['additional_repositories']
+
+ if build_config.get('custom_apt_entry', False):
+ custom_apt_file = defaults.CUSTOM_REPO_FILE
+ entries = "\n".join(build_config['custom_apt_entry'])
+ if debug:
+ print("D: Adding custom APT entries:")
+ print(entries)
+ with open(custom_apt_file, 'w') as f:
+ f.write(entries)
+ f.write("\n")
+
+ # Add custom APT keys
+ if has_nonempty_key(build_config, 'custom_apt_key'):
+ key_dir = defaults.ARCHIVES_DIR
+ for k in build_config['custom_apt_key']:
+ dst_name = '{0}.key.chroot'.format(os.path.basename(k))
+ shutil.copy(k, os.path.join(key_dir, dst_name))
+
+ # Add custom packages
+ if has_nonempty_key(build_config, 'packages'):
+ package_list_file = defaults.PACKAGE_LIST_FILE
+ packages = "\n".join(build_config['packages'])
+ with open (package_list_file, 'w') as f:
+ f.write(packages)
+
+ ## Create includes
+ if has_nonempty_key(build_config, "includes_chroot"):
+ for i in build_config["includes_chroot"]:
+ file_path = os.path.join(chroot_includes_dir, i["path"])
+ os.makedirs(os.path.dirname(file_path), exist_ok=True)
+ with open(file_path, 'w') as f:
+ f.write(i["data"])
+
+
+ ## Configure live-build
+ lb_config_tmpl = jinja2.Template("""
+ lb config noauto \
+ --architectures {{architecture}} \
+ --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
+ --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
+ --linux-flavours {{kernel_flavor}} \
+ --linux-packages linux-image-{{kernel_version}} \
+ --bootloader {{ bootloaders }} \
+ --binary-images iso-hybrid \
+ --checksums 'sha256 md5' \
+ --debian-installer none \
+ --distribution {{debian_distribution}} \
+ --iso-application "VyOS" \
+ --iso-publisher "{{build_by}}" \
+ --iso-volume "VyOS" \
+ --debootstrap-options "--variant=minbase --exclude=isc-dhcp-client,isc-dhcp-common,ifupdown --include=apt-utils,ca-certificates,gnupg2" \
+ --mirror-bootstrap {{debian_mirror}} \
+ --mirror-chroot {{debian_mirror}} \
+ --mirror-chroot-security {{debian_security_mirror}} \
+ --mirror-binary {{debian_mirror}} \
+ --mirror-binary-security {{debian_security_mirror}} \
+ --archive-areas "main contrib non-free" \
+ --firmware-chroot false \
+ --firmware-binary false \
+ --updates true \
+ --security true \
+ --backports true \
+ --apt-recommends false \
+ --apt-options "--yes -oAPT::Get::allow-downgrades=true" \
+ --apt-indices false
+ "${@}"
+ """)
+
+ lb_config_command = lb_config_tmpl.render(build_config)
+
+ ## Pin release for VyOS packages
+ apt_pin = f"""Package: *
+Pin: release n={build_config['release_train']}
+Pin-Priority: 600
+"""
+
+ with open(defaults.VYOS_PIN_FILE, 'w') as f:
+ f.write(apt_pin)
+
+ print("I: Configuring live-build")
+
+ if debug:
+ print("D: live-build configuration command")
+ print(lb_config_command)
+
+ result = os.system(lb_config_command)
+ if result > 0:
+ print("E: live-build config failed")
+ sys.exit(1)
+
+ ## In dry-run mode, exit at this point
+ if build_config["dry_run"]:
+ print("I: dry-run, not starting image build")
+ sys.exit(0)
+
+ ## Add local packages
+ local_packages = glob.glob('../packages/*.deb')
+ if local_packages:
+ for f in local_packages:
+ shutil.copy(f, os.path.join(defaults.LOCAL_PACKAGES_PATH, os.path.basename(f)))
+
+ ## Build the image
+ print("I: Starting image build")
+ if debug:
+ print("D: It's not like I'm building this specially for you or anything!")
+ res = os.system("lb build 2>&1")
+ if res > 0:
+ sys.exit(res)
+
+ # Copy the image
+ shutil.copy("live-image-{0}.hybrid.iso".format(build_config["architecture"]),
+ "vyos-{0}-{1}.iso".format(version_data["version"], build_config["architecture"]))
diff --git a/scripts/check-config b/scripts/check-config
deleted file mode 100755
index d2236619..00000000
--- a/scripts/check-config
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2015 VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# File: check-config
-# Purpose:
-# Checks if the build config file (build/build-config.json) exists.
-# This is to prevent accidental execution of plumbing make targets
-# from going too far and failing with confusing errors.
-
-
-import sys
-import json
-
-import defaults
-
-
-print("Checking build configuration")
-
-try:
- with open(defaults.BUILD_CONFIG, 'r') as f:
- build_config = json.load(f)
-except:
- print("Build config does not exist or is not a valid JSON file")
- print("Please run the ./configure script and try again")
- sys.exit(1)
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
index 61e206a4..246f90b8 100755
--- a/scripts/check-qemu-install
+++ b/scripts/check-qemu-install
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2019-2021, VyOS maintainers and contributors
+# Copyright (C) 2019-2022, VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -42,7 +42,7 @@ import random
import traceback
import logging
import re
-import json
+import toml
from io import BytesIO
from io import StringIO
@@ -78,8 +78,8 @@ parser.add_argument('--qemu-cmd', help='Only generate QEMU launch command',
args = parser.parse_args()
-with open('data/defaults.json') as f:
- vyos_defaults = json.load(f)
+with open('data/defaults.toml') as f:
+ vyos_defaults = toml.load(f)
class StreamToLogger(object):
"""
@@ -391,7 +391,7 @@ try:
c.sendline('show version')
c.expect(op_mode_prompt)
c.sendline('show version kernel')
- c.expect(f'{vyos_defaults["kernel_version"]}-{vyos_defaults["kernel_flavor"]}')
+ c.expect(f'{vyos_defaults["kernel_version"]}-{vyos_defaults["architecture"]}-vyos')
c.expect(op_mode_prompt)
c.sendline('show version frr')
c.expect(op_mode_prompt)
diff --git a/scripts/copy-image b/scripts/copy-image
deleted file mode 100755
index 4196d06d..00000000
--- a/scripts/copy-image
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-BUILD_DIR="$(scripts/query-json build/build-config.json build_dir)"
-BUILD_ARCH="$(scripts/query-json build/build-config.json architecture)"
-VERSION="$(cat $BUILD_DIR/version)"
-
-cp "$BUILD_DIR/live-image-$BUILD_ARCH.hybrid.iso" "$BUILD_DIR/vyos-$VERSION-$BUILD_ARCH.iso"
diff --git a/scripts/live-build-config b/scripts/live-build-config
deleted file mode 100755
index a797a32c..00000000
--- a/scripts/live-build-config
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2018 VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# File: live-build-config
-# Purpose:
-# Creates a live-build config command from template using the build config
-# and executes it, to prepare the system for building the installation ISO.
-
-
-import sys
-import os
-import shutil
-import json
-
-import pystache
-
-import defaults
-import util
-
-util.check_build_config()
-
-lb_config_tmpl = """
-lb config noauto \
- --architectures {{architecture}} \
- --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
- --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
- --linux-flavours {{kernel_flavor}} \
- --linux-packages linux-image-{{kernel_version}} \
- --bootloader {{bootloaders}} \
- --binary-images iso-hybrid \
- --checksums 'sha256 md5' \
- --debian-installer none \
- --distribution {{distribution}} \
- --iso-application "VyOS" \
- --iso-publisher "{{build_by}}" \
- --iso-volume "VyOS" \
- --debootstrap-options "--variant=minbase --exclude=isc-dhcp-client,isc-dhcp-common,ifupdown --include=apt-utils,ca-certificates,gnupg2" \
- --mirror-bootstrap {{debian_mirror}} \
- --mirror-chroot {{debian_mirror}} \
- --mirror-chroot-security {{debian_security_mirror}} \
- --mirror-binary {{debian_mirror}} \
- --mirror-binary-security {{debian_security_mirror}} \
- --archive-areas "main contrib non-free" \
- --firmware-chroot false \
- --firmware-binary false \
- --updates true \
- --security false \
- --backports true \
- --utc-time true \
- --debug \
- --apt-recommends false \
- --apt-options "--yes -oAPT::Get::allow-downgrades=true" \
- --apt-indices false
- "${@}"
-"""
-
-with open(defaults.BUILD_CONFIG, 'r') as f:
- build_config = json.load(f)
-
-debug = build_config['debug']
-
-# Add the additional repositories to package lists
-print("Setting up additional APT entries")
-vyos_repo_entry = "deb {0} {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch'])
-
-apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE)
-
-if debug:
- print("Adding these entries to {0}:".format(apt_file))
- print("\t", vyos_repo_entry)
-
-with open(apt_file, 'w') as f:
- f.write(vyos_repo_entry)
-
-# Add custom APT entries
-if build_config['custom_apt_entry']:
- custom_apt_file = os.path.join(build_config['build_dir'], defaults.CUSTOM_REPO_FILE)
- entries = "\n".join(build_config['custom_apt_entry'])
- if debug:
- print("Adding custom APT entries:")
- print(entries)
- with open(custom_apt_file, 'w') as f:
- f.write(entries)
- f.write("\n")
-
-# Add custom APT keys
-if build_config['custom_apt_key']:
- key_dir = os.path.join(build_config['build_dir'], defaults.ARCHIVES_DIR)
- for k in build_config['custom_apt_key']:
- dst_name = '{0}.key.chroot'.format(os.path.basename(k))
- shutil.copy(k, os.path.join(key_dir, dst_name))
-
-# Add custom packages
-if build_config['custom_package']:
- package_list_file = os.path.join(build_config['build_dir'], defaults.CUSTOM_PACKAGE_LIST_FILE)
- packages = "\n".join(build_config['custom_package'])
- with open (package_list_file, 'w') as f:
- f.write(packages)
-
-# Configure live-build
-
-lb_config_command = pystache.render(lb_config_tmpl, build_config)
-
-print("Configuring live-build")
-
-os.chdir(defaults.BUILD_DIR)
-result = os.system(lb_config_command)
-if result > 0:
- print("live-build config failed")
- sys.exit(1)
diff --git a/scripts/query-json b/scripts/query-json
deleted file mode 100755
index 2f1ea32f..00000000
--- a/scripts/query-json
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python3
-#
-# Copyright (C) 2016 VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# File: query-config
-# Purpose: Extracts field values from a flat JSON file,
-# for use in languages that can't handle JSON easily,
-# (I'm looking at you, Bourne shell!)
-
-
-import sys
-import json
-
-import defaults
-import util
-
-if len(sys.argv) < 3:
- print("Usage: {0} <flat JSON file> <config field name>".format(sys.argv[0]))
- sys.exit(1)
-
-# Note: lack of error handling is deliberate, if some field is expected to be there
-# but isn't, it's better if the failure will be obvious and spectacular
-
-file = sys.argv[1]
-key = sys.argv[2]
-
-with open(file, 'r') as f:
- json_data = json.load(f)
-
-print(json_data[key])
diff --git a/scripts/defaults.py b/scripts/vyos_build_defaults.py
index 5d489e48..975fcb71 100644
--- a/scripts/defaults.py
+++ b/scripts/vyos_build_defaults.py
@@ -18,19 +18,30 @@
import os
+# Relative to the repository directory
+
BUILD_DIR = 'build'
-BUILD_CONFIG = os.path.join(BUILD_DIR, 'build-config.json')
+BUILD_CONFIG = os.path.join(BUILD_DIR, 'build-config.toml')
+
+DEFAULTS_FILE = 'data/defaults.toml'
+
+BUILD_TYPES_DIR = 'data/build-types'
+BUILD_ARCHES_DIR = 'data/architectures'
+BUILD_FLAVORS_DIR = 'data/build-flavors'
+
+# Relative to the build directory
-PBUILDER_CONFIG = os.path.join(BUILD_DIR, 'pbuilderrc')
-PBUILDER_DIR = os.path.join(BUILD_DIR, 'pbuilder')
+PBUILDER_CONFIG = 'pbuilderrc'
+PBUILDER_DIR = 'pbuilder'
-LB_CONFIG_DIR = os.path.join(BUILD_DIR, 'config')
-CHROOT_INCLUDES_DIR = os.path.join(LB_CONFIG_DIR, 'includes.chroot')
+LB_CONFIG_DIR = 'config'
+CHROOT_INCLUDES_DIR = 'config/includes.chroot'
ARCHIVES_DIR = 'config/archives/'
VYOS_REPO_FILE = 'config/archives/vyos.list.chroot'
+VYOS_PIN_FILE = 'config/archives/release.pref.chroot'
CUSTOM_REPO_FILE = 'config/archives/custom.list.chroot'
-CUSTOM_PACKAGE_LIST_FILE = 'config/package-lists/custom.list.chroot'
+PACKAGE_LIST_FILE = 'config/package-lists/custom.list.chroot'
-DEFAULT_BUILD_FLAVOR = 'data/defaults.json'
+LOCAL_PACKAGES_PATH = 'config/packages.chroot/'
diff --git a/scripts/util.py b/scripts/vyos_build_utils.py
index 7cc33364..ed358848 100644
--- a/scripts/util.py
+++ b/scripts/vyos_build_utils.py
@@ -21,7 +21,7 @@ import sys
import os
from distutils.spawn import find_executable
-import defaults
+import vyos_build_defaults as defaults
def check_build_config():
if not os.path.exists(defaults.BUILD_CONFIG):
@@ -60,6 +60,18 @@ class DependencyChecker(object):
return self.__missing
return None
- def print_missing_deps(self):
- print("Missing packages: " + " ".join(self.__missing['packages']))
- print("Missing binaries: " + " ".join(self.__missing['binaries']))
+ def format_missing_dependencies(self):
+ msg = "E: There are missing system dependencies!\n"
+ if self.__missing['packages']:
+ msg += "E: Missing packages: " + " ".join(self.__missing['packages'])
+ if self.__missing['binaries']:
+ msg += "E: Missing binaries: " + " ".join(self.__missing['binaries'])
+ return msg
+
+def check_system_dependencies(deps):
+ checker = DependencyChecker(deps)
+ missing = checker.get_missing_dependencies()
+ if missing:
+ raise OSError(checker.format_missing_dependencies())
+ else:
+ pass
diff --git a/vars/buildPackage.groovy b/vars/buildPackage.groovy
index b25b0eb5..42c449bc 100644
--- a/vars/buildPackage.groovy
+++ b/vars/buildPackage.groovy
@@ -42,7 +42,6 @@ def call(description=null, pkgList=null, buildCmd=null, buildArm=false, changesP
when {
anyOf {
changeset "${changesPattern}"
- changeset "**/data/defaults.json"
triggeredBy cause: "UserIdCause"
}
}