Login
Immutable PageDiscussionInfoAttachments
moba/FreeBSDonHyper-v

MMA

準備

必ず設定すべき項目は以下の2つ

デフォルトでは「接続されていません」になっているのでNICを適切に設定しないとインストール時にネットワークカードの設定が無視されるのでインストール後にネットに接続できないなんてことに。もし忘れたままインストールしてしまった場合は、適切にHyper-V側の設定でNICを選択した後、FreeBSDを起動し、FreeBSDでの/etc/rc.confに自分で直接ifconfig_hn0="SYNCDHCP"と書き込んでリブート

Hyper-Vの世代はUEFIブートに対応したFreeBSDのインストールメディアを持っていない場合は第1世代を選択する。現状ではFreeBSDのUEFIブートはテスト段階なので、あまりUEFI環境下での使用はおすすめできない。というか自分はUEFI環境下でのインストールをしたことがないため、よく知らない。詳しく知りたいならUEFI - FreeBSD Wikiを参照すること。多分、セキュアブートがSecureBoot - FreeBSD Wikiにあるようにまともに対応してないため、そもそもインストールとかできない気がする

インストール

インストールはストレージ選択以外は日本語文献があるので割愛。 ストレージ選択時にはada0の方を選択するほうがいいかも(?)。自分はda0にインストールはしていないからどんな動作をするのかわわからない。再インストール時にda0に中身が前回のインストール時と同じものが詰まっているように見える。スナップショット用とかそんな用途のためにあるのかもしれない。 要調査

インストール後の設定とか

ネットワーク

まずはネットにつながっているかを確認するために次のコマンドを起動したVM環境で叩く

   1 ifconfig

ここでhn0というNICが見つからないなら、VMをシャットダウンした後に、Hyper-Vの設定で適切なNICを選択し、再起動して次の作業にすすむ。 hn0がFreeBSD側で認識されていたら、hn0の項目内にinet:xxx.xxx.xxx.xxxという項目が存在するかを確認する。ここでIPv6を使っている人がもしいれば、探すべき項目はinet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx。この項目が存在していれて127.0.0.1とか::1とか表示されてなければ、DHCPサーバーからIPが降ってきているので、次のコマンド

   1 ping www.google.co.jp

を打ってネットワークに繋がっているかを確認する。ここでpingコマンドにNo route to hostとかnetwork is unreachableとか言われた場合はそもそもハイパーバイザがネットワークに繋がっていないか今までの設定で何かミスを犯しているか、次のネットワークの設定を行っていない可能性があるので、Hyper-Vの設定を見なおしたり、/etc/rc.confの記述をミスっていないかを確認したり、次の「pingが通らない場合」の設定を行ってみるよ良い。pingから

64 byte from xxx.xxx.xxx.xxx:icmp_seq=x ttl=xx time=x.xxx ms

と応答があれば、ネットワークの設定は終わっているので次のセクションまで進んでもらって構わない。

pingが通らない

/etc/rc.confをviを用いて開く。その中に

ifconfig_hn0="DHCP"

という文字列があれば、その文字列を

ifconfig_hn0="SYNCDHCP"

に変更する。なければrc.confの最初の方に追加。/etc/rc.confを修正し終わったら修正を保存してVMを再起動することで、内容が反映されるはず。もし、再起動したくないならば

   1 dhclient hn0

を打てば、DHCPサーバーと接続されている場合、IPがそのまま降ってくる。以上でネットワークの設定は終了

FreeBSDシステムのアップデート

「FreeBSD インストール」とかでググると結構文献がでてくる。基本的には次のコマンドでアップデートを行うことで、FreeBSDを最新に保つことができる。

   1 freebsd-update fetch install

このコマンドは、最新のパッチなどを取得(fetch)し、インストール(install)する。このfreebsd-updateコマンドは/bootにGENERICカーネルが存在しなければ適用できない。詳しく知りたい場合はhttps://www.freebsd.org/doc/handbook/24.2 FreeBSD Updateを参照すること。特にカスタムカーネルの構築などを行っていない場合やあるいは/boot直下にGENERICカーネルがある場合、カスタムカーネルを1回だけ構築しているが、/boot/kernel.oldが存在している場合はfreebsd-updateコマンドによって、システムのアップデートを行うことができる。

Portsのアップデート

Ports自体、最近はpkgngの導入などによって触る機会は減っているかもしれないが、pkgngにはまだ導入されていないパッケージがportsにはあるといったことがあるので、知っておいて損はないと思う。pkgngよりもPortsによる導入のほうが安定していることが多いので、時間があるのであれば、こちらでのパッケージ導入をおすすめする。 インストール時に/usr/portsを導入していれば、そのportsはインストールメディアが作成された時のスナップショットをコピーしているだけなので、次のコマンドを叩く。

   1 portsnap fetch extract

このコマンドはportsサーバーから最新のスナップショットを取得(fetch)し、取得したスナップショットを/usr/portsに展開(extract)する。このコマンドはスナップショットをフェッチして展開しているだけなので、インストール時にPortsを導入していなくても正常に動作してくれる。このコマンドによってPortsはコマンドを叩いた時点で最新のものとなる。あとは入手したportsの中から導入したいパッケージのディレクトリへ移動し、

   1 make install clean

を入力することで、パッケージが導入される。 Portsは/usr/ports以下に「カテゴリー/パッケージ」という階層で分けられているため、初めてFreeBSDを使う人はどこにパッケージがあるのか迷うかもしれない。そんな時はpsearchをインストールするか、/usr/portsに移って

   1 make quicksearch name=<探したいパッケージ名>

を打つと幸せになれるかもしれない

Xorg

現状、pkgからのインストールもportsからのインストールもSignal 10(Bus Error)で起動できない。

moba/FreeBSDonHyper-v (last edited 2015-05-09 20:56:39 by moba)