メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

OpenBSDをVirtualBoxで動かす

10月8日にOpenBSDの新しいバージョン7.6がリリースされた。
自宅のサーバのOSとしてOpenBSDを導入して以降、OSのアップデートはsysupgradeコマンドで実行してきた。
今回はOpenBSD 7.6を最初からインストールしようとしたがインストールの手順を所々で忘れてしまった為に、Googleで検索しながらインストールを実施した。
当記事は、OpenBSDのインストール手順を備忘録として残したものである。


OpenBSDとは
Berkeley Software Distribution(BSD)に基づく、セキュリティに重点を置いた、無料のオープンソースのUnixライクなオペレーティングシステム。Berkeleyとはカリフォルニア大学バークレー校の事で、当校のComputer Systems Research Group (CSRG) で開発されたBSDから派生している。
1995年、Theo de Raadt氏がNetBSDからフォークする形でOpenBSDを立ち上げた。
OpenBSDのサイトによると、OpenBSDプロジェクトは「移植性、標準化、正確性、プロアクティブなセキュリティ、統合された暗号化」を強調している。
LinuxやWindows ServerやAIX等と比較するとマイナーなOSだが、実環境ではたまに出くわす事が有る。かつて自分が常駐していた所では開発環境・商用環境共にOpenBSDでWebサーバを動かしていた。


当方の環境
ホスト機:macOS 14.7 / MacBook Pro 2020 / RAM: 16GB / CPU: Intel Core i5 2.0GHz
ゲスト機:OpenBSD 7.6
仮想化環境:Oracle VirtualBox 7.0.20 r163906


今回のざっくりとした要件
X Window Systemは利用せずファイルサーバとして運用する。IPアドレスは固定設定で運用するが、OpenBSDのインストール時はDHCPで自動アサインされたものを使用する。
用途:ファイルサーバ
デプロイ先:Oracle VirtualBox
仮想OS:OpenBSD 7.6 amd64版
仮想RAM:2GB
仮想HDD:32GB/IDE Primary 0
仮想NIC:Intel PRO/1000 T Server/Bridge接続
X Window System:不要


OpenBSDのインストールの準備
OpenBSD.orgのダウンロードサイトからインストーラのisoファイルをダウンロードする。
Intelの64bitアーキテクチャな環境で動作させる為、インストーラはamd64のinstall76.isoを選択する。

1.OpenBSD.orgにアクセス
OpenBSD.orgにアクセスし、画面左側のGetting OpenBSD欄内のDownloadをクリックする。
https://www.openbsd.org/ OpenBSD Project


 
尚、リリースノートやErrataのページや旧バージョンからの追加点や変更点等が記載されたページは、OpenBSD.orgのトップページ内の画像をクリックし遷移先にて記載されている。

2.OpenBSDのインストーラのダウンロード
Downloading OpenBSDのページに遷移したら、install76.isoの欄内に有るamd64をクリック。
OpenBSD 7.6のamd64版の.isoファイルのダウンロードが開始される。


 

OpenBSDのインストール
VirtualBoxのゲストOS用設定にて仮想ハードウェアの設定を実施後、OpenBSDのインストーラを立ち上げてOS側のネットワーク周りの設定、アカウント設定、仮想HDDのパーティショニング、OSとパッケージのインストールという流れで進む。

1.VirtualBoxの初期設定
VirtualBoxを立ち上げ、VirtualBoxのウインドウ内上部の水色のボタン(新規作成ボタン)をクリックする。
仮想マシン名やOSタイプの設定画面が表示される。自分の場合、以下の内容で設定した。
・Name:OpenBSD 7.6-amd64(この欄は任意の文字列でOK)
・Folder:/Users/apple/VirtualBox VMs(変更しない)
・ISO Image:(ここで指定しなくて良い)
・Type:BSD
・Version:OpenBSD (64-bit)
上記の設定を終えたら「Next」をクリックし先に進む。


 
続いてHardwareの設定画面に遷移する。
自分の場合、以下の内容で設定した。
・Base Memory:2048MB
・Processors:1 CPU
・Enable EFI (special OSes only):チェック無し
上記の設定を終えたら「Next」をクリックし先に進む。


 
続いてVirtual Hard Diskの設定画面に遷移する。
自分の場合、以下の内容で設定した。
・Create a Virtual Hard Disk Now:32GB
上記の設定を終えたら「Next」をクリックし先に進む。


 
Summaryの画面に遷移したら、表示された設定内容で問題が無ければ「Finish」をクリックし、VirtualBox側の設定を終える。
設定内容を変更したい場合は「Back」をクリック。Hardwareの画面やVirtual Hard Diskの画面に戻り設定をやり直し、設定内容に問題が無ければ「Finish」をクリックしVirtualBox側の設定を終える。


 

