3076 Commits

Author SHA1 Message Date
Kyrylo Yatsenko
92ff04087f Docker: T7568: clean apt cache + clean some /tmp files
This saves ~50Mb for vyos-build image: 2.04Gb -> 1.99Gb
And ~19Mb for vyos image: 155Mb -> 136Mb

Docker stores all files created in each layer so
command

```
RUN wget -O /tmp/open-vmdk-master.zip https://github.com/.../master.zip && \
     unzip -d /tmp/ /tmp/open-vmdk-master.zip && \
     cd /tmp/open-vmdk-master/ && make && make install
```

will store open-vmdk-master.zip and /tmp/open-vmdk-master
in the image even though there is a cleanup command later:

```
RUN rm -rf /tmp/*
```

The cleanup command just makes these files invisible in last layer.

So temporary file must be removed in same RUN command
not to be stored in the image.

This commit adds such removals.
2025-06-22 12:57:54 +03:00
Christian Breunig
3222553a26
Merge pull request #977 from c-po/T7539-wwan
Kernel: T7539: compile in WWAN drivers and not use loadable modules
2025-06-11 21:58:16 +02:00
Christian Breunig
9dae7e2d36 Kernel: T7539: compile in WWAN drivers and not use loadable modules 2025-06-11 21:45:00 +02:00
Christian Breunig
f92db23cdb Kernel: T7539: add option to only install build dependencies for development 2025-06-11 21:44:22 +02:00
Christian Breunig
8fcd1e5a8e Kernel: T5887: update Linux Kernel to v6.6.93 2025-06-11 21:44:07 +02:00
Daniil Baturin
054d4f9d43
Merge pull request #927 from sever-sever/T4409
T4409: Fix Framed-Route with attr Accel-VRF-Name
2025-06-10 15:56:23 +01:00
Daniil Baturin
4726ad65ae
Merge pull request #972 from Gabin-CC/current
build: T7453: Make raw image building logic more robust
2025-06-10 15:46:58 +01:00
Christian Breunig
9182e62abc
Merge pull request #973 from tjjh89017/T7534
T7534: netfilter: add asciidoc-base as build depend
2025-06-10 16:43:55 +02:00
Daniil Baturin
75f72ab901
Remove a stray debug output 2025-06-10 15:43:29 +01:00
Daniil Baturin
7d40712037
Merge pull request #975 from sever-sever/T7530
T7530: Build package binaries script should exit if repo is absent
2025-06-10 15:36:23 +01:00
Date Huang
e862f1c13b T7534: netfilter: add asciidoc-base,bison as build depend
Signed-off-by: Date Huang <tjjh89017@hotmail.com>
2025-06-10 01:12:37 +08:00
Viacheslav Hletenko
8f4b588a1d
Merge pull request #974 from tjjh89017/T7535
T7535: aws-gwlbtun: add cmake for depend
2025-06-09 17:12:59 +03:00
Daniil Baturin
faa725ae12
Remove an emoji from an error message 2025-06-09 12:49:06 +01:00
Daniil Baturin
6b33a64184
Remove an emoji from an error message 2025-06-09 12:48:51 +01:00
Viacheslav Hletenko
2ecdb4f464 T7530: Build package binaries script should exit if repo is absent
The build package binaries script should exit if the repo is absent
or cannot be cloned

If a build package `repo-a` depends on the `repo-b` and the `repo-b`
cannot be cloned, then we shoud exit from the script to avoid
partly build dependencies

For example:
```
[[packages]]
name = "fake-repo"
commit_id = "v0.0.1"
scm_url = "https://github.com/vyos/fake-repo"

[[packages]]
name = "ethtool"
commit_id = "debian/1%6.10-1"
scm_url = "https://salsa.debian.org/kernel-team/ethtool"
```

If ethtool depends on some fake-package and this package cannot be
downloaded from the repo, then we shouldn't build the ethtool package
at all.
2025-06-09 09:41:34 +00:00
Date Huang
dc82611f20 T7535: aws-gwlbtun: add cmake for depend
Signed-off-by: Date Huang <tjjh89017@hotmail.com>
2025-06-08 19:41:42 +08:00
Gabin-CC
02c2e30622 T7453: handle dynamic partition mapping in raw image build
Enhanced the raw image creation logic to dynamically detect and assign
EFI and root partitions based on the number of partitions created by kpartx.

- Supports both 2-partition and 3-partition layouts
- Adds debug output for mapped partitions
- Avoids hardcoded assumptions about partition order
- Improves resilience in cloud-init and containerized build contexts

