summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE.artwork32
-rw-r--r--data/defaults.json3
-rw-r--r--data/generic-arm64.json6
-rw-r--r--data/live-build-config/archives/buster.pref.chroot4
-rw-r--r--data/live-build-config/archives/vyos-release.key.chroot53
-rwxr-xr-xdata/live-build-config/hooks/live/02-issue.chroot10
-rwxr-xr-xdata/live-build-config/hooks/live/18-enable-disable_services.chroot2
-rwxr-xr-xdata/live-build-config/hooks/live/22-rm_cron_atop.chroot6
-rwxr-xr-xdata/live-build-config/hooks/live/82-import-vyos-gpg-signing-key.chroot12
-rwxr-xr-xdata/live-build-config/hooks/live/83-cleanup-etc-motd-d.chroot4
-rw-r--r--data/live-build-config/includes.binary/isolinux/splash.pngbin21467 -> 40176 bytes
-rw-r--r--data/live-build-config/includes.chroot/usr/share/vyos/keys/vyos-release.pub.asc52
-rw-r--r--docker/Dockerfile17
-rw-r--r--packages/frr/.gitignore1
-rw-r--r--packages/frr/Jenkinsfile9
-rwxr-xr-xpackages/frr/build-frr.sh6
-rw-r--r--packages/frr/patches/0001-Debian-fix-package-build-on-Bullseye-workaround.patch25
-rw-r--r--packages/linux-kernel/Jenkinsfile2
-rw-r--r--packages/linux-kernel/arch/x86/configs/vyos_defconfig33
-rwxr-xr-xscripts/build-config18
-rwxr-xr-xscripts/check-qemu-install9
-rwxr-xr-xscripts/live-build-config2
22 files changed, 187 insertions, 119 deletions
diff --git a/LICENSE.artwork b/LICENSE.artwork
new file mode 100644
index 00000000..81f20f62
--- /dev/null
+++ b/LICENSE.artwork
@@ -0,0 +1,32 @@
+# The spirit
+
+VyOS is free (as in freedom) software. We keep the source code and the build tools freely-licensed
+and available to everyone to inspect, modify, and distribute.
+The goal of VyOS is to create a network operating system available to everyone who needs it.
+We welcome contributions from all community members and we are happy to share our work on LTS releases
+with contributors. We also don't require contributors to give us exclusive rights to their contributions,
+and VyOS source code belongs to the entire community.
+
+However, success of a project and its ability to receive funding through commercial services
+rests on the reputation of its maintainers.
+And the "pay for binaries" LTS release model only works if access to images is actually restricted
+to those who support the project by purchasing a subscription or contributing.
+
+We cannot let other people and organizations exploit our reputation for gain or put it at risk
+by distributing modified images with VyOS branding, or compromise the LTS business model
+by redistributing pre-built images meant for subscription holders.
+
+We enforce that through trademarks and copyrighted artwork.
+
+Use and distribution of pre-built LTS images is governed by a EULA you can find in /usr/share/doc/vyos/EULA
+on the live image and in installed systems.
+
+Self-built images can be freely distributed, but only if you replace the branding with yourn own,
+that is, replace all artwork files that contain the VyOS logo and all end-user-visible mentions of the VyOS name.
+
+# The letter
+
+VyOS is a registered trademarks in the United States, countries of the European Union, and other countries.
+
+The copyright to the artwork files that contain the VyOS logo, such as data/live-build-config/includes.binary/isolinux/splash.png
+belongs to Sentrium S.L. and affiliated, all rights reserved.
diff --git a/data/defaults.json b/data/defaults.json
index 5eff5b90..9177be7b 100644
--- a/data/defaults.json
+++ b/data/defaults.json
@@ -5,9 +5,10 @@
"debian_distribution": "bullseye",
"vyos_mirror": "http://dev.packages.vyos.net/repositories/current",
"vyos_branch": "current",
- "kernel_version": "5.10.70",
+ "kernel_version": "5.10.82",
"kernel_flavor": "amd64-vyos",
"release_train": "sagitta",
+ "bootloaders": "syslinux,grub-efi",
"additional_repositories": [
"deb [arch=amd64] https://repo.saltproject.io/py3/debian/10/amd64/3003 buster main",
"deb [arch=amd64] http://repo.powerdns.com/debian bullseye-rec-45 main",
diff --git a/data/generic-arm64.json b/data/generic-arm64.json
new file mode 100644
index 00000000..41fb86fa
--- /dev/null
+++ b/data/generic-arm64.json
@@ -0,0 +1,6 @@
+{
+ "inherit_from": "data/defaults.json",
+ "architecture": "arm64",
+ "kernel_flavor": "v8-arm64-vyos",
+ "bootloaders": "grub-efi"
+}
diff --git a/data/live-build-config/archives/buster.pref.chroot b/data/live-build-config/archives/buster.pref.chroot
index 363aeb30..8caa1e6d 100644
--- a/data/live-build-config/archives/buster.pref.chroot
+++ b/data/live-build-config/archives/buster.pref.chroot
@@ -6,10 +6,6 @@ Package: bash-completion
Pin: release n=buster
Pin-Priority: 600
-Package: ethtool
-Pin: release n=buster
-Pin-Priority: 600
-
Package: *
Pin: release n=buster
Pin-Priority: -10
diff --git a/data/live-build-config/archives/vyos-release.key.chroot b/data/live-build-config/archives/vyos-release.key.chroot
deleted file mode 100644
index 9f306a91..00000000
--- a/data/live-build-config/archives/vyos-release.key.chroot
+++ /dev/null
@@ -1,53 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
-
-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
-FhyPysWJ4aNKtAYgVuQguPTt
-=rJUC
------END PGP PUBLIC KEY BLOCK-----
-
diff --git a/data/live-build-config/hooks/live/02-issue.chroot b/data/live-build-config/hooks/live/02-issue.chroot
deleted file mode 100755
index 732ebeb0..00000000
--- a/data/live-build-config/hooks/live/02-issue.chroot
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-echo I: Rewriting /etc/issue and /etc/issue.net
-cat <<EOF > etc/issue
-Welcome to VyOS - \n \l
-
-EOF
-cat <<EOF > etc/issue.net
-Welcome to VyOS
-EOF
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 0938e23c..a67d8c2e 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
@@ -50,6 +50,8 @@ systemctl disable telegraf.service
systemctl disable ndppd.service
systemctl disable ipsec.service
systemctl disable strongswan-starter.service
+systemctl disable avahi-daemon.service
+systemctl disable atop-rotate.timer
echo I: Enabling services
systemctl enable ssh-session-cleanup.service
diff --git a/data/live-build-config/hooks/live/22-rm_cron_atop.chroot b/data/live-build-config/hooks/live/22-rm_cron_atop.chroot
new file mode 100755
index 00000000..7f77e1f7
--- /dev/null
+++ b/data/live-build-config/hooks/live/22-rm_cron_atop.chroot
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ -f /etc/cron.d/atop ]; then
+ rm -f /etc/cron.d/atop
+fi
+
diff --git a/data/live-build-config/hooks/live/82-import-vyos-gpg-signing-key.chroot b/data/live-build-config/hooks/live/82-import-vyos-gpg-signing-key.chroot
new file mode 100755
index 00000000..478b88fb
--- /dev/null
+++ b/data/live-build-config/hooks/live/82-import-vyos-gpg-signing-key.chroot
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if ! command -v gpg &> /dev/null; then
+ echo "gpg binary could not be found"
+ exit 1
+fi
+
+GPG_KEY="/usr/share/vyos/keys/vyos-release.pub.asc"
+
+echo I: Import GPG key
+gpg --import ${GPG_KEY}
+exit $?
diff --git a/data/live-build-config/hooks/live/83-cleanup-etc-motd-d.chroot b/data/live-build-config/hooks/live/83-cleanup-etc-motd-d.chroot
new file mode 100755
index 00000000..9d8dc97e
--- /dev/null
+++ b/data/live-build-config/hooks/live/83-cleanup-etc-motd-d.chroot
@@ -0,0 +1,4 @@
+#!/bin/sh
+if [ -f /etc/update-motd.d/10-uname ]; then
+ rm -f /etc/update-motd.d/10-uname
+fi
diff --git a/data/live-build-config/includes.binary/isolinux/splash.png b/data/live-build-config/includes.binary/isolinux/splash.png
index 78e8a8d5..932ca36e 100644
--- a/data/live-build-config/includes.binary/isolinux/splash.png
+++ b/data/live-build-config/includes.binary/isolinux/splash.png
Binary files differ
diff --git a/data/live-build-config/includes.chroot/usr/share/vyos/keys/vyos-release.pub.asc b/data/live-build-config/includes.chroot/usr/share/vyos/keys/vyos-release.pub.asc
new file mode 100644
index 00000000..bf9a7aca
--- /dev/null
+++ b/data/live-build-config/includes.chroot/usr/share/vyos/keys/vyos-release.pub.asc
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+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
+8vzPzaWHhkOkU8/J/Ci7+vNtUOZb
+=Ld8S
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/docker/Dockerfile b/docker/Dockerfile
index ec86f9ce..44b9c8a3 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -262,6 +262,22 @@ RUN export RTRLIB_VERSION="56e67e7805953eb84d3d68dfb4ff4447f2a8c925" \
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
dpkg -i ../librtr0*_${ARCH}.deb ../librtr-dev*_${ARCH}.deb ../rtr-tools*_${ARCH}.deb
+# Packages needed to build libyang2
+RUN pip3 install apkg
+RUN apt-get update && apt-get install -y \
+ graphviz \
+ cmake \
+ libpcre3-dev \
+ python3-pip
+
+# Prerequisites for building FRR from source
+# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
+#
+RUN export LIBYANG_COMMIT="v2.0.7" && \
+ git clone https://github.com/CESNET/libyang.git && \
+ cd libyang && git checkout $LIBYANG_COMMIT && apkg build -i && \
+ cd pkg/pkgs/debian-11/libyang2_* && dpkg -i *.deb
+
# Packages needed to build FRR itself
# https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst
# for more info
@@ -283,7 +299,6 @@ RUN apt-get update && apt-get install -y \
libsnmp-dev \
libssh-dev \
libsystemd-dev \
- libyang-dev \
lsb-base \
pkg-config \
python3 \
diff --git a/packages/frr/.gitignore b/packages/frr/.gitignore
index 1586d21f..a6f28160 100644
--- a/packages/frr/.gitignore
+++ b/packages/frr/.gitignore
@@ -1,4 +1,5 @@
frr/
+libyang/
*.deb
*.dsc
*.buildinfo
diff --git a/packages/frr/Jenkinsfile b/packages/frr/Jenkinsfile
index c3020676..d4084cbf 100644
--- a/packages/frr/Jenkinsfile
+++ b/packages/frr/Jenkinsfile
@@ -21,10 +21,15 @@
@Library('vyos-build@current')_
def pkgList = [
+ ['name': 'libyang',
+ 'scmCommit': 'v2.0.97',
+ 'scmUrl': 'https://github.com/CESNET/libyang.git',
+ 'buildCmd': 'apkg build -i && find pkg/pkgs -type f -name *.deb -exec mv -t .. {} +'],
+
['name': 'frr',
- 'scmCommit': 'stable/7.5',
+ 'scmCommit': 'stable/8.1',
'scmUrl': 'https://github.com/FRRouting/frr.git',
- 'buildCmd': '''cd ..; ./build-frr.sh'''],
+ 'buildCmd': 'cd ..; ./build-frr.sh'],
]
// Start package build using library function from https://github.com/vyos/vyos-build
diff --git a/packages/frr/build-frr.sh b/packages/frr/build-frr.sh
index bcf26eb0..8f2aedc2 100755
--- a/packages/frr/build-frr.sh
+++ b/packages/frr/build-frr.sh
@@ -29,10 +29,6 @@ if [ -d $PATCH_DIR ]; then
done
fi
-# Prepare FRR source for building
-echo "I: Prepare FRR source for building"
-./tools/tarsource.sh -V
-
# Build Debian FRR package
echo "I: Build Debian FRR Package"
-dpkg-buildpackage -us -uc -Ppkg.frr.rtrlib
+dpkg-buildpackage -us -uc -tc -b -Ppkg.frr.rtrlib
diff --git a/packages/frr/patches/0001-Debian-fix-package-build-on-Bullseye-workaround.patch b/packages/frr/patches/0001-Debian-fix-package-build-on-Bullseye-workaround.patch
deleted file mode 100644
index d1fb19e0..00000000
--- a/packages/frr/patches/0001-Debian-fix-package-build-on-Bullseye-workaround.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c88011519aba9462bf9e464830fcee5b6f7bfc25 Mon Sep 17 00:00:00 2001
-From: Christian Poessinger <christian@poessinger.com>
-Date: Sat, 19 Jun 2021 13:38:56 +0000
-Subject: [PATCH] Debian: fix package build on Bullseye (workaround)
-
-This is the workaround mentioned in https://github.com/FRRouting/frr/issues/6502
----
- debian/frr-doc.install | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/debian/frr-doc.install b/debian/frr-doc.install
-index c48dc5a8d..6cc87e9cb 100644
---- a/debian/frr-doc.install
-+++ b/debian/frr-doc.install
-@@ -3,7 +3,7 @@ usr/share/doc/frr/html
-
- # info + images referenced by it
- usr/share/info/
--doc/user/_build/texinfo/*.png usr/share/info
-+#doc/user/_build/texinfo/*.png usr/share/info
-
- # other
- README.md usr/share/doc/frr
---
-2.30.2
diff --git a/packages/linux-kernel/Jenkinsfile b/packages/linux-kernel/Jenkinsfile
index d0e16fc6..99d8e667 100644
--- a/packages/linux-kernel/Jenkinsfile
+++ b/packages/linux-kernel/Jenkinsfile
@@ -49,7 +49,7 @@ def pkgList = [
'buildCmd': 'cd ..; ./build-linux-firmware.sh'],
// Accel-PPP
- ['name': 'accel-ppp', 'scmCommit': 'aa9e2eefe4ad51',
+ ['name': 'accel-ppp', 'scmCommit': '51bd8165bb335a',
'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 43e643a4..082f7a4c 100644
--- a/packages/linux-kernel/arch/x86/configs/vyos_defconfig
+++ b/packages/linux-kernel/arch/x86/configs/vyos_defconfig
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.10.41 Kernel Configuration
+# Linux/x86 5.10.75 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y
@@ -965,7 +965,9 @@ CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
CONFIG_UNIX_DIAG=m
-# CONFIG_TLS is not set
+CONFIG_TLS=y
+CONFIG_TLS_DEVICE=y
+# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=m
@@ -1615,6 +1617,7 @@ CONFIG_NET_FLOW_LIMIT=y
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
+CONFIG_STREAM_PARSER=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
@@ -1664,6 +1667,8 @@ CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
+CONFIG_SOCK_VALIDATE_XMIT=y
+CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
CONFIG_FAILOVER=m
@@ -2295,6 +2300,7 @@ CONFIG_CHELSIO_T4VF=m
CONFIG_CHELSIO_LIB=m
CONFIG_CHELSIO_INLINE_CRYPTO=y
# CONFIG_CHELSIO_IPSEC_INLINE is not set
+# 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
@@ -2353,13 +2359,17 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=m
+CONFIG_MLX5_ACCEL=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
CONFIG_MLX5_EN_RXNFC=y
CONFIG_MLX5_MPFS=y
# CONFIG_MLX5_CORE_IPOIB is not set
-# CONFIG_MLX5_IPSEC is not set
+CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_EN_IPSEC=y
+CONFIG_MLX5_TLS=y
+CONFIG_MLX5_EN_TLS=y
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_MICREL=y
@@ -3342,6 +3352,7 @@ CONFIG_BATTERY_MAX17042=m
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_BD99954 is not set
CONFIG_HWMON=y
@@ -4465,7 +4476,6 @@ CONFIG_INTEL_IDMA64=y
CONFIG_INTEL_IDXD=y
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
-# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
@@ -4956,7 +4966,6 @@ 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
@@ -5062,9 +5071,9 @@ CONFIG_CRYPTO=y
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_SKCIPHER=m
+CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
@@ -5080,8 +5089,8 @@ CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_CRYPTD=m
@@ -5107,7 +5116,7 @@ CONFIG_CRYPTO_CURVE25519_X86=m
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_AEGIS128=m
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m
@@ -5119,7 +5128,7 @@ CONFIG_CRYPTO_ECHAINIV=m
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CFB=m
-CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
@@ -5154,7 +5163,7 @@ CONFIG_CRYPTO_XXHASH=m
CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
-CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
diff --git a/scripts/build-config b/scripts/build-config
index fa0b3512..4f4a8c08 100755
--- a/scripts/build-config
+++ b/scripts/build-config
@@ -48,14 +48,27 @@ def get_validator(optdict, name):
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:
- with open(build_flavor, 'r') as f:
- build_defaults = json.load(f)
+ 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)
@@ -143,6 +156,7 @@ if env_check_retval > 0:
args['kernel_version'] = build_defaults['kernel_version']
args['kernel_flavor'] = build_defaults['kernel_flavor']
+args['bootloaders'] = build_defaults['bootloaders']
# Save to file
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
index 76540c73..87a34afd 100755
--- a/scripts/check-qemu-install
+++ b/scripts/check-qemu-install
@@ -118,8 +118,11 @@ def get_qemu_cmd(name, enable_kvm, enable_uefi, disk_img, iso_img=None):
cpu = ""
uefi = ""
+ uuid = "f48b60b2-e6ad-49ef-9d09-4245d0585e52"
if enable_uefi:
uefi = "-bios /usr/share/OVMF/OVMF_CODE.fd"
+ name = f"{name}-UEFI"
+ uuid = "d27cf29e-4419-4407-8f82-dc73d1acd184"
cdrom = ""
if iso_img:
@@ -143,6 +146,7 @@ def get_qemu_cmd(name, enable_kvm, enable_uefi, disk_img, iso_img=None):
-netdev user,id=n6 -device virtio-net-pci,netdev=n6,mac={macbase}:06 \
-netdev user,id=n7 -device virtio-net-pci,netdev=n7,mac={macbase}:07 \
-machine accel=kvm \
+ -uuid {uuid} \
-nographic {cpu} {cdrom} {kvm} \
-drive format=raw,file={disk_img}'
@@ -199,6 +203,7 @@ if not os.path.isfile(args.disk):
else:
log.info('Diskimage already exists, using the existing one')
+test_timeout = 7200 # seconds
try:
#################################################
# Installing image to disk
@@ -352,7 +357,7 @@ try:
log.info('Executing VyOS smoketests')
c.sendline('/usr/bin/vyos-smoketest')
i = c.expect(['\n +Invalid command:', '\n +Set failed',
- 'No such file or directory', r'\n\S+@\S+[$#]'], timeout=7200)
+ 'No such file or directory', r'\n\S+@\S+[$#]'], timeout=test_timeout)
if i == 0:
raise Exception('Invalid command detected')
@@ -415,7 +420,7 @@ try:
log.info('Executing load config tests')
c.sendline('/usr/bin/vyos-configtest')
i = c.expect(['\n +Invalid command:', 'No such file or directory',
- r'\n\S+@\S+[$#]'], timeout=3600)
+ r'\n\S+@\S+[$#]'], timeout=test_timeout)
if i==0:
raise Exception('Invalid command detected')
diff --git a/scripts/live-build-config b/scripts/live-build-config
index c9d6ee1d..1813e608 100755
--- a/scripts/live-build-config
+++ b/scripts/live-build-config
@@ -39,7 +39,7 @@ lb config noauto \
--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 syslinux,grub-efi \
+ --bootloader {{bootloaders}} \
--binary-images iso-hybrid \
--checksums 'sha256 md5' \
--debian-installer none \