35
(Vitocha.iso 作ってみた ) FreeBSD カスタム iso のつくりかた @shutingrz しゅーと

[Vitocha.iso] FreeBSDカスタムiso作ってみた

Embed Size (px)

Citation preview

(Vitocha.iso 作ってみた) FreeBSD カスタムisoのつくりかた

@shutingrz しゅーと

2014年 某日

卒業研究の中間発表 しました

tssさん「さっぱりわからん」

~終了~

わかりやすい発表 心がけます

気を取り直して 2014年 某日

へ~Vitochaね・・・ 使ってみようか・・・

仮想アプライアンスかいッ

しかも2.1GB !?デカッ

しかも9.2 !?古ッ!

tssさんごめんなさい

じゃあ自分でVitocha構築してみよう アプライアンスみたいにするために 必要なものは・・・

ホストコンピュータが必要なもの

python

perl

py27-nwdiag

py27-blockdiagcontrib-cisco

他9個

Jailが必要なもの

bind

nsd

unbound

djbdns

他6個

Vitochaを使う上で必要なセットアップ

多すぎ!(*ライブラリに使うだけならこんなにいりません)

(Vitocha.iso 作ってみた) FreeBSD カスタムisoのつくりかた

@shutingrz しゅーと

カスタムイメージ作成方法 ググっても出てこなかった

• FreeBSDのメインは2つのカテゴリで構成 • kernel.txz • base.txz

• オプション • src.txz • ports.txz • doc.txz

• もはや要らない • game.txz

今回はココ

カスタムイメージができるまでカスタムカーネルのビルド

ベースのビルド

make release

distディレクトリで各インストール作業

カスタムベースのビルド

カスタムイメージの作成

カーネル

#VIMAGE options VIMAGE options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET

/usr/src/sys/i386/conf/GENERICに以下を追加

cd /usr/src make buildkernel/usr/obj以下にビルドされる

ベースの作成

cd /usr/src make buildworld/usr/obj以下にビルドされる

イメージの作成

cd /usr/src/release make release/usr/obj/usr/src/release以下にビルドされる

カスタムベースの作成

cd /usr/obj/usr/src/release/dist/base以下(baseのみが入っている)

chrootなどをしてOSインストール時に入っておいて欲しいパッケージをインストール

全て終わったら tar cLvJf ./ ../base.txz

base.txzの出来上がり!

カスタムイメージの作成

/usr/obj/usr/src/release/release/usr/freebsd-dist

OSインストール時に入れるtxzを格納する

rm (略)usr/freebsd-dist/base.txz

cp さっき作ったbase.txz (略)usr/freebsd-dist/base.txz

MANIFESTの作成

これやらないとインストール時ハッシュが合わない

/usr/src/release/scripts/make-manifest.sh (略)usr/freebsd-dist/*.txz > (略)usr/freebsd-dist/MANIFEST

イメージファイルの作成

cd /usr/obj/usr/src/releasesh /usr/src/release/i386/mkisoimages.sh -b FreeBSD_Install [好きな名前].iso release

[好きな名前].isoができます

Vitocha.iso公開しましたhttp://www.shutingrz.com/vitocha/

FreeBSD10ながらアプライアンスに限りなく近づけてます

851M

アプライアンスと比べて1.2GBの削減

サイズ削減版は660MB

1/3以下のサイズに!CDにも焼ける!

ありがとうございました