diff options
Diffstat (limited to 'docs/contributing')
-rw-r--r-- | docs/contributing/build-vyos.rst | 87 | ||||
-rw-r--r-- | docs/contributing/testing.rst | 9 |
2 files changed, 25 insertions, 71 deletions
diff --git a/docs/contributing/build-vyos.rst b/docs/contributing/build-vyos.rst index 83b4c84d..bb212e2f 100644 --- a/docs/contributing/build-vyos.rst +++ b/docs/contributing/build-vyos.rst @@ -77,6 +77,8 @@ To manually download the container from DockerHub, run: .. code-block:: none $ docker pull vyos/vyos-build:crux # For VyOS 1.2 + $ docker pull vyos/vyos-build:equuleus # For VyOS 1.3 + $ docker pull vyos/vyos-build:sagitta # For VyOS 1.4 $ docker pull vyos/vyos-build:current # For rolling release Build from source @@ -90,8 +92,8 @@ The container can also be built directly from source: $ 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, current) - $ git clone -b current --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 $ cd vyos-build $ docker build -t vyos/vyos-build:crux docker # For VyOS 1.2 @@ -149,7 +151,7 @@ following Debian versions installed: - Debian Jessie for VyOS 1.2 (crux) - Debian Buster for VyOS 1.3 (equuleus) -- Debian Bullseye for VyOS 1.4 (sagitta, current) - aka the rolling release +- Debian Bullseye for VyOS 1.4 (sagitta) To start, clone the repository to your local machine: @@ -161,8 +163,8 @@ To start, clone the repository to your local machine: # For VyOS 1.3 (equuleus) $ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build - # For VyOS 1.4 (sagitta, current) - $ git clone -b current --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 the packages required, you can refer to the ``docker/Dockerfile`` file @@ -191,8 +193,8 @@ Please note as this will differ for both `current` and `crux`. # For VyOS 1.3 (equuleus) $ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build - # For VyOS 1.4 (sagitta, current) - $ git clone -b current --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 Now a fresh build of the VyOS ISO can begin. Change directory to the ``vyos-build`` directory and run: @@ -206,8 +208,8 @@ Now a fresh build of the VyOS ISO can begin. Change directory to the # 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, current) - $ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:current bash + # For VyOS 1.4 (sagitta) + $ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:sagitta bash .. code-block:: none @@ -228,6 +230,11 @@ Start the build: .. code-block:: none + # For VyOS 1.2 (crux) and VyOS 1.3 (equuleus) + vyos_bld@8153428c7e1f:/vyos$ ./configure --architecture amd64 --build-by "j.randomhacker@vyos.io" + vyos_bld@8153428c7e1f:/vyos$ sudo make iso + + # For VyOS 1.4 (sagitta) vyos_bld@8153428c7e1f:/vyos$ sudo make clean vyos_bld@8153428c7e1f:/vyos$ sudo ./build-vyos-image iso --architecture amd64 --build-by "j.randomhacker@vyos.io" @@ -391,14 +398,8 @@ system: .. code-block:: none vyos@vyos:~$ uname -r - 4.19.146-amd64-vyos + 6.1.52-amd64-vyos -Other packages (e.g. vyos-1x) add dependencies to the ISO build procedure on -e.g. the wireguard-modules package which itself adds a dependency on the kernel -version used due to the module it ships. This may change (for WireGuard) in -future kernel releases but as long as we have out-of-tree modules. - -* WireGuard * Accel-PPP * Intel NIC drivers * Inter QAT @@ -409,7 +410,7 @@ lucky enough to receive an ISO build error which sounds like: .. code-block:: none I: Create initramfs if it does not exist. - Extra argument '4.19.146-amd64-vyos' + Extra argument '6.1.52-amd64-vyos' Usage: update-initramfs {-c|-d|-u} [-k version] [-v] [-b directory] Options: -k version Specify kernel version or 'all' @@ -427,8 +428,8 @@ The most obvious reasons could be: release kernel version from us. * You have your own custom kernel `*.deb` packages in the `packages` folder but - neglected to create all required out-of tree modules like Accel-PPP, - WireGuard, Intel QAT, Intel NIC + neglected to create all required out-of tree modules like Accel-PPP, Intel + QAT or Intel NIC drivers Building The Kernel ------------------- @@ -586,54 +587,6 @@ you can again take a look at ``vyos-build/packages/linux-kernel/Jenkinsfile`` to see all of the required modules and their selected versions. We will show you how to build all the current required modules. -WireGuard -^^^^^^^^^ - -First, clone the source code and check out the appropriate version by running: - -.. code-block:: none - - $ cd vyos-build/packages/linux-kernel - $ git clone https://salsa.debian.org/debian/wireguard-linux-compat.git - $ cd wireguard-linux-compat - $ git checkout debian/1.0.20200712-1_bpo10+1 - -We again make use of a helper script and some patches to make the build work. -Just run the following command: - -.. code-block:: none - - $ cd vyos-build/packages/linux-kernel - $ ./build-wireguard-modules.sh - I: Apply WireGuard patch: /vyos/packages/linux-kernel/patches/wireguard-linux-compat/0001-Debian-build-wireguard-modules-package.patch - patching file debian/control - patching file debian/rules - I: Build Debian WireGuard package - dpkg-buildpackage: info: source package wireguard-linux-compat - dpkg-buildpackage: info: source version 1.0.20200712-1~bpo10+1 - dpkg-buildpackage: info: source distribution buster-backports - dpkg-buildpackage: info: source changed by Unit 193 <unit193@debian.org> - dpkg-buildpackage: info: host architecture amd64 - dpkg-source --before-build . - dpkg-source: info: using patch list from debian/patches/series - dpkg-source: info: applying 0001-Makefile-do-not-use-git-to-get-version-number.patch - dpkg-source: info: applying 0002-Avoid-trying-to-compile-on-debian-5.5-kernels-Closes.patch - - ... - - dpkg-genchanges: info: binary-only upload (no source code included) - debian/rules clean - dh clean - dh_clean - dpkg-source --after-build . - dpkg-source: info: unapplying 0002-Avoid-trying-to-compile-on-debian-5.5-kernels-Closes.patch - dpkg-source: info: unapplying 0001-Makefile-do-not-use-git-to-get-version-number.patch - dpkg-buildpackage: info: binary-only upload (no source included) - -After compiling the packages you will find yourself the newly generated `*.deb` -binaries in ``vyos-build/packages/linux-kernel`` from which you can copy them -to the ``vyos-build/packages`` folder for inclusion during the ISO build. - Accel-PPP ^^^^^^^^^ diff --git a/docs/contributing/testing.rst b/docs/contributing/testing.rst index d5df9d59..772ff04a 100644 --- a/docs/contributing/testing.rst +++ b/docs/contributing/testing.rst @@ -4,10 +4,11 @@ Testing ####### -One of the major advantages introduced in VyOS 1.3 is an autmated test framework. -When assembling an ISO image multiple things can go wrong badly and publishing -a faulty ISO makes no sense. The user is disappointed by the quality of the image -and the developers get flodded with bug reports over and over again. +One of the major advantages introduced in VyOS 1.3 is an automated test +framework. When assembling an ISO image multiple things can go wrong badly and +publishing a faulty ISO makes no sense. The user is disappointed by the quality +of the image and the developers get flodded with bug reports over and over +again. As the VyOS documentation is not only for users but also for the developers - and we keep no secret documentation - this section describes how the automated |