2.VirtualBox側の詳細設定
ここから、VirtualBoxのHWの詳細設定を実施する。
VirtualBoxのウインドウ内左側の仮想OS一覧からOpenBSDを選択し、上部に有る黄色い歯車アイコンをクリックし、設定画面に入る。


 
表示された小ウインドウ内上部の「System」を選択。
Motherboardタブ内のBoot Order:欄内に有る「Floppy」を選択しチェックを外す。
下矢印ボタンをクリックし「Optical」や「Hard Disk」より下に移動させる。


 
小ウインドウ内上部の「Storage」を選択。
表示された小ウインドウ内左側の「Empty」をクリックし、小ウインドウ内右側のOprical Driveの行にある円盤状のアイコンをクリック。
「Choose a disk file...」を選択し、OpenBSDのインストーラのisoファイル(今回はinstall76.iso)を選択。


 
小ウインドウ内上部の「Audio」を選択。
今回はCLI環境にてファイルサーバとして利用する為、音楽や動画関連のパッケージはインストールしない。「Enable Audio」のチェックを外す。


 
小ウインドウ内上部の「Network」を選択。
ここでは仮想NICの設定を行う。
自分の環境ではNATは不要につき「Attached to:」はBridge Adapterを選択。「Name:」はen0: Wi-Fiを選択。
仮想NICは「Adapter Type」でIntel PRO/1000 T Server (82543GC)を選択。
Cable Connectedにチェックが入っている事を確認し、次の設定に進む。


 
小ウインドウ内上部の「Ports」を選択。
ここはシリアルポートとUSBポートの設定画面となる。
当環境ではシリアルポートは未使用、USBポートも使用する機会は無いと思われる為、Serial Portの設定画面では「Enable Serial Port」のチェックが外れている事を確認。
USBの設定画面では、デフォルトのUSB 2.0の設定のままで良い。
「OK」をクリックし、VirtualBox側の設定内容を保存し、設定画面から抜ける。


 
3.OpenBSDのデプロイ
VirtualBoxの仮想OS一覧の画面に戻ったところで、「OpenBSD 7.6-amd64」が選択された状態でVirtualBoxの上部の緑色のボタン(矢印ボタン)をクリックし、OpenBSDのデプロイを開始する。


 
緑色の矢印ボタンをクリックするとVirtualBoxのコンソールのウインドウが表示され、OpenBSDのインストーラが起動する。起動ログが出力された後、OpenBSDのインストール設定が始まる。
「Welcome to the OpenBSD/amd64 7.6 installation program.」が出力され、Install、Upgrade、Autoinstall、Shellの中から1つ選択する。
今回は手動で各項目を設定しながらOpenBSDをインストールする為、I キーとEnterキーを叩き、次に進む。


 
CLIによるインストールに関する簡単な説明が出力された後、OpenBSDで使用するキーボード配列の設定に進む。
Choose your keyboard layout ('?' or 'L' for List) [default] が出力され、このままEnterキーを叩くとUS配列のキーボードを使用する事になる為、日本語キーボードを使用したい場合は jp を入力しEnterキーを叩く。
キーボードレイアウトの一覧を確認したい場合は L キーを叩く。


 
続いてネットワーク周りの設定に進む。
System hostname? (short form, e.g. 'foo')が出力されたら、ホスト名を入力する。
次はOpenBSD側のNICを設定する。Network interface to configure? (name, lladdr, '?', or 'done') [em0]が出力されたら、OpenBSDでデフォルトで使用されるNICであるem0を選択する為、このままEnterキーを叩く。
次はインターフェースem0にアサインするIPアドレスを設定する。IPv4 address for em0? (or 'autoconf' or 'none') [autoconf]が出力されたら、DHCPによる自動アサインにする為、このままEnterキーを叩く。
IPv6なIPアドレスは使用しない為、IPv6 address for em0? (or 'autoconf' or 'none') [none]が出力されたら、このままEnterキーを叩く。
ネットワーク周りの設定はこれで終わりとなる為、Network interface to configure? (name, lladdr, '?', or 'done') [done]が出力されたらEnterキーを叩く。


 
続いて、rootアカウントのパスワード設定、sshdデーモンの起動設定、X Window Systemの使用設定、一般ユーザのアカウント作成に進む。
Password for root accounts? (will not echo) が出力されたら、rootアカウントのパスワードを入力する。
入力しても文字列は出力されない為、打ち間違いが無いよう慎重にキーを叩く。

