MacユーザがPC自作してFreeBSD入れてみた

# 自作した理由

このところAppleのデスクトップが更新されていません。現在のラインナップもメモリやディスクを自由に追加できるようなものはありません。Tim Cookはgreat desktopsの発売を計画しているとの[報道](https://techcrunch.com/2016/12/19/apples-tim-cook-assures-employees-that-it-is-committed-to-the-mac-and-that-great-desktops-are-coming/)がありましたが、iMacが最高傑作と考えているようなので、カスタマイズできるようなものは期待できません。他のメーカーも家庭用の主力はノートパソコンや一体型のようです。BTOでは作ることが可能ですが、B150のような安いマザーボードが使われることが多いようです。自作すれば同じ予算でより高性能なものが作れると考えて、1台組んでみることにしました。

# FreeBSDを選んだ理由

デスクトップで使うのであれば、WindowsがLinuxが普通です。実はデスクトップが使いやすそうでったので、Linux Mint 18 Sarahをインストールしてみようとしたのですが、インストーラがNVMe SSDを認識しませんでした。[ひと手間](http://askubuntu.com/questions/696999/unable-to-install-grub-in-dev-nvme)必要だったようです。

一方[TrueOS](https://www.trueos.org/)は問題なくインストールできました。NVMe対応はTrueOS独自ではありません。比較的新しいパーツに対応していることは、FreeBSDが活発に開発されている証左だと思います。Luminaもよさそうでしたが、素のFreeBSDからデスクトップ環境を構成してみたくなったのでFreeBSD 11.0をインストールすることにしました。一般の方にはWindowsやLinux、FreeBSDを手軽に楽しみたい方にはTrueOSをおすすめします。

# 構成

iMacくらいの性能を想定して以下のような構成にしました。Amazonだと7万円くらいで揃う
と思います。ディスプレイ、キーボード、マウスは手持ちのものを使いました。インストールメディアとしてUSBメモリも必要です。

* ケース: [Cooler Master Silencio 352](http://amzn.to/2i3OMvn)
* マザーボード: [Gigabyte GA-H170M-D3H](http://amzn.to/2haXeVf)
* CPU: [Intel Core i5-6500](http://amzn.to/2haXG5K)
* メモリ: [CFD W4U2400CM-8G 8GB x 2](http://amzn.to/2i3PPM9)
* SSD:  [Intel SSD DC 600pシリーズ 256GB M.2 PCIEx4](http://amzn.to/2hb1e81)
* 電源: [玄人志向 KRPW-G3-600W/90+](http://amzn.to/2haY5VO)
* 無線LAN: [TP-Link TL-WN725N](http://amzn.to/2i1tGLS)

# 組み立て

組み立てはマザーボード添付の[マニュアル](http://www.gigabyte.jp/products/product-page.aspx?pid=5490#manual)を従えば難しいところはありません。

マザーボードを本体との間のスペーサの取り付けは、5.0mmのナットドライバーを使いました。ネジ一式にプラスドライバーでまわせるようにする部品が入っていますのでナットドライバーは無くても構いませんが、[ESP-650](http://amzn.to/2imdA2f)のような精密ドライバーセットがあると便利です。

左側のパネルを外して、配線すると風の通りがよく見た目もきれいです。

# インストール

インストールメディアの作成はMacで行いました。「[FreeBSDが初めてという方へ](https://www.freebsd.org/ja/projects/newbies.html)」やそこからリンクされているインストールガイドにはよく目を通しておいてください。FreeBSDの[ダウンロードサイト](https://www.freebsd.org/ja/where.html)からamd64のFreeBSD-11.0-RELEASE-amd64-memstick.imgをダウンロードしました。CHECKSUM.SHA256-FreeBSD-11.0-RELEASE-amd64でダウンロードしたファイルに問題がないか確認します。

```
$ openssl sha256 FreeBSD-11.0-RELEASE-amd64-memstick.img

```

ディスクユーティリティでUSBメモリをFATにフォーマットしておきます。ddコマンド使ってISOイメージの書き込みを行います。diskutilでスライスのデバイスを確認します。以下の例の/dev/disk1s2はdiskutilで確認したものに置き換えてください。

```
$ diskutil unmount /dev/disk1s2
$ sudo if=FreeBSD-11.0-RELEASE-amd64-memstick.img of=/dev/disk1s2 bs=8192
```

Macのddだとbsの補助単位を使う場合、mのように小文字でないとエラーが出ました。

インストールメディアは、黒いUSB 2.0端子に接続して電源を入れます。青いUSB 3.0からは起動しませんでした。Gigabyteのロゴが表示されたらF12を連打してUSBメモリを選択します。

試行錯誤を繰り返していたとき、BIOS画面で起動ボリュームのリストにSSDが多数表示され、どんどん長くなる現象に遭遇しました。またF12が機能しませんでした。おそらくBIOSのバグだろうと思います。CMOSリセットをしても消えませんでしたが、SSDを外して起動することでリストをリセットすることができました。

インストーラはテキストベースのbsdinstallです。グラフィカルなものより見劣りしますが、画面解像度の心配をせずにインストールが進められるので合理的だと思います。起動時に選択すればコンソールですがインストールせずにFreeBSDを使ってみることもできます。

SSDはZFSでフォーマットし、パーティションはおまかせにしました。

# 無線LANの設定

インターネットに接続できないとパッケージの追加などができないので、まずネットワークを設定します。DHCPでIPアドレスが取得できるものとします。有線LANはすぐに使えるようになっています。

無線LANに接続するために子機をUSB端子に接続しました。[TP-Link TL-WN725N](http://amzn.to/2i1tGLS)のドライバは[urtwn](https://www.freebsd.org/cgi/man.cgi?query=urtwn&sektion=4)です。/boot/loader.conf に何も書かなくても使えました。なお、TrueOSで試したときに、FreeBSD 12にアップグレードしたところurtwnがなくなって使えなくなってしまったので注意が必要です。

```/etc/rc.conf
wlans_urtwn0="wlan0"
ifconfig_wlan0="HT WPA SYNCDHCP"
```

SSIDとパスフレーズを設定します。

```
# wpa_passphrase ssid passphrase > /etc/wpa_supplicant.conf
```

SSIDをブロードキャストしないステルスモードを使用しているときは、wpa_supplicant.confにscan_ssid=1を設定する必要があるようです。

[WLI-UC-GNM2](http://amzn.to/2iml2um)はRalinkのチップセットを使っており、ドライバはrunです。FreeBSD 12にもあるようです。しかし現状では11gでの接続で、11n対応は[TODO/wishlist](https://wiki.freebsd.org/WiFi)に入っています。

# おわりに

この投稿は、組み上がったPCにFirefoxを導入して書きました。ウィンドウマネージャやZFSについては、改めて書きたいと思います。FreeBSDのすばらしいところは、ハンドブックが充実していてコンピュータが動く仕組みや基本的な使い方を理解して習得できることだと思いました。デバイスの選び方が難しいと思っていましたが、[Wiki](https://wiki.freebsd.org/FrontPage)やオンラインマニュアルに具体的に示されており、安心して集めることができました。