ソースコードからISOイメージを作成する方法

提供: VyOS jp
移動: 案内検索

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リポジトリから取得できます。

  1. "deb http://backports.debian.org/debian-backports squeeze-backports main"を sources.listに追加します。 (または 新規ファイルを /etc/apt/sources.list.d/ の ".list" エクステンションに追加します。)
  2. apt-get updateを実行
  3. "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