summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
26 hoursMerge pull request #1323 from c-po/T9197-iwlwifi-firmwarerollingViacheslav Hletenko
Kernel: T9197: package iwlwifi firmware the 6.18 driver actually loads
45 hoursKernel: T9197: package iwlwifi firmware the 6.18 driver actually loadsChristian Breunig
Firmware was selected by exact match against the names a driver declares. On 6.18 iwlwifi declares only its highest API version, while at runtime it falls back to lower versions, and for Wi-Fi 6/6E parts it caps the API at the MAC family limit. linux-firmware ships none of the declared names, so BE200, AX201, AX210, AX211 and AX411 were left without firmware. For each declared iwlwifi name, the newest available ucode at or below the declared version (core 99 falls back to API 101) is now packaged, together with its PNVM file. Names with no loadable firmware emit a build warning.
6 daysT9409: Bump accel-ppp-ng version to dd07b23Ritika Chopra
includes security fix follow-up hardening and message-authenticator support for Blast-RADIUS mitigation
7 daysMerge pull request #1319 from c-po/qemu-serial-timeoutViacheslav Hletenko
smoketest: T9402: stop navigating the installed system's GRUB menu
7 daysMerge pull request #1320 from c-po/T861-secure-boot-testChristian Breunig
Testsuite: T861: boot VyOS CA signed images as-is in Secure Boot test
7 daysMerge pull request #1317 from c-po/kernel-update-6.18Christian Breunig
Kernel: T9385: Update Linux Kernel to 6.18.55
8 daysTestsuite: T861: boot VyOS CA signed images as-is in Secure Boot testChristian Breunig
The Secure Boot test always disabled Secure Boot in the UEFI and enrolled a Machine Owner Key. That only applies to images signed with a custom certificate - an image signed by the VyOS CA is already trusted and must boot without any firmware changes. If the custom signing key pair is present in the build tree, the MOK workflow is used as before. Otherwise the image boots with Secure Boot enabled from the start, and the Kernel signature is verified against the VyOS CA issuer and signer via "show secure-boot detail", which requires a matching vyos-1x. The make target is renamed from testsb to test-secure-boot.
8 dayssmoketest: T9402: stop navigating the installed system's GRUB menuChristian Breunig
The QEMU smoketest selected the serial console on the installed system by sending timed arrow keys and Enter through the GRUB menus. Under host load those keys raced the five second auto-boot countdown or got lost, so tests failed at random. Earlier fixes only treated symptoms. T8147 doubled the menu timeout. T9099 added checks after each submenu to fail fast. T9214 first sent the first key earlier and then ignored a lost race on the top menu. The installer already makes the serial console the default, and raw images take it from the build flavor, so the default entry boots the right console. The harness now only waits for GRUB and lets it boot. The existing console checks still verify the setting. Live ISO menus are unchanged.
8 dayssmoketest: T9402: extend timeout for "install image" to finishChristian Breunig
After the last installer question the QEMU smoketest waits for the operational mode prompt with the default timeout of 60 seconds. Installing GRUB and unmounting the target, which flushes the copied image to disk, can take longer on large images, slow storage or loaded CI hosts. A working install was then reported as failed. Raise this wait to 300 seconds.
8 daysKernel: T9385: Update Linux Kernel to 6.18.55Christian Breunig
10 daysT9392: Keep kernel objects and don\'t create source tarball by defaultsarthurdev
Adds to cleanup kernel intermediate objects and create source tarball
12 daysKernel: T9014: extend .gitignore with MLNX OFED source codeChristian Breunig
12 daysKernel: T9014: remove erroneously added -x shebang debug flagChristian Breunig
Added in commit 21c7e661 ("Kernel: T5641: enable module compression to save disk space"), the flag is removed again as there is no need for it.
12 daysKernel: T9014: document the Kernel configuration flowChristian Breunig
The README still described the pre-T8506 flow, where a single x86_64_vyos_defconfig was copied into arch/x86/configs of the Kernel source tree. That file and that flow no longer exist, and the text also claimed the Kernel was 6.6 and that only amd64 was built. Describe what actually happens: a per architecture base config selected from dpkg --print-architecture, the config/*.config snippets merged on top in file name order, and the module signing snippet generated at build time.
12 daysKernel: T9014: enable VIRTIO_IOMMU on arm64Christian Breunig
Smoketest test_kernel_options.py::test_hypervisor_virtio fails on arm64. The test is not architecture gated and checks fifteen virtio options, of which VIRTIO_IOMMU was the only one not enabled on arm64 - amd64 has it as a module already. The driver is available here, it is "depends on VIRTIO && (ARM64 || X86)", and it is what QEMU virt machines use, so build it as a module to match amd64. ACPI_VIOT comes along because VIRTIO_IOMMU selects it.
12 daysKernel: T9014: regenerate arm64 base config against Linux 6.18Christian Breunig
The arm64 base config was still the dump of a 6.6.15 configuration. It had only ever been hand edited per feature, never regenerated, so building 6.18.x produced 91 warnings from merge_config.sh: Value requested for CONFIG_AS_HAS_LSE_ATOMICS not in final .config Requested value: CONFIG_AS_HAS_LSE_ATOMICS=y Actual value:
12 daysKernel: T9014: keep architecture specific options out of shared snippetsChristian Breunig
The config/*.config snippets are merged on every architecture, so an option that only exists on one of them is reported as a mismatch on the others: Value requested for CONFIG_NETLABEL not in final .config Requested value: # CONFIG_NETLABEL is not set Actual value: Three options are only available on amd64 and were sitting in the shared snippets. Move them to the amd64 base config, each next to the symbol that gates it: * XFRM_USER_COMPAT needs COMPAT_FOR_U64_ALIGNMENT * HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON needs ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP * NETLABEL depends on SECURITY, which arm64 does not enable
12 daysKernel: T9014: build WWAN drivers in on arm64, completing T8938Christian Breunig
T8938 consolidated the WWAN build time options into config/12-wwan.config and requested the USB WWAN drivers as built-in. That only ever took effect on amd64. On arm64 all of them silently ended up as modules, because a tristate can never exceed the value of what it depends on and the arm64 base config had USB_USBNET=m and USB_SERIAL=m, while amd64 had both =y. Pull the two parents into the snippet so the requested =y is reachable on every architecture - this is a no-op on amd64 where they were already =y.
12 daysKernel: T9385: Update Linux Kernel to 6.18.54Christian Breunig
12 daysT861: Finalize VyOS kernel signing for UEFI Secure Bootasklymenko
2026-09-18vbash: T7575: Resolve completion on root-level op-modesarthurdev
2026-09-17openvpn: T9330: bump to 2.7.7Antonio Quartulli
2.7.7 carries CVE-2026-84732: two fixes in the reliability layer, an unbounded reliable TLS timeout and acks being honoured for packets that cannot be outstanding. Debian skipped 2.7.6, so debian/2.7.7-1 is the next packaging tag after the debian/2.7.5-1 this was pinned to. The carried gerrit 1734 patch stays: 2.7.7 still has no net_iface_ovpn_mode(), so pre-created DCO interfaces are not yet handled upstream. It applies to the new tree with line offsets only, and no Debian patch touches the files it edits.
2026-09-16T9014: use tpm-tis-device for arm64 QEMU smoketestsChristian Breunig
The ISA "tpm-tis" device only exists on x86 machines. The arm64 "virt" machine exposes the TPM via MMIO and a device-tree node, which QEMU models as "tpm-tis-device" instead.
2026-09-15T9321: Update accel-ppp-ng to the 306fff8 versionViacheslav Hletenko
Update accel-ppp-ng to the 306fff8 version includes multiple upstream fixes
2026-09-14Merge pull request #1281 from ordex/T8264-openvpn-2.7Christian Breunig
openvpn: T8264: build 2.7.5 backport for the in-tree ovpn module
2026-09-14Merge pull request #1291 from c-po/image-sizeDaniil Baturin
T9277: image: further reduced installed and ISO image size
2026-09-12Testsuite: T9301: read the console type where GRUB keeps itAntonio Quartulli
The installer writes the GRUB defaults to the persistence partition, and on a running image the /boot of the booted image is not that partition, so the check never found the file and declared the image unusable. Resolve the persistence directory the way vyos.system.grub does instead of assuming "/".
2026-09-12Merge pull request #1301 from c-po/vbash-smoketest-fixChristian Breunig
Testsuite: T7575: strip terminal escapes when parsing console output
2026-09-12Merge pull request #1300 from hedrok/T9294-strongswan-securityChristian Breunig
T9294: strongswan: add security patches
2026-09-12Testsuite: T7575: strip terminal escapes when parsing console outputChristian Breunig
Commit c7eef9dd ("Testsuite: T8375: verify proper serial console settings") read console_type/console_num/console_speed from flavor.json by taking the last non-empty line of the raw pexpect buffer, then interpolated those values unescaped into c.expect() patterns. That stayed harmless until commit 0505dc09 ("vbash: T7575: vyatta-bash 5.2.37 using build system") rebased vyatta-bash onto Debian bash 5.2.37, where readline enables bracketed-paste mode by default. The shell now emits \x1b[?2004h around every prompt, that sequence got parsed as console_type, and its "[" opened an unterminated character class: re.error: unterminated character set at position 27 Add a get_cmd_output() helper that strips terminal control sequences and the echoed command before returning the last output line, hoist the ANSI regex to module scope for reuse, validate the parsed values, and re.escape() everything interpolated into a regular expression.
2026-09-11T9294: strongswan: add security patchesKyrylo Yatsenko
Add security patches from https://www.strongswan.org/blog/2026/09/07/strongswan-6.1.0-released.html
2026-09-11Merge pull request #1285 from sarthurdev/T7575Christian Breunig
vbash: T7575: vyatta-bash 5.2.37 using build system
2026-09-11openvpn: T8264: adopt a pre-created DCO interface properlyAntonio Quartulli
VyOS creates the "ovpn" device whenever the daemon cannot - a client whose server is not reachable yet never opens its tun - so OpenVPN has to adopt a device it did not make. It takes the device but not its ifindex today, so dco_new_peer() fails, the daemon exits and deletes the interface on its way out. systemd starts it again and the second attempt creates a device of its own, which hides the whole thing behind a tunnel that does come up. Carry Ralf's fix until it is released: it resolves the ifindex on the -EEXIST path, refuses a device whose operating mode does not match, and leaves a pre-existing interface alone on close. https://gerrit.openvpn.net/c/openvpn/+/1734 (patchset 2)
2026-09-10Merge pull request #1299 from c-po/T9298Andrii Klymenko
Kernel: T9298: make linux-firmware package architecture aware
2026-09-10Kernel: T9298: make linux-firmware package architecture awareChristian Breunig
Currently when the Kernel is build and creates the vyos-linux-firmware package, the Kernel modules are inspected and the firmware file string is extracted. This is the case for years. Now with ARM64 on the doorstep, we would assemble the vyos-linux-firmware package twice, once for x86_64 and once for amd64. The generated package is for CPU architecture all - as the package is build twice, the longer running build will win -> perfect race condition.
2026-09-10Merge pull request #1278 from opswill/patch-1Viacheslav Hletenko
T9245: podman: add libsystemd-dev to enable automatic health checks
2026-09-10openvpn: T8264: build 2.7.5 backport for the in-tree ovpn moduleAntonio Quartulli
The in-tree "ovpn" module requires OpenVPN 2.7 or later, while bookworm ships 2.6.14 which speaks only ovpn-dco-v2. DCO stays inert until userspace is upgraded. systemd-dev does not exist in bookworm, so it is stripped before mk-build-deps reads debian/control. The package is also added to the rebuild trigger, without which it would never reach the mirror.
2026-09-07live-boot: T5475: replace the forked live-boot package with Debian'sChristian Breunig
VyOS carried a fork of Debian's live-boot, based on release 1:20151213, purely to add a handful of VyOS specific behaviours. The fork is retired here in favour of Debian's own live-boot plus a drop-in component. live-boot's frontend sources every /lib/live/boot/????-* file in glob order, so 9991-vyos.sh is read after all upstream components and can both translate the vyos-union= kernel parameter and redefine three helpers. An initramfs-tools hook copies the multiarch klibc libraries that upstream's non-multiarch glob never matches, and a live-top shim runs mdadm, which boot=live otherwise skips entirely, leaving RAID arrays unassembled.
2026-09-07Merge pull request #1296 from c-po/container-testsChristian Breunig
T9269: add OCI container image test
2026-09-07T9269: add OCI container image testChristian Breunig
Add scripts/check-oci-container, a container adapted counterpart to check-qemu-install. It imports the OCI tarball produced by scripts/iso-to-oci, verifies the containerlab healthcheck survives the import, boots the image with systemd as PID 1 and then drives the VyOS CLI to run basic operational and configuration mode tests plus assertions on the rootfs modifications done by iso-to-oci (locale, banner, /config symlink, removed podman runtime and removed container CLI nodes). Wire it up as "make test-oci", which picks up the newest tarball matching the host architecture. The boot wait polls for the vyos user in addition to vyos-router, as the unit reports itself active before the default configuration has been committed.
2026-09-07T9014: install flavor.json before Debian packages are installedChristian Breunig
The vyos-1x-smoketest maintainer script now queries the image flavor to implant the correct serial console device and speed into the configuration test data. This requires /usr/share/vyos/flavor.json to be present in the chroot before the Debian packages get installed, but config/includes.chroot is only copied into the chroot after package installation. Write flavor.json to config/includes.chroot_before_packages instead, which live-build copies into the chroot prior to installing packages. version.json and the activation hints are unaffected and remain in config/includes.chroot. Companion change to vyos-1x commit 2f9fe3e74 ("smoketest: T9014: make configtest serial console image flavor agnostic").
2026-09-07T9286: Update accel-ppp-ng to the 8cb6287 version multiple security fixesViacheslav Hletenko
Update accel-ppp-ng to the 8cb6287 version, which includes multiple security fixes, merged in the https://github.com/accel-ppp/accel-ppp-ng/pull/40
2026-09-07Merge pull request #1293 from c-po/T9283-accel-pppDaniil Baturin
Kernel: T9283: run Accel-PPP depmod for the target Kernel version
2026-09-07Merge pull request #1289 from c-po/containerlab-cleanupViacheslav Hletenko
oci: T9269: mask systemd services for container startup and add healthcheck
2026-09-06oci: T9269: show a progress spinner for long running stepsChristian Breunig
Unpacking the squashfs and compressing the rootfs keep the script silent for minutes - it looks hung. Animate a spinner, but only when stdout is a terminal so CI runs and piped logs keep their single "I: ..." line per step.
2026-09-06oci: T9269: remove podman runtime from container imageChristian Breunig
Running containers inside the VyOS container is not supported and the container CLI nodes are stripped from the image anyway, so podman(8) and its helpers are dead weight - about 110 MiB of the uncompressed rootfs (podman 43 MiB, podman-remote 32 MiB, netavark and aardvark-dns 21 MiB, runc 8 MiB), which is roughly 32 MiB of the compressed tarball. Remove the binaries along with everything that would otherwise dangle: the podman and netavark systemd units - podman.service is enabled via a "WantedBy" symlink and would fail on boot - the quadlet generators, the tmpfiles.d snippet and the configuration shipped by containers-common. The container operational mode templates are removed as well, they would only greet the user with a traceback now that podman is gone.
2026-09-06oci: T9269: add alive healthcheck command for image importChristian Breunig
containerlab uses the image healthcheck to determine when a VyOS node is ready, see https://containerlab.dev/manual/kinds/vyosnetworks_vyos/ A rootfs tarball carries no OCI image configuration, so this can only be attached when the tarball is imported.
2026-09-06oci: T9269: mask systemd services for container startupChristian Breunig
Adjust systemd units for containerized operation - this is what the containerlab documentation asks users to do in their Dockerfile, but as we ship a ready made rootfs there is no build stage where "systemctl" could be run. Masking and disabling is nothing but symlink handling below /etc/systemd, so we can do it offline (and cross-architecture) right here.
2026-09-06Kernel: T9283: run Accel-PPP depmod for the target Kernel versionChristian Breunig
The Accel-PPP maintainer scripts call depmod without a Kernel version, so it uses the version reported by uname of the build host instead of the VyOS Kernel the ipoe and vlan_mon modules were compiled for. The ISO build therefore logs: depmod: ERROR: could not open directory /lib/modules/6.1.0-52-amd64 depmod: FATAL: could not search modules Add a patch that generates the maintainer scripts from a template so the module directory version known to the build is substituted and handed to depmod explicitly. The same version is already passed to the build via MODULES_KDIR, and the uname fallback for standalone builds stays untouched.
2026-09-04telegraf: T9277: only compile plugins that can be instantiated from the CLIChristian Breunig