Сборка образа VyOS
Самостоятельная сборка образа VyOS.
Содержание
1 Общая информация
- Из-за модели распространения VyOS становится оправданной самостоятельная сборка.
- VyOS является проектом с открытым исходным кодом, но ISO-образы могут быть получены только по подписке или путем внесения вклада в сообщество.
- Текущая стабильная версия: 1.3.4 (https://blog.vyos.io/vyos-1.3.4-lts-release).
- Описание сборки VyOS: https://docs.vyos.io/en/equuleus/contributing/build-vyos.html
2 Сборка
- Разработчики рекомендуют использование для сборки окружения в docker.
2.1 Установка docker
2.1.1 Установка
- Debian:
1sudo apt-get update 2sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common 3curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 4sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" 5sudo apt-get update 6sudo apt-get install -y docker-ce
- Ubuntu:
1sudo apt-get update 2sudo apt-get -y install \ 3 ca-certificates \ 4 curl \ 5 gnupg \ 6 lsb-release 7curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 8echo \ 9 "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ 10 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 11sudo apt-get update 12sudo apt-get install docker-ce docker-ce-cli containerd.io
- Fedora:
- CentOS:
- Gentoo:
1emerge app-containers/docker app-containers/docker-cli
2.1.2 Запуск
- Запустите docker:
1systemctl start docker.service
2.1.3 Конфигурация
- Текущего пользователя без полномочий
root
необходимо добавить в группуdocker
:1usermod -aG docker yourusername
2.2 Контейнер со сборочным окружением
- Контейнер можно создать вручную или загрузить готовый из DockerHub (https://hub.docker.com/).
2.2.1 Загрузка контейнера из DockerHub
- Чтобы загрузить контейнер из DockerHub, запустите:
2.3 Подготовка среды сборки
- Загрузите сборочный код:
- VyOS 1.2
1git clone -b crux --single-branch https://github.com/vyos/vyos-build
- VyOS 1.3
1git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
- VyOS 1.4
1git clone -b sagitta --single-branch https://github.com/vyos/vyos-build
- VyOS 1.5 (rolling release)
1git clone -b current --single-branch https://github.com/vyos/vyos-build
- VyOS 1.2
- Перейдите в сборочный каталог:
1cd vyos-build
- Подключите данный каталог к docker:
- VyOS 1.2
1docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:crux bash
- VyOS 1.3
1docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
- VyOS 1.4
1docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:sagitta bash
- VyOS 1.5 (rolling release)
1docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:current bash
- VyOS 1.2
- Сконфигурируйте параметры сборки:
2.4 Сборка ISO
- Запустите сборку:
1sudo make iso
2.5 Образы для платформ виртуализации
2.6 Конфигурация packer
- В файле
packer.json
заданы достаточно оптимистичные промежутки времени. - При компиляции в виртуальной машине их не хватает.
- Увеличим их:
1sed -ie "s:wait3m:wait10m:g" scripts/packer.json
2.6.1 QEMU
- Запустите следующую команду после создания образа
qcow2
:1make qemu
2.6.2 Vagrant
- Запустите следующую команду после создания образа для vagrant:
1make vagrant-libvirt
- Для создания используется образ, созданный для Quemu.