今回はX Window Systemは利用しない為GUI環境は不要。Do you expect to run X Window System? [yes]が出力されたら no を入力しEnterキーを叩く。

Setup a user? (enter a lower-case loginname, or 'no')が出力され一般ユーザのアカウント作成が求められたら、一般ユーザのアカウント名とユーザの名前とパスワードを入力する。
Allow root ssh login? (yes, no, prohibit-password) [no]が出力されたら、今回はrootユーザのsshログインは認めない為、このままEnterキーを叩く。

What timezone are you in? ('?' for list) [Asia/Tokyo]が出力されたら、OpenBSDを利用する環境のタイムゾーンがAsia/Tokyoである事を確認し、Enterキーを叩く。
日本国内に居るにも関わらずAsia/Tokyoの出力では無い場合、上記のネットワーク周りの設定を見直す。


 
続いてOpenBSDのインストール先のHDDのパーティション設定に進む。
Which disk is the root disk? ('?' for details) [wd0] が出力されたら、wd0しか無い為このままEnterキーを叩く。
Encrypt the root disk with a (p)assphrase or (k)eydisk? [no] が出力されたら、今回はHDDの暗号化はしない為 no のままEnterキーを叩く。
Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole] が出力されたら、このままEnterキーを叩く。

その後、HDDの自動パーティショニング設定の内容が出力される。
自動パーティショニングのままで良い場合は A キー、少し修正したい場合は E キー、自分でパーティショニング設定を実施するのであれば C キーを叩く。
自分の場合、パーティショニングは自分で実施したい為、C キーを叩いた。


 
wd0> のプロンプトが出力された状態で p キーを叩くと、現在のパーティションの設定内容が出力される。
また、? キーを叩くとパーティション設定ツールのコマンド一覧が出力される。


 
今回は、パーティションaとパーティションbの2つを作成し、パーティションaに32GB中31GBを/ディレクトリに割り当て、パーティションbに残りの空き容量1GBをSWAPパーティションとして割り当てる事とした。
実行したコマンドおよびパーティショニングの結果は、下記の画像ファイルを参照。


 
パーティションの設定を終えたら w キーを叩いて設定内容を保存する。プロンプトの右側に出力されている「*」が消えて、パーティションの設定が反映された事を示す。続けて q キーを叩いてパーティション設定を終了させる。


 
続いて、OpenBSDのOSおよびパッケージのインストール設定に進む。
OpenBSDの公式サイトおよびミラーサイトからOSやパッケージをダウンロードしインストールする為、Location of sets? (cd0 disk http nfs or 'done') [http]が出力されたら、このままEnterキーを叩く。
HTTP proxy URL? (e.g. 'http://proxy:8080' or 'none') [none]が出力されたら、プロキシは使用しない為このままEnterキーを叩く。
HTTP Server? (hostname, list#, 'done' or '?') [cda.openbsd.org]が出力されたら、インストーラが推奨するcda.openbsd.orgを利用する為このままEnterキーを叩く。
Server directory? [pub/OpenBSD/7.6/amd64]が出力されたら、OpenBSDのバージョンとアーキテクチャが正しい事を確認しEnterキーを叩く。


 
続いて、インストールされるOSおよびパッケージ群が出力される。
出力された内容全てをインストールする場合は、このままEnterキーを叩いてインストールに進む。

自分の場合、X Window Systemとゲーム関連のパッケージは不要につき、これらをインストール対象から外す。
Set name(s)? (or 'abort' or 'done') [done]にて、下記の画像の内容のとおり -x* 入力しEnterキーを叩くとX Window System関連のパッケージがインストール対象から外れた状態で出力される。
続いてSet name(s)? (or 'abort' or 'done') [done]にて、下記の画像のとおり -game* を入力しEnterキーを叩くとX Window System関連のパッケージとゲーム関連のパッケージがインストール対象から外れた状態で出力される。
最後にSet name(s)? (or 'abort' or 'done') [done]にてEnterキーを叩くと、OSおよび上記で選択されたパッケージ群のインストールが開始される。


 
OSおよびパッケージ群のインストールが完了すると、再度Location of sets? (cd0 disk http nfs or 'done') [done]が出力される。[done]である事を確認し、このままEnterキーを叩く。
続いて Time appears wrong. Set to が出力されるが、今の段階では時刻が正確でなくてもOpenBSDのインストール後に設定が可能である為問題無い。Enterキーを叩き次に進む。
この後、OpenBSDのインストール処理が続き、CONGRATULATIONS! Your OpenBSD install has been successfully completed! が出力されたら、OpenBSDのインストールが正常完了となる。

Exit to (S)hell, (H)alt or (R)eboot? [reboot]が出力されたら、haltを入力しEnterキーを叩き、OpenBSDを一旦落とす。


 

4.VirtualBox側の最後の設定
今の状態でOpenBSDを再度立ち上げると、OpenBSDのインストーラが起動しインストール画面が表示される。
よって、OpenBSDのインストーラをVirtualBoxの光学ドライブからinstall76.isoを外す必要が有る。

OpenBSDを落とした後、VirtualBoxの画面に戻る。
VirtualBoxの画面左側にて先程までいじっていたOpenBSDを選択し、画面上部の黄色い歯車アイコンをクリックし、OpenBSDの設定画面を出す。
System設定内のBoot Order欄内にて「Optical」のチェックを外し、「Hard Disk」の下に移動させる。


 
続いて、Storage設定内のStorage Devices欄にて「install76.iso」を選択し、Attributes欄内の「Optical Drive:」設定の右側に有る小さなCDアイコンをクリック。「Remove Disk from Virtual Drive」をクリックし、install76.isoをOptical Driveから取り外す。
その後はStorage設定の右下にある「OK」をクリックし設定内容を保存。
VirtualBox画面内上部の緑色の矢印アイコンをクリックし、OpenBSDを立ち上げる。


 

5.OpenBSDの起動
OpenBSDが正常に起動し、ログインプロンプトが出力される事と作成したアカウントでログインが出来る事を確認。これでOpenBSDのインストール作業は完了となる。
お疲れ様でした。


 

振り返り
今回はここまで。OpenBSDのインストーラの入手からVirtualBoxでのデプロイ完了までの流れを列挙した。
OpenBSDのインストール自体はそんなに難しいものではないが、引っかかる箇所が有るとすれば、OpenBSDのOSおよびパッケージのインストールの際のダウンロードサイトの指定の手順ではなかろうか。
HTTP Server? (hostname, list#, 'done' or '?') の所でダウンロードサイト(例:cda.openbsd.orgやftp.riken.go.jp等)が出力されない場合は外部と接続出来ていない状態である可能性が高い為、ネットワーク周りの設定を見直すと良いかもしれない。
自分の環境でも同じ事象が発生した事が有り、OpenBSDのIPアドレスを指定する場合、DNS設定で指定するIPアドレスは8.8.8.8等のような外部のDNSサーバのアドレスではなく、自分の環境のゲートウェイのアドレスを指定すると、インストーラがダウンロードサイトを自動でアサインしてくれる。

パーティション設定は、Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole]ではそのままEnterキーを叩きディスク全体をMBRにする、次に Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] が聞かれたら、そのままEnterキーを叩いてインストーラが推奨するパーティション設定に従うという、パーティションエディタを使わない楽なやり方が有る。
この場合、X Window SystemをインストールしなくてもX用のパーティションが作成されるのが嫌な点ではあるが。

