mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-12-16 18:42:05 +01:00
build: improve documentation of current versions and how to build them
This commit is contained in:
parent
05215848a5
commit
878aa0bd85
@ -23,10 +23,60 @@ also set up your own build machine and run a :ref:`build_native`.
|
|||||||
The source code remains public and an ISO can be built using the process
|
The source code remains public and an ISO can be built using the process
|
||||||
outlined in this chapter.
|
outlined in this chapter.
|
||||||
|
|
||||||
|
The following includes the build process for VyOS 1.2 to the latest version.
|
||||||
|
|
||||||
This will guide you through the process of building a VyOS ISO using Docker_.
|
This will guide you through the process of building a VyOS ISO using Docker_.
|
||||||
This process has been tested on clean installs of Debian Jessie, Stretch, and
|
This process has been tested on clean installs of Debian Jessie, Stretch, and
|
||||||
Buster.
|
Buster.
|
||||||
|
|
||||||
|
.. _build_native:
|
||||||
|
|
||||||
|
Native Build
|
||||||
|
============
|
||||||
|
|
||||||
|
To build VyOS natively you require a properly configured build host with the
|
||||||
|
following Debian versions installed:
|
||||||
|
|
||||||
|
- Debian Jessie for VyOS 1.2 (crux)
|
||||||
|
- Debian Buster for VyOS 1.3 (equuleus)
|
||||||
|
- Debian Bookworm for VyOS 1.4 (sagitta)
|
||||||
|
- Debian Bookworm for the upcoming VyOS 1.5/circinus/current
|
||||||
|
(subject to change) - aka the rolling release
|
||||||
|
|
||||||
|
To start, clone the repository to your local machine:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
$ cd vyos-build
|
||||||
|
|
||||||
|
# For VyOS 1.2 (crux) and VyOS 1.3 (equuleus)
|
||||||
|
$ ./configure --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
||||||
|
$ sudo make iso
|
||||||
|
|
||||||
|
# For VyOS 1.4 (sagitta) and VyOS 1.5 (circinus,current)
|
||||||
|
$ sudo make clean
|
||||||
|
$ sudo ./build-vyos-image iso --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
||||||
|
|
||||||
|
For the packages required, you can refer to the ``docker/Dockerfile`` file
|
||||||
|
in the repository_. The ``./build-vyos-image`` script will also warn you if any
|
||||||
|
dependencies are missing.
|
||||||
|
|
||||||
|
This will guide you through the process of building a VyOS ISO using Docker.
|
||||||
|
This process has been tested on clean installs of Debian Bullseye (11) and
|
||||||
|
Bookworm (12).
|
||||||
|
|
||||||
.. _build_docker:
|
.. _build_docker:
|
||||||
|
|
||||||
Docker
|
Docker
|
||||||
@ -34,14 +84,26 @@ Docker
|
|||||||
|
|
||||||
Installing Docker_ and prerequisites:
|
Installing Docker_ and prerequisites:
|
||||||
|
|
||||||
|
.. hint:: Due to the updated version of Docker, the following examples may
|
||||||
|
become invalid.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
$ sudo apt-get update
|
# Add Docker's official GPG key:
|
||||||
$ sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
sudo apt-get update
|
||||||
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
sudo apt-get install ca-certificates curl gnupg
|
||||||
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
$ sudo apt-get update
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
$ sudo apt-get install -y docker-ce
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
|
||||||
|
# Add the repository to Apt sources:
|
||||||
|
echo \
|
||||||
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||||
|
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||||
|
|
||||||
To be able to use Docker_ without ``sudo``, the current non-root user must be
|
To be able to use Docker_ without ``sudo``, the current non-root user must be
|
||||||
added to the ``docker`` group by calling: ``sudo usermod -aG docker
|
added to the ``docker`` group by calling: ``sudo usermod -aG docker
|
||||||
@ -79,7 +141,7 @@ To manually download the container from DockerHub, run:
|
|||||||
$ docker pull vyos/vyos-build:crux # For VyOS 1.2
|
$ 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:equuleus # For VyOS 1.3
|
||||||
$ docker pull vyos/vyos-build:sagitta # For VyOS 1.4
|
$ docker pull vyos/vyos-build:sagitta # For VyOS 1.4
|
||||||
$ docker pull vyos/vyos-build:current # For rolling release
|
$ docker pull vyos/vyos-build:current # For VyOS 1.5 rolling release
|
||||||
|
|
||||||
Build from source
|
Build from source
|
||||||
^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^
|
||||||
@ -94,14 +156,18 @@ The container can also be built directly from source:
|
|||||||
$ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
|
$ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
|
||||||
# For VyOS 1.4 (sagitta)
|
# For VyOS 1.4 (sagitta)
|
||||||
$ git clone -b sagitta --single-branch https://github.com/vyos/vyos-build
|
$ 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
|
||||||
|
|
||||||
$ cd vyos-build
|
$ cd vyos-build
|
||||||
$ docker build -t vyos/vyos-build:crux docker # For VyOS 1.2
|
$ docker build -t vyos/vyos-build:crux docker # For VyOS 1.2
|
||||||
$ docker build -t vyos/vyos-build:current docker # For rolling release
|
$ docker build -t vyos/vyos-build:equuleus docker # For VyOS 1.3
|
||||||
|
$ docker build -t vyos/vyos-build:sagitta docker # For VyOS 1.4
|
||||||
|
$ docker build -t vyos/vyos-build:current docker # For VyOS 1.5 rolling release
|
||||||
|
|
||||||
.. note:: Since VyOS has switched to Debian (11) Bullseye in its ``current``
|
.. note:: VyOS has switched to Debian (12) Bookworm in its ``current`` branch,
|
||||||
branch, you will require individual container for `current`, `equuleus` and
|
Due to software version updates, it is recommended to use the official
|
||||||
`crux` builds.
|
Docker Hub image to build VyOS ISO.
|
||||||
|
|
||||||
Tips and Tricks
|
Tips and Tricks
|
||||||
---------------
|
---------------
|
||||||
@ -141,39 +207,6 @@ your development containers in your current working directory.
|
|||||||
``--sysctl net.ipv6.conf.lo.disable_ipv6=0``, otherwise those tests will
|
``--sysctl net.ipv6.conf.lo.disable_ipv6=0``, otherwise those tests will
|
||||||
fail.
|
fail.
|
||||||
|
|
||||||
.. _build_native:
|
|
||||||
|
|
||||||
Native Build
|
|
||||||
============
|
|
||||||
|
|
||||||
To build VyOS natively you require a properly configured build host with the
|
|
||||||
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)
|
|
||||||
|
|
||||||
To start, clone the repository to your local machine:
|
|
||||||
|
|
||||||
.. code-block:: none
|
|
||||||
|
|
||||||
# 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 the packages required, you can refer to the ``docker/Dockerfile`` file
|
|
||||||
in the repository_. The ``./build-vyos-image`` script will also warn you if any
|
|
||||||
dependencies are missing.
|
|
||||||
|
|
||||||
Once you have the required dependencies installed, you may proceed with the
|
|
||||||
steps described in :ref:`build_iso`.
|
|
||||||
|
|
||||||
|
|
||||||
.. _build_iso:
|
.. _build_iso:
|
||||||
|
|
||||||
@ -196,6 +229,10 @@ Please note as this will differ for both `current` and `crux`.
|
|||||||
# For VyOS 1.4 (sagitta)
|
# For VyOS 1.4 (sagitta)
|
||||||
$ git clone -b sagitta --single-branch https://github.com/vyos/vyos-build
|
$ 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
|
||||||
|
|
||||||
|
|
||||||
Now a fresh build of the VyOS ISO can begin. Change directory to the
|
Now a fresh build of the VyOS ISO can begin. Change directory to the
|
||||||
``vyos-build`` directory and run:
|
``vyos-build`` directory and run:
|
||||||
|
|
||||||
@ -211,6 +248,9 @@ Now a fresh build of the VyOS ISO can begin. Change directory to the
|
|||||||
# For VyOS 1.4 (sagitta)
|
# For VyOS 1.4 (sagitta)
|
||||||
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:sagitta bash
|
$ 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
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
# For MacOS (crux, equuleus, sagitta)
|
# For MacOS (crux, equuleus, sagitta)
|
||||||
@ -234,7 +274,7 @@ Start the build:
|
|||||||
vyos_bld@8153428c7e1f:/vyos$ ./configure --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
vyos_bld@8153428c7e1f:/vyos$ ./configure --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
||||||
vyos_bld@8153428c7e1f:/vyos$ sudo make iso
|
vyos_bld@8153428c7e1f:/vyos$ sudo make iso
|
||||||
|
|
||||||
# For VyOS 1.4 (sagitta)
|
# For VyOS 1.4 (sagitta) For VyOS 1.5 (circinus,current)
|
||||||
vyos_bld@8153428c7e1f:/vyos$ sudo make clean
|
vyos_bld@8153428c7e1f:/vyos$ sudo make clean
|
||||||
vyos_bld@8153428c7e1f:/vyos$ sudo ./build-vyos-image iso --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
vyos_bld@8153428c7e1f:/vyos$ sudo ./build-vyos-image iso --architecture amd64 --build-by "j.randomhacker@vyos.io"
|
||||||
|
|
||||||
@ -836,7 +876,7 @@ information.
|
|||||||
|
|
||||||
.. stop_vyoslinter
|
.. stop_vyoslinter
|
||||||
|
|
||||||
.. _Docker: https://www.docker.com
|
.. _Docker: https://docs.docker.com/engine/install/debian/
|
||||||
.. _`Docker as non-root`: https://docs.docker.com/engine/install/linux-postinstall
|
.. _`Docker as non-root`: https://docs.docker.com/engine/install/linux-postinstall
|
||||||
.. _VyOS DockerHub organisation: https://hub.docker.com/u/vyos
|
.. _VyOS DockerHub organisation: https://hub.docker.com/u/vyos
|
||||||
.. _repository: https://github.com/vyos/vyos-build
|
.. _repository: https://github.com/vyos/vyos-build
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user