くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

bsdinstallの全ターゲットを試してみた

前回(FreeBSDをワンライナーでインストールしてみた、の解説 - くんすとの備忘録)に引き続き、bsdinstallネタです。

bsdinstallにはいくつかのターゲットがありますが、とりあえずぜんぶ試してみましょう。
※どんなターゲットがあるのかは、マニュアル(bsdinstall(8))を参照です。

前準備

一旦マルチユーザーモードでログインして、それからshellに移行します。
(/tmpや/varをマウントしてくれるので…)

その後、DHCP設定をします。

dhclient -l /tmp/dhclient.lease.em0 em0

必要に応じてキーボード配列を変更しておきます。

kbdmap

マニュアルに載っている順番に、各種ターゲットを試す

bsdtinstall auto

f:id:kunst1080:20150517232142p:plain
キーマップの選択が出てきました。
オプションなしで実行した時と同じです。

bsdinstall entropy

ソースによると、

dd if=/dev/random of=$BSDINSTALL_CHROOT/entropy bs=4096 count=1

するらしいです。

bsdinstall mountしてから実行すると、/mnt/entropy が作成されました。
f:id:kunst1080:20150521230010p:plain

bsdinstall jail <destination

jail環境を作成します。
※構築済みのFreeBSD環境で実施しました。

mkdir -p /usr/freebsd-dist
mkdir aaa
bsdinstll jail aaa

(./aaa にjail環境を構築する)
f:id:kunst1080:20150521230029p:plain
f:id:kunst1080:20150521230040p:plain
f:id:kunst1080:20150521230050p:plain
f:id:kunst1080:20150521230054p:plain

./aaa にFreeBSD Jail環境が構築されました。
f:id:kunst1080:20150521230058p:plain

bsdinstall script

前回の記事(FreeBSDをワンライナーでインストールしてみた、の解説 - くんすとの備忘録)で使用したので割愛。

bsdinstall keymap

キーボード選択のみを行います。
f:id:kunst1080:20150518081453p:plain

設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150518082014p:plain

bsdinstall hostname

ホスト名の設定のみを行います。
f:id:kunst1080:20150518082338p:plain

設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150518082346p:plain

bsdinstall netconfig

ネットワーク設定のみを行います。
f:id:kunst1080:20150518082752p:plain
f:id:kunst1080:20150518082800p:plain

設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150518082807p:plain

bsdinstall autopart

パーティションの設定のみを行います。
パーティションの切り方は自動です
f:id:kunst1080:20150521230204p:plain
f:id:kunst1080:20150521230212p:plain

パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150521230226p:plain

bsdinstall zfsboot

zfsの設定のみを行います。
f:id:kunst1080:20150521230243p:plain

パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/と/tmp/bsdinstall_boot/以下に出力されました。
f:id:kunst1080:20150521230257p:plain
f:id:kunst1080:20150521230305p:plain

bsdinstall partedit

パーティションの設定のみを行います。
※autopartとは異なり、こちらはパーティションの切り方は手動設定です。
f:id:kunst1080:20150521230316p:plain
f:id:kunst1080:20150521230324p:plain

パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150521230331p:plain

bsdinstall scriptedpart <parameters>

パーティションの設定をコマンドラインで指定して設定します。

bsdinstall scriptedpart ada0 { 512M freebsd-ufs /, 512M freebsd-swap, 512M freebsd-ufs /var, auto freebsd-ufs /usr }

f:id:kunst1080:20150521230347p:plain
f:id:kunst1080:20150521230420p:plain

パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150521230429p:plain

bsdinstall mount

/tmp/bsdinstall_etc/fstab にしたがって、/mnt以下にディスクをマウントします。
f:id:kunst1080:20150521230438p:plain
f:id:kunst1080:20150521230450p:plain

マウント後、/tmp/bsdinstall-tmp-fstab が作成されました。
f:id:kunst1080:20150521230505p:plain

bsdinstall distfetch

ディストリビューションのアーカイブをダウンロードします。

環境設定を行ってから実行

export FTP_PASSIVE_MODE=YES
export DISTRIBUTIONS="base.txz kernel.txz"
export BSDINSTALL_DISTDIR=/mnt/usr/freebsd-dist
export BSDINSTALL_DISTSITE=ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.0-RELEASE
mkdir -p /mnt/usr/freebsd-dist
bsdinstall distfetch

f:id:kunst1080:20150521230523p:plain

base.txzとkernel.txzが、/mnt/usr/freebsd-dist に落ちてきました。
f:id:kunst1080:20150521230531p:plain

bsdinstall checksum

ダウンロードしたディストリビューションのアーカイブのチェックサムを検証するらしいですが、何も起こらず……
ちょっとよくわかりません。。。
f:id:kunst1080:20150521230541p:plain

bsdinstall distextract

ダウンロードしたディストリビューションのアーカイブを解凍します。
f:id:kunst1080:20150521230609p:plain
f:id:kunst1080:20150521230617p:plain

bsdinstall distfetchで取ってきたアーカイブが/mnt以下に展開されました。
なお、/mnt/usr/freebsd-dist以下は残っている様子。
f:id:kunst1080:20150521230631p:plain

bsdinstall rootpass

新環境で、rootユーザのパスワードを設定します。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
f:id:kunst1080:20150521230651p:plain

/mnt/etc 以下のパスワード関連のファイルが更新されました
f:id:kunst1080:20150521230659p:plain

bsdinstall adduser

新環境で、ユーザの追加を行います。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
f:id:kunst1080:20150521230712p:plain
f:id:kunst1080:20150521230720p:plain

/mnt/home以下にホームディレクトリが作成されていました。
f:id:kunst1080:20150521230727p:plain

bsdinstall time

環境の日付と時刻を合わせます。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
f:id:kunst1080:20150521233453p:plain
f:id:kunst1080:20150521233500p:plain

/mnt/etc 以下の時刻関連のファイルが更新されました
f:id:kunst1080:20150521233509p:plain

bsdinstall services

サービスの選択のみを行います。
f:id:kunst1080:20150521230801p:plain

設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
f:id:kunst1080:20150521230813p:plain

bsdinstall config

/tmp/bsdinstall_etcや/tmp/bsdinstall_boot内のファイルを新環境へコピーします。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
f:id:kunst1080:20150521230821p:plain
f:id:kunst1080:20150521230829p:plain

rc.conf~がrc.confに統合され、新環境に上書きされました。
f:id:kunst1080:20150521230854p:plain
f:id:kunst1080:20150521230859p:plain

まとめ

bsdinstallの日本語情報があまり見当たらなかったので、この記事が何かの参考にでもなれば幸いです。

……酔狂ではある。。。