前回、実機上のFreeBSD13.4(無印)に”fetch update”の上、”buildworld”でパッチが当たったFreeBSD13.4を構築しました。
今回は、FreeBSD13.4な実機上で”buildworld”を行い、FreeBSD13.5(無印)マイナーアップデートを行おうとおもいます。【注*1】
- 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇♂️
1. FreeBSD13.5のソースを準備
FreeBSD13.5のソースのオリジナルは、FreeBSD13.5の向けフォルダにtarボールとして、保存してあります。
まずは、メインファイルサーバー上で、FreeBSD13.5のソースをFreeBSD13.4向けのフォルダに展開しておきます。
| root@mainsv13.5:# cd /FreeBSD13.4/usr | ; | /usrディレクトリに移動。 |
| root@mainsv13.5# mkdir src_13.5 | ; | FreeBSD13.5用のソースディレクトリを作成。 |
| root@mainsv13.5# cd src_13.5 | ; | ;FreeBSD13.5用のソースディレクトリに移動。 |
| root@mainsv13.5# tar -xvf ../../13.5-RELEASE-amd64/src.tar | ; | FreeBSD13.5用のソースを展開。 |
2. FreeBSD13.5をbuildworld
(1)13.5-RELEASE-amd64を”buildworld”
この作業、CPU性能によりますが、かなり時間がかかります。
| root@replsv13.4:# cd /usr/src_13.5 | ; | ;FreeBSD13.5用のソースディレクトリに移動。 |
| root@replsv13.4:# make buildworld | ; | buildworldの実行。 |

|
(2)カーネルのビルドとインストールと再起動
| root@replsv13.4:# make kernel | ; | FreeBSD13.5の”GENERICカーネル”の作成とインストール。 |

| root@replsv13.4:# shutdown -r now | ; | FreeBSD13.5の”GENERICカーネル”を有効にするためにリブート。 |
(3)システムのインストール
この段階では、”GENERICカーネル”がFreeBSD13.5になっているだけなので、システム全体をインストールします。
| root@replsv13.5:# cd /usr/src_13.5 | ; | /src_13.5ディレクトリに移動。 |
| root@replsv13.5:# make installworld | ; | システム全体をインストール。 |

(4)mergemaster の実行
| root@replsv13.5:# mergemaster -Ui | ; | 各種設定をマージします。 |
色々、聞かれるますがすべて「エンター」で進めます。

(5)説定の確認
今回の実機にはネットワークインターフェースカード(NIC)として"GENERICなカーネル”では動作しないRealtekのDual 2.5GbEなカードを装着しています。
”mergemaster”によって、/boot/defaults/loader.confがデフォルト設定に戻されているため、RealtekのDual 2.5GbEなNICの設定が無効になっています。
このため、このまま再起動するとネットワークが使えなくななるため、/boot/defaults/loader.confの修正が必要です[*2、*3]。
まずは、今回は、このような時のために、バックアップサーバーに動的にバックアップしていたFreeBSD13.4とFreeBSD13.5のloader.confの差分を比較しておきます。
| root@replsv13.5:# pushd /share/Backups/System.setting/replsv/ada0a/FreeBSD-13.4-RELEASE | ; | FreeBSD-13.4のシステム設定バックアップフォルダに移動 |
| root@replsv13.5:# diff ./boot/load.conf /boot/loader/conf | ; | load.conf の新旧を比較。 |

かなりの差異があるので、FreeBSD13.4のloader.confをそのままFreeBSD13.5の/bootにコピーするのは危険です😅。
(6)説定の修正
当該機の新しい/boot/defaults/load.confにFreeBSD13.4で設定していた内容をloader.confの専用設定部分を追記します。
| root@replsv13.5:# vi /boot/defaults/loader.conf | ; | 。 |

(7)再起動
| root@replsv13.5::# shutdown -r now | ; | 構築したシステムを有効化するために再起動。 |
3. buildworldの結果確認
| root@replsv13.5:# uname -a | ; | 。 |
| root@replsv13.5:# uname -srm | ; | 。 |
| root@replsv13.5:# freebsd-version -kur | ; | 。 |
FreeBSD13.5にマイナーアップデートした実機の情報を確認します。

最初からFreeBSD13.5のmainsv13.5の情報と差がないかを確認しておきます。

これで、FreeBSD13.4からは卒業できましたので、マイナーバージョンナンバーの違いによる混乱は避けることが出来ます😀。