前に、”freebsd-update”で”FreeBSD13.4”から”13.5”にマイナーアップデートを試しましたたが[*1]、今回は実機のクローン仮想マシン(VM)上で、”make Buildworld”によるアップデートを試そうと思います(*2、*3)。【注*4】
1. 準備
(1)Replicateサーバーのディスクイメージを作成
まずは、Replicateサーバーのディスクイメージを作成します。
(2)ディスクイメージコピーをVDI化
今回、VM化する”Replicateサーバー”は運用中で、
- ネットワーク設定(IPアドレス)が被るとネットワークにトラブルが起きる。
- ハードウェア構成の関係から”device.hits”ファイルを修正しているので[*6]、そのままではVMはまともに起動しない。
このため、別のFreeBSD/VMでVDIファイルをマウント/設定変更を行うために、イメージファイルをvhdファイルではなくvdiファイルに変更します。
| user@Ubuntu24.04:~$ VBoxManage convertfromraw replsv.ada0.img replsv.ada0.vdi --format=VDI |

2. 実機クローンVMを作成
今回は、前節で作成した"vdiファイル”をVMのフォルダに最初から収める方法にてVMを作成します(*7)。
(1)新規VMを作成
| ナビゲーション (VirtualBox7) |
: | 仮想マシン>新規 |



(2)VDIファイルの移動
ここまで来た段階で、"VirtualBox"によって新しいVM用フォルダが作成されています。
変換したvdiファイルを新しいVM用フォルダに移動します。
端末を開いて以下の操作を行います。
| user@Ubuntu24.04:~$ cd VirtualBox\ VMs/vm\(replsv_FreeBSD13.4\)/ | ; | 。 |
| user@Ubuntu24.04:~$ mv ../replesv.ada0.vdi . | ; | 。 |

(3)VMへのvdiファイル割り当て
VirtualBoxのGUIに戻ります。






3. 実機クローンVMの起動前設定変更
(1)別のFreeBSD/VMでVDIファイル追加設定
今回作成した”実機クローンVM”は、ハードウェア設置などをカスタマイズしているので(*8)、そのままでは起動しません。
そこで、ハードウェア設置などをVMとして起動できるように修正します。
まず、別のreeBSDなVMの設定を変更し、実機クローンVMのvdiをマウントできるようにます。




(2)別のFreeBSD/VMでVDIファイルのマウントと設定変更
別のreeBSDなVMを起動します。
実機クローンVMのvdiのルートファイルシステムをマウントします。
| root@FreeBSD13.5:# mkdir /mnt/ada1 | ||
| root@FreeBSD13.5:# mount -t ufs /dev/ada1a /mnt/ada | ||
| root@FreeBSD13.5:# cd /mnt/ada1 |
/boot/device.hintsをオリジナルなものに戻します。
| root@FreeBSD13.5:# cd /mnt/ada1/boot | ||
| root@FreeBSD13.5:# mv device.hints device.hints.replsv | ||
| root@FreeBSD13.5:# cp device.hints.orig device.hints |
余計なファイルシステムをマウントしないように不要部分をコマ円とアウトします。
| root@FreeBSD13.5:# cd /mnt/ada1/etc | ||
| root@FreeBSD13.5:# vi fstab |
下記の黄色字部分を追加します。
|
# Device Mountpoint FStype Options Dump Pass# [..] |
|
| root@FreeBSD13.5:# cd /mnt/ada1/etc | ; | 。 |
| root@FreeBSD13.5:# mv rc.conf rc.conf.orig | ; | 。 |
| root@FreeBSD13.5:# cp /etc/rc.conf . |
修正を終えたら、別のreeBSDなVMをシャットダウンします。
| root@FreeBSD13.5:# shutdown -p now | ; | 。 |
(4)別のFreeBSD/VMから実機クローンのVDIファイル割り当て解除
再び、別のreeBSDなVM/ストレージを開き、実機クローンVMのvdiの割り当てを解除します。

実機のクローンVMを作成できましたので、実機のクローンVMを起動させます。
【次回に続く予定】
出典・引用・備考
*1:
*2:前回から1月半ほど経過しましたが、VM上での”make Buildworld”で不規則な”Panic”に悩まされて対処法を見つけるまで解決まで時間がかかってしまいました。
*3:”make Buildworld”中に、”CAM”がTimoutし、/dev/ada0(ルートファイルシステム)がアンマウントされてしまう現象に悩まされていました。
*4:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。
*5:
*6:
*7:通常、”vdiファイル”を収めるVMのフォルダを先に作っておくと、”フォルダがあるよ!”と言われて、VMが作成できません。
*8:”device.hihts”に手を加えて、ディスクのデバイス名を特定のscbusに与えてているため、ロードーはブートドライブである”/dev/ada0”を見つけることが出来ません。

