思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【VirtualBox7】FreeBSD8.4な仮想マシンを作成する

今更、10年前にサポートが終了している(EOLな)FreeBSD8.4を仮想マシンとしてインストールするというのもなんですが(^^;;;)、
メインファイルサーバーのzfsで飛ばしてしまったpoolのリカバリー試行[*1]のために、FreeBSD8.4な仮想マシンを作成する事にしました(^^)。【注*2

  • 小生の作業記録&健忘禄となっておりますことをご容赦いただければ幸いです🙇‍♂️。

FreeBSD13.4なファイルサーバーで、バックアップしたディスクイメージを使って試行したところ、一応、poolが見えるようになりました[*3]😀。
ただ、日本語ファイル名が文字化けしていたので😅、FreeBSD8.4なメインファイルサーバーと同じ、FreeBSD8.4でリカバリーを試行してみようと思います[*4]。

リカバリー試行のためだけに、FreeBSD8.4なマシンを準備するのは、手間もかかりますし、インストールするハードウェアの予備もありません😑。
そこで、VirtualBox専用機[*5]に、FreeBSD8.4な仮想マシンVM)を作成することにしました😅。

最初は、FreeBSD8.4-amd64のインストール試みましたが、デーモンが他が次々とCore Dumpしまうため、VirtualMachine(VM)の設定を色々変えてみたものの、状況は変わりませんでした😢。
今さら、10年前にサポートが終了しているFreeBSD8.4に手間をかけるのも時間の無駄ですので🤔、公式にはzfsはサポートされていない”FreeBSD8.4-i386”をとりあえずインストールして、試してみることにしました。

それでも、”FreeBSD8.4-i386”なVMも幾つか設定変更をしないとうまく動作しませんでした。

1. 仮想マシンの作成

VirtualBoxマネージャ”から新規作成を選択する。
”ISOイメージ”として、ダウンロードした”FreeBSD8.4-i386-dvd1.iso”を選択。

タイプ/バージョンが”Ohter"/"Other/Unkown”になるので、”BSD"/"FreeBSD(64bit)”(*6)を選択。

モリーは32bitマシンの上限である"4096Mbyte"、CPU数はとりあえず、1CPUに。
FreeBSDであれば、ディスク容量は128Gbyteでも十分なため、”128Gbyte”に(*7)。

最後に設定を確認して、”完了”をクリック。

2. 仮想マシンの設定変更

(1)チップセット変更
チップセットを”PIIX3”から”ICH9”に変更。
(2)ネットワーク設定変更
後から設定しても問題あり間ませんが、ネットワークを活用するためには、NATだとホストOSの設定が必要になるので、”ブリッジアダプタ”に変更

3. FreeBSD8.4-i386のインストール

