mirror of
				https://github.com/vyos/vyos-build.git
				synced 2025-10-01 20:28:40 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
VyOS toplevel build
 | 
						|
===================
 | 
						|
 | 
						|
For the most up-to-date documentation, please read the online build guide at
 | 
						|
[docs.vyos.io](https://docs.vyos.io/en/latest/contributing/build-vyos.html).
 | 
						|
 | 
						|
# What is VyOS
 | 
						|
 | 
						|
VyOS is an open source operating system for network devices (routers, firewalls
 | 
						|
and so on). If you want to use it in your network, check out download and
 | 
						|
installation instructions at https://docs.vyos.io/en/latest/installation/index.html
 | 
						|
 | 
						|
If you want to modify VyOS and/or join its development, read on.
 | 
						|
 | 
						|
# About this repository
 | 
						|
 | 
						|
VyOS is a GNU/Linux distribution based on Debian. Just like any other
 | 
						|
distribution, it consists of multiple packages.
 | 
						|
 | 
						|
Some packages are taken from the upstream, while other are modified or written
 | 
						|
from scratch by VyOS developers. Every package maintained by the VyOS team has
 | 
						|
its own git repository. VyOS image build is therefore a multi-step process.
 | 
						|
Packages are compiled first, then an ISO is built from Debian packages and our
 | 
						|
own packages.
 | 
						|
 | 
						|
This is the top level repository that contains links to repositories with VyOS
 | 
						|
specific packages (organized as Git submodules) and scripts and data that are
 | 
						|
used for building those packages and the installation image.
 | 
						|
 | 
						|
# Repository Structure
 | 
						|
 | 
						|
There are several directories with their own purpose:
 | 
						|
 | 
						|
 * `build/`    Used for temporary files used for the build and for build artifacts
 | 
						|
 * `data/`     Data required for building the ISO (e.g. boot splash/configs)
 | 
						|
 * `packages/` This directory can hold arbitrary *.deb
 | 
						|
               packages which will be embeded into the resulting ISO.
 | 
						|
               Among other things those packages will be: Linux Kernel, FRR,
 | 
						|
               Netfiler...
 | 
						|
 * `scripts/`  Scripts that are used for the build process
 | 
						|
 * `tools/`    Scripts that are used for maintainer's tasks automation and other
 | 
						|
               purposes, but not during ISO build process
 | 
						|
 | 
						|
# Building VyOS
 | 
						|
 | 
						|
In order to have a single manual and not maintining multiple copies the
 | 
						|
instructions on how to build VyOS either in a Docker container or natively can
 | 
						|
be found in our [Documentation - Build VyOS](https://docs.vyos.io/en/latest/contributing/build-vyos.html).
 | 
						|
 | 
						|
# Development Branches
 | 
						|
 | 
						|
The default branch that contains the most recent VyOS code is called `current`.
 | 
						|
We may or may not eventually switch to `main`.
 | 
						|
 | 
						|
All new code goes to the `current` branch. When a new LTS release is ready for feature freeze, a
 | 
						|
new branch is created for the release, and new code from `current` is backported
 | 
						|
to the release branch as needed.
 | 
						|
 | 
						|
Post-1.2.0 branches are named after constellations sorted by area from smallest
 | 
						|
to largest. There are 88 of them, here's the
 | 
						|
[complete list](https://en.wikipedia.org/wiki/IAU_designated_constellations_by_area).
 | 
						|
 | 
						|
Existing branches:
 | 
						|
 | 
						|
* VyOS 1.4: `sagitta` (Arrow) [LTS]
 | 
						|
* VyOS 1.3: `equuleus` (Little Horse) [LTS]
 | 
						|
* VyOS 1.2: `crux` (Southern Cross) [Unsupported]
 | 
						|
 | 
						|
The next LTS release will be VyOS 1.5 `circinus` (Compasses).
 |