NetBSD-7.0をインストールしてみる

昨年の[NetBSD Advent Calendar 2014](http://qiita.com/advent-calendar/2014/netbsd)に引き続き、今年もNetBSD Advent Calendarを書いてみます。

今年は[FreeBSD Advent Calendar](http://qiita.com/advent-calendar/2015/freebsd)を開催してくれた方もおり、NetBSDのAdvent Calendarをポイすることはできません。つまり[ノーポイッ!](http://www.gochiusa.com/contents/cd/index02570000.html)であります。

第1日目の今日は、9/25にリリースされた[NetBSD-7.0](https://www.netbsd.org/releases/formal-7/NetBSD-7.0.html)のインストール手順を書いてみようと思います。昨年の[第1日目](http://qiita.com/furandon_pig/items/5882ede06b5b5d3bf439)でもインストール手順を紹介していましたが、こちらは6.1.5を対象にした手順でした。NetBSD-7.0では一部インストールの手順が変更になっており、今回はその部分のフォローアップをかねた内容になります。

## NetBSDをインストールする

さっそくNetBSDをインストールしてみます。まずはインストールCDのダウンロードと仮想マシンの準備を行います。

### インストールCDをダウンロードする

昨年のNetBSD Advent Calendarにおける手順と同じく、JAISTからISOイメージをダウンロードします。

```
$ curl -O http://ftp.jaist.ac.jp/pub/NetBSD/iso/7.0/NetBSD-7.0-amd64.iso
```

### NetBSD-7.0のインストール

#### VirtualBox上で仮想マシンを準備する

以下の手順でVirtualBoxに仮想マシンを準備します。

仮想マシン名称は「nbsd7」としてみます。

![img001.png](https://qiita-image-store.s3.amazonaws.com/0/61137/da11b418-ef4c-0acb-e14a-13cd20444123.png)

メモリーサイズは前回と同様に、512MBもあれば(とりあえずインストールには)充分です。

![img002.png](https://qiita-image-store.s3.amazonaws.com/0/61137/2fb40af3-498e-22bb-50b7-d583117a7181.png)

仮想はHDDは8GBくらいにしておきます。

![img006.png](https://qiita-image-store.s3.amazonaws.com/0/61137/1b00f493-acdc-88ac-801d-d9047017d335.png)

この仮想マシンはNATでネットワークに接続してみます。ここでポートフォワーディング設定を行っておくと良いかと思います。

![img007.png](https://qiita-image-store.s3.amazonaws.com/0/61137/38a2cb51-fa51-dd0a-616f-9e3ab78db591.png)

テスト用の仮想マシンでは外部からの接続は不要であることが多いため、ポートフォワーディングルールを設定する段階でホストIPをローカルホスト(127.0.0.1)に絞っておくと便利です。

![img008.png](https://qiita-image-store.s3.amazonaws.com/0/61137/4fc4091f-3314-0cf0-3168-10cf493df576.png)

あとはダウンロドーしておいたNetBSDのインストールISOイメージを仮想CD-ROMドライブにセットして仮想マシン側の準備は完了です。

![img009.png](https://qiita-image-store.s3.amazonaws.com/0/61137/18f86f6b-db83-7cca-652b-07a2470391a1.png)

#### NetBSDのインストール

仮想マシンを起動し、NetBSD-7.0のインストールを進めてゆきます。最初の数ステップはこれまでのインストーラの画面と同じです。

インストーラーの表示メッセージを英語にして……。

![img011.png](https://qiita-image-store.s3.amazonaws.com/0/61137/a3941fc3-0cf6-214c-7b25-227f601f2709.png)

キーボードレイアウトはそのままにします。

![img012.png](https://qiita-image-store.s3.amazonaws.com/0/61137/fb174fbb-6ae4-181e-5ad1-4ba3d8726326.png)

インストーラが起動してきます。「a:」を選択してインストールを進めます。

![img013.png](https://qiita-image-store.s3.amazonaws.com/0/61137/38faf03a-989d-8530-30b1-48f86fe3e9d4.png)

「インストーラはHDDの中身を変更しちゃうからバックアップを云々……」というメッセージが表示されるものの、今回は仮想マシンHDDなのでそのまま「b: Yes」を選択します。

![img014.png](https://qiita-image-store.s3.amazonaws.com/0/61137/a4dbe6d8-56fb-8a6d-1f82-9f48e4b215a7.png)

すると「どのHDDにNetBSDをインストールする？」という選択画面になります。以前のバージョンのインストーラではインストール先HDDの選択はずっと後の段階で表示されていたのですが、NetBSD-7.0インストーラではこの段階で表示されるよう、作業ステップが変更されています。

![img015.png](https://qiita-image-store.s3.amazonaws.com/0/61137/a44992ce-366e-7467-8da1-f03c96448333.png)

それ以降は従来のNetBSDインストーラと同じ順番で進んでゆきます。この画面ではそのまま「a: This is the correct geometry」を選択します。

![img016.png](https://qiita-image-store.s3.amazonaws.com/0/61137/f51861db-e6ed-0fa0-8cac-5e2b6c5a672c.png)

選択したHDDのMBR(マスターブートレコード)を編集するか聞かれますが、今回はMBRを手動で編集する必要がない(仮想マシンにNetBSDをインストールするケースでは編集したことがない……)ので、ここは「b: Use the entire disk」を選択します。

![img017.png](https://qiita-image-store.s3.amazonaws.com/0/61137/c09295be-73fd-8f9a-0573-8139f6123dd7.png)

次の画面ではMBRにブート用のコード(つまるところブートローダ)をインストールするか聞かれます。これがないとブートしてこない(ブートできない)ので、忘れずに「a: Yes」を選択しておきます。

![img018.png](https://qiita-image-store.s3.amazonaws.com/0/61137/d9bd594a-170e-ecb8-bb13-bee14c0ca141.png)

次にNetBSDパーティションの構成を設定します。ここでは手動でパーティションを切ってみましょう。「a: Set size of NetBSD partitions」を選択します。

![img019.png](https://qiita-image-store.s3.amazonaws.com/0/61137/5478f7b5-ca17-6adb-b7f9-0a0f5f451d23.png)

インストーラ側で「こんなパーティションで大丈夫か？」と言わんばかりにパーティションを自動で切った結果を表示してくれますが、全然問題がある(Free spaceが6622MBとか！)ので、手動でパーティションサイズを設定します。

![img020.png](https://qiita-image-store.s3.amazonaws.com/0/61137/1d93ac9d-a034-50ef-679d-78d583d244e8.png)

本来なら/varや/usr毎にパーティションを切るのが良いと思うのですが(私の記憶だと、HDDのディスク外周に位置するパーティションを/varに設定するとログなどの読み書きが速くなると習った記憶が)、これは仮想マシン上の仮想HDDなので、そういったことは気にせず、/(ルートパーティション)とスワップだけにします。

まずはスワップの設定です。サイズを1024MBくらいに設定しておきます。

![img021.png](https://qiita-image-store.s3.amazonaws.com/0/61137/839913f0-0eac-405e-06f3-54026394003b.png)

そんでもって次は/(ルートパーティション)のサイズ設定ですが、
``Free space will be added to the partition marked with a '+'.``
と書いてあるように、残りの容量は自動的にここに割り当てられます。

ともあれ、これでパーティションのサイズ設定は完了です。"Accept partition sizes."→"x: Partition sizes ok"を選択して次のステップに進みます。

![img027.png](https://qiita-image-store.s3.amazonaws.com/0/61137/de73109a-6e8f-5062-6fbf-831d74e934af.png)

![img028.png](https://qiita-image-store.s3.amazonaws.com/0/61137/ffc9a76f-530c-966c-01d5-d61b33c67bbe.png)

HDDに名前を設定する画面に移ります。ここはインストーラが表示するデフォルト名(VBOX HARDDISK)のままで良いでしょう。

![img029.png](https://qiita-image-store.s3.amazonaws.com/0/61137/5668fb25-7f96-ebc3-d5b6-3e156b8b27a9.png)

「HDDに変更を加えるぞ！ここから先は復元(もど)れないぞ」といった感じのことを聞かれますが、そのための仮想マシン上での作業なので、臆することなく「b: Yes」を選択します。

![img030.png](https://qiita-image-store.s3.amazonaws.com/0/61137/c994aebe-c860-00b5-1022-e67b7d8874f7.png)

すると次に起動時のメッセージを出力するコンソールをどうするか聞かれます(考えてみると前の画面で「HDD変更するぞ！いいのか！」的なことを聞いたそばから「BIOSコンソールどうする〜」と聞いてくるのは肩すかし感がありますね)。ここは「a: Use BIOS console」を選択し、ディスプレイに起動時のメッセージが出力されるようにします。

![img031.png](https://qiita-image-store.s3.amazonaws.com/0/61137/e9408992-86fc-e89b-09d8-1f597164dba0.png)

次の画面では展開する(インストールする)NetBSDの配布セットの選択画面に移ります。これも以前のインストーラではもっと前のステップにあったのですが、NetBSD-7.0では順番が変更になっています。

「d: Custom instrallation」を選択し、配布セットを自分で選んでみます。

![img033.png](https://qiita-image-store.s3.amazonaws.com/0/61137/6002381e-2782-3ee8-3e1b-791bb8eaa18b.png)

配布セット選択画面は以下のようになっています。NetBSDの配布セットは必要最小限のものだけが用意されており、とても小さな構成になっています(開発ツール(Compiler tools)やX11を入れてもHDDの使用量は1GB超えなかったはず)。ここでは以下の配布セットを選択してみました(キーボードの上下キーで項目移動、EnterキーでYes/No切り替え)。

 * Compiler tools
 * Manual pages
 * Miscellaneous
 * Text processing tools

加えてX11まわりの配布物もインストールされるようにしておきます。「X11 sets」からサブメニューを開き、「f: Select all the above sets」を選択しておきます。

![img034.png](https://qiita-image-store.s3.amazonaws.com/0/61137/7a62b61d-df9a-dc70-2f84-7a9e2a814c90.png)

一通りの配布物選択が完了したら、「x: Install selected sets」で先に進みます。

![img035.png](https://qiita-image-store.s3.amazonaws.com/0/61137/5624998b-64a6-9541-89b6-3d87760ecc48.png)

配布物をどこから取得するか聞かれるので、ここは「a: CD-ROM / DVD / install image media」を選択します。画面にもあるように、CD-ROMだけではなく、ネットワーク越しに配布物を取得する(ネットワークインストール)も可能です。

![img037.png](https://qiita-image-store.s3.amazonaws.com/0/61137/cef39b44-b009-644f-0e16-68396870799a.png)

(パーティションのフォーマットと)配布物の展開が始まりました。NetBSDはミニマルな構成なので、この部分は数分程度(5分もかからない)で完了するかと思います。

![img038.png](https://qiita-image-store.s3.amazonaws.com/0/61137/6f980a96-181a-684d-dc75-fb658424ba48.png)

配布物の展開中……。

![img039.png](https://qiita-image-store.s3.amazonaws.com/0/61137/2de956cd-940b-546f-c7d4-fd1aab97a49b.png)

配布物の展開が完了しました。追加設定に入ってゆきます。

![img040.png](https://qiita-image-store.s3.amazonaws.com/0/61137/e0f01448-82d3-5721-5938-7c7dad91f298.png)

追加設定画面では、タイムゾーンやルートパスワード、sshdの有効化の設定が行えます。加えてNetBSD-7.0のインストーラでは「Enable cgd(ディスク暗号化機能)」「Enable raidframe(ソフトウエアRAID)」がデフォルトで有効になっています。

タイムゾーンのスクリーションショットを撮り忘れてしまいましたが、無駄なトリビアとして、タイムゾーン一覧の先頭からスーパーマリオワールドの1-1の曲を歌いながらカーソルを移動すると、ぴったり"ASIA/Tokyo"の位置にカーソルが移動するので便利です(自分でも書いていて意味が通じるか不明ですが……)。

![img041.png](https://qiita-image-store.s3.amazonaws.com/0/61137/49b864eb-36d6-6061-da98-222a2e066c36.png)

そして忘れずにrootユーザのパスワードを設定します。

![img042.png](https://qiita-image-store.s3.amazonaws.com/0/61137/069c2706-f05b-ee8f-9059-4af4bc99cc46.png)

この段階で「g: Enable sshd」を有効にしておくと良いでしょう。

![img043.png](https://qiita-image-store.s3.amazonaws.com/0/61137/d3d32186-583b-bee1-2259-e917f1fec5a2.png)

これで一通りの追加設定が完了です。あとは仮想マシンを再起動してNetBSDを起動します。

![img044.png](https://qiita-image-store.s3.amazonaws.com/0/61137/1e9feac9-287f-53cb-5ae1-c69ad878edad.png)

![img045.png](https://qiita-image-store.s3.amazonaws.com/0/61137/2a605d3a-77cc-bc89-3544-439fd7e8e9bf.png)

とはいえ、CD-ROMにインストールCDが入ったままになっていると、次回起動時に再度インストーラが走ってしまうので注意が必要です。手早く仮想CD-ROMドライブのISOイメージを除去すれば良いのですが、慣れていないとちょっとタイミングが難しいです。以下の手順だISOイメージを除去するのが確実です。

![img046.png](https://qiita-image-store.s3.amazonaws.com/0/61137/5d51c629-8ed1-58c2-736d-a9a96023bd97.png)

次回起動時の以下の画面でおもむろにスペースキーを押すと、「Option: [1]:」というブートプロンプトを出力して入力待ち状態になるので、ここで仮想マシンのCD-ROMを除去します。

![img047.png](https://qiita-image-store.s3.amazonaws.com/0/61137/8c66d8d7-0bfd-8e80-960e-8c4bcd4a33c1.png)

ISOイメージを除去したら、仮想マシンを停止します。ブートローダの段階で停止している状態なので、仮想HDDの中身(BSDのファイルシステム)が壊れたりはしません(そもそもまだファイルシステム読み込んでいない)。

![img048.png](https://qiita-image-store.s3.amazonaws.com/0/61137/90668246-7d94-8528-ec28-a70eddaa120b.png)

改めて仮想マシンを起動すると、HDDにインストールされたNetBSD-7.0が起動してきます。これでインストール作業は完了です！

![img050.png](https://qiita-image-store.s3.amazonaws.com/0/61137/998cf367-c6cc-d6df-5622-0fa0864f2bf7.png)

## まとめ

[NetBSD Advent Calendar 2015](http://qiita.com/advent-calendar/2015/netbsd)第1日目の記事として、NetBSD-7.0のインストール手順を紹介してみました。昨年の第1日目もインストール手順の紹介であり、NetBSD-7.0での相違点を解説するつもりが、思ったほど相違点がなく(インストール画面の順番が異なるとか、デフォルト起動デーモンが増えているくらい)、昨年の再録みたいな感じになってしまいました。

とはいえ、勉強会とかでNetBSDのインストールから始めたりすと、参加者の方々がインストール手順の微妙な相違点で手がとまったりするケースがあったりするので、NetBSD-7.0最新版のインストール手順を書いておくのは少しは有用かもしれない、と考えるようにしてみます。

明日はNetBSD+Raspberry PiでPCルータを作る話をしてみたいと考えています。