作成したVMを起動すると、FreeBSD8.4-i386インストーラーが起動。
設定が一番手軽な”Standard”でインストール。
インストール中のキーマップを設定するために、国の選択が必要なので”上カーソルキー”で上方に移動して、”Japan”を反転奉持させて、エンター。
インストール中のキーボードマップが”Japanse 106”になっていることを確認して、エンター。
ジオメトリに関する警告が表示される。
※この警告は、FreeBSDに限らず、DR-DOS*8]でも出ていた警告なので、細かいことはわきにおいて、気にせず、エンター
FreeBSD用の領域を作成する旨のメッセージが表示されるので、エンター。
FDISKが表示されるの”A”キーを押す。
ディスク全体の領域サイズ(パーティションサイズ)が表示されるので、エンター。
パーティションの識別コードとしてFreeBSDの”165”が表示されるので、エンター。
ディスク全体が確保できていることを確認したら、”q”キーをタイプ。。
ブートマネージャーの選択画面に移るので、”Standard”を選択して、エンター。
FreeBSD用パーテイション内にFreeBSDの”スライス”を作成する必要がある旨、メッセージが表示されるので、エンター。
DiskLabelEitorが起動する。
FreeBSDにお任せするために、”A”キーを押すと、自動的にスライスが複数設定されるので、”q”キーを押す。。
ディストリビューションの選択に移るので、下カーソルキー”で〈All〉を反転させて、エンター。
Portコレクションをインストールするか聞かれるので、〈Yes〉を反転させて、エンター。
インストールメディアの種類を聞かれるので、〈CD/DVD〉を反転させて、エンター。
インストールを継続するか聞かれるので、〈Yes〉を反転させて、エンター。
ファイルシステムの初期化後、各スライスにファイルが展開される。
すべての展開が完了すると、完了した旨のメッセージが表示されるので、エンター。
ネットワーク設定を行うか聞かれるので、インストール後に行うため、〈No〉を反転させて、エンター。
ゲートウェイとして設定するか聞かれるので、〈No〉を反転させて、エンター。
inetdを設定するか聞かれるので、この時点では〈No〉を反転させて、エンター。
sshを有効化するか聞かれるので、インストール後に行うため、〈No〉を反転させて、エンター。
ftpサーバーにするか聞かれるので、〈No〉を反転させて、エンター。
NFSサーバーにするか聞かれるので、〈No〉を反転させて、エンター。
NFSクライアントにするか聞かれるので、インストール後に行うため、〈No〉を反転させて、エンター。
コンソールの設定を行うか聞かれる。
この段階で設定しておかないと、手間がかかるので、左カーソルキー”で〈Yes〉を反転させて、エンター。
上下カーソルキー”で〈KeyMap〉を反転させて、エンター。
上下カーソルキー”で〈Japanese 106〉を反転させて、エンター。
コンソールの設定画面に戻るので、上下カーソルキー”で〈Exit〉を反転させて、エンター。
FreeBSDタイムゾーンを設定するか聞かれるので、左右カーソルキー”で〈Yes〉を反転させて、エンター。
UTC世界標準時/ロンドン)でよいか聞かれるので、左右カーソルキー”で〈No〉を反転させて、エンター。
上下カーソルキー”で〈Asia〉を反転させて、エンター。
上下カーソルキー”で〈Japan〉を反転させて、エンター。
JST日本標準時)でよいか聞かれるので、エンター”。
マウスがあるか聞かれるので、コンソールでマウスの利用を想定していないので、左右カーソルキー”で〈No〉を反転させて、エンター。
”packege collection”を確認するか聞かれるが、ネットワーク設定を行っていないので確認しようがないため、左右カーソルキー”で〈No〉を反転させて、エンター。
一般ローカルユーザーを作成するか聞かれるが、NISアカウントを使うので、左右カーソルキー”で〈No〉を反転させて、エンター。
”rootのパスワード”設定が必要な旨、メッセージが表示されるので、そのままエンター。
rootのパスワードを設定する。
最後に、各種設定を修正・追加するか聞かれるので、”右カーソルキー”で〈No〉を反転させて、エンター。
”右カーソルキー”で〈Exit Install〉を反転させて、エンター。
”再起動してよいか”聞かれるので、エンター。
VMの再起動時にインストールCDイメージは自動的にストレージから除外されるので、そのままエンター。
再起動後に、プロンプトが正常に表示されれば、インストール完了。

4. FreeBSD8.4-i386の設定

(1)em0/em1設定

ネットワークアダプタの設定を行います。

まず、"sysinstall"プログラムを起動します。

root@freebsd8.4:# sysinstall ;

上下カーソルキーで”Configure”を選択。

 

ナビゲーション
(FreeBSD8.4
/sysinstall)
ConfigureNetworking
Interfacesem0

IPv4ネットワークの設定を行います。

 ネットワーク設定を有効化するために再起動します。

(2)sshd有効化/rootログイン許可/パスワード認証許可
1)sshd有効化

"sysinstall"プログラムを起動します。

root@freebsd8.4:# sysinstall ;

 

ナビゲーション
(FreeBSD8.4
/sysinstall)
ConfigureNetworking
sshd

 

"sshd"の部分に上下カーソルキーで移動し、”スペース”を打刻すると、”[]”に”X”が表示されて、sshdが有効化され、/etc/rc.confに設定が保存されます。

2)rootログイン許可/パスワード認証許可
root@freebsd8.4:# cd /etc/ssh ; /etcに移動
root@freebsd8.4:# vi sshd_config ; sshd_configファイルを修正
  • 以下の黄色字部分を修正

[..]
#PermitRootLogin no
PermitRootLogin yes
[..]
Protocol 2
#PasswordAuthentication no
PasswordAuthentication yes

ssh設定を有効化するために再起動します。

