びぼうろぐ

ネ申エクセルからの卒業

【CentOS7】vyOSのISOイメージをビルドする

最近ネットワークの勉強をしているのですが、元同僚の方から「↓のルータが安くておすすめ!」と紹介されました。

遊んでみたいなぁなどと考えていると日本語Wikiに以下の記述を発見しました。

EdgeOS とは
Ubiquiti Networks の製品 EdgeRouter シリーズに採用されている OS です。
EdgeOS は、Ubiquiti Networks が開発した Vyatta のフォークです。
Vyatta は、LinuxDebian ベースのルーター用 OS です。現在は Brocade Communication Systems という会社が所有しているため、コミュニケーションフォークとして、VyOS が生まれています。

vyOSなるOSであればFreeで使用できそう?ということで、こちらのISOイメージをビルドしてみます。

VyOS Platform Repositories · GitHub

環境

  • Docker: CE 19.03.8
  • Git: 1.8.3.1

手順

# ソースのクローン
$ git clone https://github.com/vyos/vyos-build

# ISOビルド環境のコンテナをビルド
$ docker build -t vyos-builder docker

# コンテナ起動
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos-builder bash

以下コンテナ内の操作

$ uname -a
Linux 495b50f35c16 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 GNU/Linux

# build-config.jsonの作成
$ ./configure
Checking if packages required for VyOS image build are installed
All dependencies are installed
Saving the build config to build/build-config.json

Saving the build config to build/build-config.json

# configの内容確認
$ cat build/build-config.json
{
    "architecture": "amd64",
    "build_by": "vyos_bld@495b50f35c16",
    "build_comment": "",
    "build_dir": "build",
    "build_type": "development",
    "custom_apt_entry": [
        "deb http://repo.saltstack.com/py3/debian/10/amd64/2019.2 buster main",
        "deb http://repo.powerdns.com/debian buster-rec-42 main"
    ],
    "custom_apt_key": null,
    "custom_package": [],
    "debian_mirror": "http://deb.debian.org/debian",
    "debian_security_mirror": "http://deb.debian.org/debian-security",
    "debug": false,
    "distribution": "buster",
    "kernel_flavor": "amd64-vyos",
    "kernel_version": "4.19.120",
    "pbuilder_config": "build/pbuilderrc",
    "pbuilder_debian_mirror": "http://deb.debian.org/debian",
    "release_train": "equuleus",
    "version": null,
    "vyos_branch": "current",
    "vyos_mirror": "http://dev.packages.vyos.net/repositories/current"
}

# ISOビルド
$ sudo make iso

# コンテナ終了
$ exit
# 成果物の確認
$ ls -l build/
合計 437644
...
-rw-r--r--.  1 root  root  438304768  5月  4 21:51 live-image-amd64.hybrid.iso
...
lrwxrwxrwx.  1 root  root         27  5月  4 21:51 vyos-1.3-rolling-202005041233-amd64.iso -> live-image-amd64.hybrid.iso

2020/05時点のブランチだと1.3がビルドされるんですかね?