Fixes build failure when /dev/loopXp3 is missing or not mapped properly.

Signed-off-by: Gabin-CC <gabin.laurent@rte-international.com>
2025-06-06 20:59:22 +02:00
Gabin-CC
1cda2d42bb T7453: Enhance raw/qcow2 image creation
Description
This pull request introduces improvements to the raw_image.py script responsible for building raw disk images in the VyOS build process.

Main Changes
Added use of kpartx to reliably map EFI and root partitions from the loop device.
Introduced disk_details as an attribute on the BuildContext object to pass partition metadata through the image build steps.
Improved the __exit__ method for BuildContext to unmount all mount points and clean up kpartx mappings and loop devices, even in failure cases.
Fixed a crash in mount_image() when con.disk_details was not set.
Added useful debug logs for loop device usage and partition mapping.
Motivation
The previous implementation assumed partitions like /dev/loopXp3 would appear automatically, which is unreliable across some environments (especially containers or newer systems).

This PR makes the process more reliable by explicitly mapping partitions with kpartx, a tool designed for this purpose.

It also ensures proper resource cleanup by unmounting and detaching everything cleanly, preventing leaked loop devices or stale mount points.

Test Instructions

Flavor : cloud-init.toml
packages = [
  "cloud-init",
  "qemu-guest-agent"
]

image_format = ["qcow2"]
disk_size = 10

[boot_settings]
console_type = "ttyS0"

Run:

sudo ./build-vyos-image --architecture amd64 \
  --build-by "you@example.com" \
  --reuse-iso vyos-1.5-rolling-*.iso \
  cloud-init
Expected behavior:

The build completes without errors.
The .qcow2 image file is generated and bootable (e.g., in KVM or Proxmox).
Partitions are mounted correctly via /dev/mapper/loopXp*.

Signed-off-by: Gabin-CC <gabin.laurent@rte-international.com>
2025-06-06 20:58:04 +02:00
Christian Breunig
8350580ac5
Merge pull request #971 from c-po/inotify-stackfs
Kernel: T7428: re-enable CONFIG_INOTIFY_STACKFS
2025-05-30 19:08:05 +02:00
Christian Breunig
5871203be6 Kernel: T7428: re-enable CONFIG_INOTIFY_STACKFS
Kernel compile time option for our custom patch to enable inotify
on stackable filesystems accidently got removed in commit cfdd4451ca3aa
("Kernel: T7428: remove io_uring support").

Option was re-enabled.
2025-05-30 19:05:05 +02:00
Christian Breunig
fa7052cc62
Merge pull request #970 from vyos/c-po-patch-1
Kernel: T5887: update Linux Kernel to v6.6.92
2025-05-30 19:01:34 +02:00
Christian Breunig
9e7eeeb385
Kernel: T5887: update Linux Kernel to v6.6.92 2025-05-30 18:58:57 +02:00
Yevhen Bondarenko
fe8ea308a6
Merge pull request #967 from dmbaturin/T7490-broadcast-relay-build
packages: T7490: add build files for udp-broadcast-relay
2025-05-28 12:11:12 +02:00
Daniil Baturin
c51513fb5c packages: T7490: add build files for udp-broadcast-relay 2025-05-28 10:50:04 +01:00
Viacheslav Hletenko
980c601eed
Merge pull request #969 from sever-sever/T7494-flex
T7494: FRR add build dependency flex libelf-dev
2025-05-28 12:33:40 +03:00
Viacheslav Hletenko
6fa46e8668 T7494: FRR add build dependency flex libelf-dev 2025-05-28 09:32:24 +00:00
Christian Breunig
c7a24a87ba
Merge pull request #968 from sever-sever/T7494
T7494: FRR add missing build bison and liblua dependencies
2025-05-28 08:58:55 +02:00
Viacheslav Hletenko
3b44daa55f T7494: FRR add missing build bison and liblua dependencies 2025-05-28 06:54:30 +00:00
Viacheslav Hletenko
29f65965ae
Merge pull request #966 from kumvijaya/current
T7445: added open prs conflict checker caller workflow
2025-05-26 22:11:35 +03:00
John Estabrook
bc77b388e7
Merge pull request #963 from jestabro/config-context
T7352: add arg to test script for running smoketests under vyconfd/commitd
2025-05-22 13:37:19 -05:00
John Estabrook
45c21a06ea T7352: add test script arg for testing under vyconfd/commitd 2025-05-22 13:24:32 -05:00
John Estabrook
c1adab0c13 T7321: enable vyos-commitd.service for intial testing 2025-05-22 12:57:21 -05:00
kumvijaya
d9c4c8d2ed T7445: added open prs conflict checker caller workflow 2025-05-22 00:04:56 +05:30
Daniil Baturin
9f1bf2d61c
Merge pull request #965 from c-po/boot-recovery-T1771
T1771: enable "reboot-on-upgrade-failure" for new VyOS installations
2025-05-21 00:33:35 +01:00
Christian Breunig
a3d2be8dd1 T1771: enable "reboot-on-upgrade-failure" for new VyOS installations 2025-05-17 15:14:07 +02:00
Viacheslav Hletenko
fcbd8d6cb4
Merge pull request #961 from c-po/kernel-perf-T7253
Kernel: T7253: build linux-perf-$version package
2025-05-15 20:59:55 +03:00
Christian Breunig
ffcf9b46ae Docker: T7253: re-add build-essential dependency for vyos-1x
vyshim consists out of C code which needs the build-essential
package.
2025-05-15 06:50:04 +02:00
Daniil Baturin
1cf889b058
Merge pull request #964 from dmbaturin/T7450-use-pcre2
docker: T7450: use PCRE2 for vyos-utils and libvyosconfig
2025-05-13 15:30:55 +01:00
Daniil Baturin
cae7cd90e0 docker: T7450: use PCRE2 for vyos-utils and libvyosconfig 2025-05-13 13:22:02 +01:00
Christian Breunig
1545aa4b76 Kernel: T7253: build linux-perf-$version package
Previous patch was removed during VyOS 1.3 -> 1.4 development cycle as the
internal handling for Kernel package generation changed.

