Building ISO
The steps below can be used to setup the build environment, build the packages and kernel, and then ultimately the ISO.
Too many people were building ISO images and making them publicly available, so the VyOS team no longer provides direct access to the pre-built package repositories. You must compile them yourself.
Prerequisites
You need to have Docker CE installed. See documentation for process.
Setup build environment #
You can use either the Dockerhub instructions or the Build from source instructions.
Start the build environment #
Download the vyos-build code from GitHub using the proper command:
# For VyOS 1.2 (crux)
$ git clone -b crux --single-branch https://github.com/vyos/vyos-build
# For VyOS 1.3 (equuleus)
$ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
# For VyOS 1.4 (sagitta)
$ git clone -b sagitta --single-branch https://github.com/vyos/vyos-build
# For VyOS 1.5 (circinus,current)
$ git clone -b current --single-branch https://github.com/vyos/vyos-build
As non-root user, start the docker container using the proper command:
$ cd vyos-build
# For VyOS 1.2 (crux)
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:crux bash
# For VyOS 1.3 (equuleus)
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
# For VyOS 1.4 (sagitta)
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:sagitta bash
# For VyOS 1.5 (current)
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:current bash
Build vyos-1x packages #
cd packages
git clone -b sagitta https://github.com/vyos/vyos-1x
cd vyos-1x/
dpkg-buildpackage -uc -us -tc -b
cd ..
dir *.deb
cd ..
Build the kernel #
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
# use the kernel_version listed in the defaults.toml file
cat /vyos/data/defaults.toml | grep kernel_version
# checkout the kernel to match the defaults.toml file
git checkout v6.6.43
cd ..
./build-kernel.sh
# 20 minutes or more later you should have a kernel binary package to use in the ISO build process
Build firmware #
cd /vyos/packages/linux-kernel
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
./build-linux-firmware.sh
cp vyos-linux-firmware_*.deb ../
Building Out-Of-Tree Modules #
# Accel-PPP
cd /vyos/packages/linux-kernel
git clone https://github.com/accel-ppp/accel-ppp.git
./build-accel-ppp.sh
cp accel-ppp*.deb ..
# Intel NICdrivers
./build-intel-drivers.ixgbe.sh
# Intel QAT./build-intel-ixgbevf.sh
./build-intel-qat.sh
cp vyos-intel-*.deb ..
# Jool
./build-jool.py
cp jool*.deb ..
# OpenVPN DCO
git clone https://github.com/OpenVPN/ovpn-dco
./build-openvpn-dco.sh
cp openvpn-dco*.deb ..
Build the ISO
cd /vyos
# For VyOS 1.2 (crux) and VyOS 1.3 (equuleus)
./configure --architecture amd64 --build-by "bluecrow.net"
sudo make iso
# For VyOS 1.4 (sagitta)
sudo make clean
sudo ./build-vyos-image iso --architecture amd64 --build-by "bluecrow.net"
# For VyOS 1.5 (circinus,current)
sudo make clean
sudo ./build-vyos-image generic --architecture amd64 --build-by "bluecrow.net"
Virtualization Platforms
make qemu
make vmware
-end