当記事の内容はOpenBSDのインストールが完了した段階で終わりとなるが、OpenBSDの初期設定アプリのインストール、ファイルサーバ(SAMBA)の設定等は別の記事にて挙げる事とする。



参照サイトなど
https://www.openbsd.org/ OpenBSD
https://www.openbsd.org/76.html OpenBSD 7.6
https://www.openbsd.org/errata76.html OpenBSD 7.6 Errata
https://www.openbsd.org/plus76.html OpenBSD 7.6 Changelog
https://www.openbsd.org/faq/faq4.html#Download Downloading OpenBSD
https://www.openbsdhandbook.com/ OpenBSD Handbook
https://imatake.cfbx.jp/fswiki/wiki.cgi?page=OpenBSD%2FInstall%2F75%2Damd64 OpenBSDのインストール (7.5 AMD64 on Hyper-V 版)
https://qiita.com/kinichiro/items/728d61ce75c93b3e4041 OpenBSD 6.2 のインストール
https://fuguita.org/ 河豚板(OpenBSDベースのライブシステム)
 

OpenBSD関連の過去記事
https://debslink.hatenadiary.jp/entry/20231104/1699073616 Raspberry Pi3 Model BにOpenBSDをインストール
https://debslink.hatenadiary.jp/entry/20230226/1677415932 今後ともよろしく、OpenBSD
https://debslink.hatenadiary.jp/entry/20220521/1653099523 OpenBSDでSFTPサーバの設定
https://debslink.hatenadiary.jp/entry/20220515/1652626120 OpenBSDにリプレース完了