These are the steps I use to build VyOS images. The steps are lifted from the main documentation pages:
By default I add an additional couple of packages to make life easier for troubleshooting:
Packages are not available for gping
and nft-stats
from the default repo. To get the latest packages they can be downloaded from Azlux's Repo:
These steps assume that Docker is already installed.
Pull the Docker image that will be used to build the ISO:
docker pull vyos/vyos-build:equuleus
Clone the repository:
git clone -b equuleus --single-branch https://github.com/vyos/vyos-build vyos-build-1.3
Switch into the cloned repository:
cd vyos-build-1.3
If you will be including the gping
and nft-stats
packages, copy them into the ./packages/
directory:
cd packages
wget https://packages.azlux.fr/debian/pool/main/n/nft-stats/nft-stats_0.3_all.deb \
https://packages.azlux.fr/debian/pool/main/g/gping/gping_1.16.1_amd64.deb \
https://github.com/fujiapple852/trippy/releases/download/0.8.0/trippy_x86_64-unknown-linux-gnu_0.8.0_amd64.deb
cd ..
Run the build container:
docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
Run the configure script in the container:
./configure \
--architecture amd64 \
--build-by "vyos@gbe0.com" \
--build-type release \
--version "1.3-$(date +'%Y-%m-%d')" \
--custom-package bwm-ng \
--custom-package irtt \
--custom-package neovim \
--custom-package hping3 \
--custom-package sysstat \
--custom-package zmap \
--custom-package masscan
Create the ISO:
sudo make iso
Once complete the ISO should be available in the ./build/
directory.
Pull the Docker image that will be used to build the ISO:
docker pull vyos/vyos-build:current
Clone the repository:
cd ~/Temp
sudo rm -rf vyos-build
git clone -b current --single-branch https://github.com/vyos/vyos-build vyos-build
Switch into the cloned repository:
cd vyos-build
If you will be including the gping
and nft-stats
packages, copy them into the ./packages/
directory:
cd packages
wget https://packages.azlux.fr/debian/pool/main/n/nft-stats/nft-stats_0.3_all.deb \
https://packages.azlux.fr/debian/pool/main/g/gping/gping_1.16.1_amd64.deb \
https://github.com/fujiapple852/trippy/releases/download/0.8.0/trippy_x86_64-unknown-linux-gnu_0.8.0_amd64.deb
cd ..
Run the build container:
docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:current bash
Run the configure script in the container:
sudo ./build-vyos-image \
--architecture amd64 \
--build-by "vyos@gbe0.com" \
--build-type release \
--version "current-$(date +'%Y-%m-%d')" \
--custom-package bmon \
--custom-package bwm-ng \
--custom-package dublin-traceroute \
--custom-package fping \
--custom-package hping3 \
--custom-package ipcalc \
--custom-package irtt \
--custom-package lnav \
--custom-package masscan \
--custom-package neovim \
--custom-package ngrep \
--custom-package oping \
--custom-package sysstat \
--custom-package zmap \
--custom-package speedtest-cli \
iso
Once complete the ISO should be available in the ./build/
directory.