TeraTerm等でsshログインができるか確認します。

(3)nis設定/wheelユーザー追加
1)/etc/passwdの修正
root@freebsd8.4:# vipw ; 下記、赤字部分を追加。
  • 以下の黄色字部分を追加
[..]
+:*:::::
2)/etc/groupの修正
root@freebsd8.4:# vi /etc/groups ; 以下の赤字部分を追加。
  • 以下の黄色字部分を追加・修正
[..]
+:*::wheel:*:0:roott,[admin_user]
[..]
+:*::
3)rc.confの修正
root@freebsd8.4:## cd /etc ; /etcに移動
root@freebsd8.4:## vi /etc/rc.conf ; rc.confファイルを修正
  • 以下の黄色字部分を追加

[..]

# NIS client
portmap_enable="YES"
nisdomainname="<NISドメイン名>"
nis_client_enable="YES"

NIS設定を有効化するために再起動します。

  • TeraTerm等で[admin_user]sshログインができるか確認する。
  • [admin_user]でがrootになれるか確認する。
(4)ssh/rootログイン<不許可>

rootがsshログインできないように設定を変更します。

root@freebsd8.4:# cd /etc/ssh ; /etcに移動
root@freebsd8.4:# vi sshd_config ; sshd_configファイルを修正
  • 以下の黄色字部分を修正

[..]
PermitRootLogin no
#PermitRootLogin yes
[..]

ssh設定を有効化するために再起動します。

(5)am-utils設定
1)am-utils有効化

"sysinstall"プログラムを起動します。

root@freebsd8.4:# sysinstall ;

 

ナビゲーション
(FreeBSD8.4
/sysinstall)
ConfigureNetworking
AMD

"AMD"の部分に上下カーソルキーで移動し、”スペース”を打刻すると、”[]”に”X”が表示されて、am-utilsが有効化される。

2)”/etc/amd.conf”の作成

まず、”/etc/amd.conf”を作成。

root@freebsd8.4:# cd /etc ;

/etcに移動

root@freebsd8.4:# vi /etc/amd.conf ; am-utilsのコンフィグレーションファイルを作成する。

 

 GLOBAL OPTIONS SECTION

[ global ]
print_pid =              yes
pid_file =               /var/run/amd.pid
auto_dir =               /tmp_mnt
#log_file =              /var/log/amd
log_file =               syslog
log_options =            all
dismount_interval =      300
plock =                  no
selectors_in_defaults =  yes
show_statfs_entries =    yes
full_os =                FreeBSD/8.4-RELEASE
os =                     FreeBSD
osver =                  8.4-RELEASE
cache_duration =         300

# DEFINE AN AMD MOUNT POINT
[ /home ]
map_type =               nis
map_name =               amd.conf

[..]

 

 

 

 

 

 

 

パラメータfull_osの設定
パラメータos設定

パラメータosver 設定

 

マウントマップをNISから得る
NISマップ名

am-utilsの設定を有効化するために再起動します。

(7)zfs有効化
root@freebsd8.4# cd /etc ; /etcに移動。
root@freebsd8.4#mv rc.conf rc.conf.old ; オリジナルのリネーム。
root@freebsd8.4# cp rc.conf.old rc.conf ; コピーを作成。
root@freebsd8.4# vi /etc/rc.conf ; rc.confを編集。

下記の黄色字部分を追加します。

[..]
#
zfs_enable="YES"
#
[..]

zfsを有効化するために再起動します

 

ブログランキング・にほんブログ村へ にほんブログ村 IT技術ブログへ

😅😀😑🤔😵😢

出典・引用・備考

*1:

*2:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*3:

*4:

*5:

*6:FreeBSD(32bit)を選択すると、カーネルパニックを起こしたので、FreeBSD(64bit)にしてみたところ、動作するようになりました。

*7:あくまでも拙宅の場合では、portspdsプログラムコンパイル領域などはリモートのメインファイルサーバー上に置くことにしているため、128Gbyteで済んでいます。portspdsプログラムコンパイル領域などをローカルに置く場合にはそれなりの容量が必要です。

*8:"DR-DOS"、ウィキペディアフリー百科事典、https://ja.wikipedia.org/wiki/DR-DOS、最終閲覧日:2025年9月13日