blog/content/post/2014-10-30-making_virtualbo...

4.2 KiB
Raw Blame History

title author date url tmac_last_id wordtwit_posted_tweets wordtwit_post_info categories
Packerを使ってVirtual Boxのイメージを作成する kazu634 2014-10-29 /2014/10/30/making_virtualbox_image_using_packer/
530867855634747392
a:1:{i:0;i:1892;}
O:8:"stdClass":13:{s:6:"manual";b:1;s:11:"tweet_times";i:1;s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";s:116:"ブログに新しい記事を投稿したよ: Packerを使ってVirtual Boxのイメージを作成する - [link] ";s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:3;s:13:"tweet_log_ids";a:2:{i:0;i:1889;i:1;i:1892;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
packer
インフラ

packer

Packerを利用してVirtual Boxのイメージを作成したので、その方法をメモ書きしておきます。環境はMacのYosemiteです。

前提条件

これらをインストールしておいてください。

  • Homebrew
  • Virtual Box

Packerのインストール方法

以下のコマンドを実行します:

brew tap homebrew/binary
brew install packer

Packerを利用してVirtual Boxのイメージを作成する

時雨堂さんが提供しているconfigを利用させていただきます。とりあえず以下のコマンドを実行します:

git clone git@github.com:shiguredo/packer-templates.git

その上でこんなパッチをあてました:

diff --git a/ubuntu-12.04/http/preseed.cfg b/ubuntu-12.04/http/preseed.cfg
index 6816597..a6d0044 100644
--- a/ubuntu-12.04/http/preseed.cfg
+++ b/ubuntu-12.04/http/preseed.cfg
@@ -1,3 +1,4 @@
+d-i mirror/country string JP
 choose-mirror-bin mirror/http/proxy string
 d-i base-installer/kernel/override-image string linux-server
 d-i clock-setup/utc boolean true
diff --git a/ubuntu-12.04/template.json b/ubuntu-12.04/template.json
index cd088e7..f7d783d 100644
--- a/ubuntu-12.04/template.json
+++ b/ubuntu-12.04/template.json
@@ -9,16 +9,14 @@
             "scripts/base.sh",
             "scripts/vagrant.sh",
             "scripts/virtualbox.sh",
-            "scripts/cleanup.sh",
-            "scripts/zerodisk.sh"
+            "scripts/cleanup.sh"
           ]
         },
         "vmware-iso": {
           "scripts": [
             "scripts/base.sh",
             "scripts/vagrant.sh",
-            "scripts/cleanup.sh",
-            "scripts/zerodisk.sh"
+            "scripts/cleanup.sh"
           ]
         }
       }

preseed.cfgの方は、アメリカにあるレポジトリにアクセスしにいっていたため、日本にあるレポジトリにアクセスするようにするため変更しました。template.jsonの方は、zerodisk.shを実行するとタイムアウトエラーになるため、実行しないようにしています。

その上で以下のコマンドを実行して、作成完了です!

packer build -only=virtualbox-iso template.json

参考