This brings back the perf binary in a new linux-perf-$KERNELVERSION
Debian package.
2025-05-12 20:45:52 +02:00
Christian Breunig
73df823da1 Docker: T7253: remove Kernel build dependencies to shrink container image
Move the Kernel build dependencies to package.toml to unbload the build
container even more.
2025-05-12 20:45:52 +02:00
Christian Breunig
63f3ae10b0 Kernel: T5887: update Linux Kernel to v6.6.90 2025-05-12 18:14:32 +02:00
Christian Breunig
4369ade6a3 Add macOS Finder .DS_Store to .gitignore file 2025-05-12 18:13:54 +02:00
Viacheslav Hletenko
5891a5bd25
Merge pull request #960 from c-po/fix-blackbox-exporter-build
build: T6949: add missing build trigger for blackbox exporter
2025-05-11 12:03:53 +03:00
Christian Breunig
5fe0e515de build: T6949: add missing build trigger for blackbox exporter
Commit d6fab6c8c036 ("T6949: Adds build for blackbox exporter deb package")
added the general requirements for a package build - but it missed the trigger
for changes within the build ocnfiguration dir.
2025-05-11 10:50:00 +02:00
Viacheslav Hletenko
247e810339
Merge pull request #955 from tjjh89017/arm64_kernel
T7406: add virtio-gpu and pl011 console support for arm64
2025-05-06 17:31:06 +03:00
Daniil Baturin
0b980485f4
Merge pull request #958 from c-po/io_uring
Kernel: T7428: remove io_uring support
2025-05-05 12:36:22 +01:00
Daniil Baturin
16b82be8f4
Merge pull request #959 from c-po/ansi-T7356
systemd: T7356: use short service names to avoid truncation
2025-05-05 12:34:49 +01:00
Christian Breunig
0dd3b4e329 systemd: T7356: use short service names to avoid truncation
The issue ONLY appears on small terminals where systemd automatically truncates
the lines to match the terminal width - so far so good. The BUG is, if
truncation happens in the service name which is BOLD you're pretty much
screwed, as truncation will not reset the color.

We can set StatusUnitFormat=description in /etc/systemd/system.conf which will
not print the service long description to avoid truncation making the boot a
little less verbose.

This actually restores the behavior of VyOS 1.3
2025-05-04 23:51:14 +02:00
Christian Breunig
cfdd4451ca Kernel: T7428: remove io_uring support
Given the recent chatter about io_uring and it flaws - e.g. [1] - and we have
to my knowledge no use for it we should remove it from the Kernel configuration.

Every feature not used and removed from the Kernel is a good one.

1: https://www.armosec.io/blog/io_uring-rootkit-bypasses-linux-security/
2025-05-04 23:44:41 +02:00