VyOS 1.4.x (Sagitta) のビルド¶
2024/04/07
ルーターとして VyOS – Open source router and firewall platform を利用し、他に無線AP をたてて無線利用をしている。
古いバージョンを使っており、更新したく、この更新の際の資料を整理がてらブログに書き出すこととする。
本記事は Build VyOS — VyOS 1.4.x (sagitta) documentation を参照し整理している。
環境は Debian on Windows11 にて Docker コンテナ内でビルドを行う。 ビルドは Debian でしか進まないため、Debian を利用してビルドをすること。 最初 CentOS 9 Stream で行い進まずはまってしまった。
なお、Debian における KVM の構築は KVM - Debian Wiki を参考すること。
1. git clone¶
対応するバージョンのビルド環境を clone する。
$ git clone -b sagitta https://github.com/vyos/vyos-build.git vyos-build-sagitta
$ cd vyos-build-sagitta
1. Docker コンテナの起動¶
ビルドのためのコンテナを起動する。
$ docker pull docker.io/vyos/vyos-build:sagitta
$ docker run --rm -it \
-v "$(pwd):/mnt" -w /mnt \
--privileged \
--sysctl net.ipv6.conf.lo.disable_ipv6=0 \
-e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
docker.io/vyos/vyos-build:sagitta \
bash
コマンドのオプションなどは Tips and Tricks — Build VyOS — VyOS 1.4.x (sagitta) documentation を流用している。
資料によると、 --sysctl net.ipv6.conf.lo.disable_ipv6=0
については、
指定しないとビルド時のテストで失敗するようだ。
3. ビルド¶
ビルドを進める。 custom-package の指定でカスタムパッケージを追加することができる。
$ sudo make clean
$ sudo ./scripts/build-vyos-image iso \
--build-by blah@example.com \
--version 1.4.2024_03_23 \
--architecture amd64 \
--build-type release \
--custom-package vim
4. 動作検証¶
検討した設定などが VyOS 上で有効か確認を行うため、仮想環境を起動する。 network のしても実はできるが動かなかったので試していない。
環境構築と起動まで。起動時は少し時間がかかるので待つこと。
$ virt-install -n vyos_r1 \
--memory 4096 \
--vcpus 2 \
--cdrom build/live-image-amd64.hybrid.iso \
--os-variant debian10 \
--graphics vnc \
--hvm \
--virt-type kvm \
--disk path=/tmp/vyos_r1.qcow2,bus=virtio,size=8 \
--noautoconsole
$ virsh console vyos_r1
Connected to domain vyos_r1
Escape character is ^]
実行後の環境破棄手順。
$ virsh destroy vyos_r1
$ virsh undefine vyos_r1