ソースコードからISOイメージを作成する方法
VyOSのISOイメージを構築することは非常に簡単で単純です。
目次
構築用マシンの準備
Debian Squeezeをセットアップします。
構築するアーキテクチャ(32bit or 64bit)はホストのアーキテクチャに基づきます。32bitイメージを構築する場合、32-bitのdebian squeezeホストを、64bitイメージを構築する場合は64-bitのsqueezeホストを使います。
現在(VyOS Hydrogenリリース)は、debian squeeze (Debian 6)以外ではコンパイルできません。
DebianとVyOS アーカイブキーのインストール
アーカイブキーがインストールされていない場合、下記を実行します:
apt-get install debian-archive-keyring
公開鍵 の手順に従い、VyOSのアーカイブキーをインストールします。
この手順を省略した場合、ビルド時に信頼されていないパッケージであると警告を受けることがあります。
SquashFSツールのインストール
最初に、squeezeが持っているものより最新のsqashfsパッケージが必要になります。 VyOSはエクステンドファイルアトリビュートを使います。4.2より以前のバージョンは属性を処理しません。
sqashfsはsqueeze-backportsリポジトリから取得できます。
- "deb http://backports.debian.org/debian-backports squeeze-backports main"を sources.listに追加します。 (または 新規ファイルを /etc/apt/sources.list.d/ の ".list" エクステンションに追加します。)
- apt-get updateを実行
- "sudo apt-get -t squeeze-backports install squashfs-tools" を実行
構築に依存するパッケージのインストール
ISOを構築するためには、デフォルトではインストールされていないいくつかのパッケージが必要になります。それらをインストールするには、下記を実行します。:
sudo apt-get install git autoconf automake dpkg-dev live-helper syslinux genisoimage
build-iso ソースの取得
git clone https://github.com/vyos/build-iso.git cd build-iso
次に、ブランチを切り替える必要があります。現在の安定版ブランチは「hydrogen」であり、現在の開発ブランチは「Helium」です。レポジトリのクローンを作成するときには、デフォルトとして現在Heliumが設定されています。
異なるブランチを必要とする場合、下記を実行します。(たとえば安定版ブランチのhydrogenを変更する場合):
git branch $branch --track origin/$branch git checkout $branch
イメージのビルド
続けて下記を実行します:
export PATH=/sbin:/usr/sbin:$PATH autoreconf -i ./configure sudo make iso
実行後、下記のようなログで終了します:
Warning: creating filesystem that does not conform to ISO-9660. Size of boot image is 4 sectors -> No emulation 4.61% done, estimate finish Tue Oct 22 09:28:18 2013 9.20% done, estimate finish Tue Oct 22 09:28:18 2013 13.80% done, estimate finish Tue Oct 22 09:28:18 2013 18.39% done, estimate finish Tue Oct 22 09:28:18 2013 22.99% done, estimate finish Tue Oct 22 09:28:18 2013 27.58% done, estimate finish Tue Oct 22 09:28:18 2013 32.19% done, estimate finish Tue Oct 22 09:28:18 2013 36.78% done, estimate finish Tue Oct 22 09:28:18 2013 41.38% done, estimate finish Tue Oct 22 09:28:18 2013 45.97% done, estimate finish Tue Oct 22 09:28:18 2013 50.57% done, estimate finish Tue Oct 22 09:28:19 2013 55.16% done, estimate finish Tue Oct 22 09:28:19 2013 59.76% done, estimate finish Tue Oct 22 09:28:19 2013 64.35% done, estimate finish Tue Oct 22 09:28:19 2013 68.96% done, estimate finish Tue Oct 22 09:28:19 2013 73.55% done, estimate finish Tue Oct 22 09:28:19 2013 78.15% done, estimate finish Tue Oct 22 09:28:19 2013 82.74% done, estimate finish Tue Oct 22 09:28:19 2013 87.34% done, estimate finish Tue Oct 22 09:28:19 2013 91.92% done, estimate finish Tue Oct 22 09:28:20 2013 96.53% done, estimate finish Tue Oct 22 09:28:20 2013 Total translation table size: 2048 Total rockridge attributes bytes: 9140 Total directory bytes: 22528 Path table size(bytes): 100 Max brk space used 12000 108786 extents written (212 MB) Reading package lists... Done Building dependency tree Reading state information... Done P: Deconfiguring file /etc/apt/apt.conf P: Deconfiguring file /usr/sbin/policy-rc.d P: Begin unmounting /sys... P: Deconfiguring file /usr/sbin/initctl P: Begin unmounting /selinux... P: Begin unmounting /proc... P: Begin unmounting /dev/pts... P: Begin unmounting filesystems... I: Done
すべてが完了したら
livecd サブディレクトリにISOイメージが置かれています:
#ls -l livecd/ total 218180 -rw-r--r-- 1 root root 223346688 Oct 22 09:28 binary.iso