思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【VirtualBox/FreeBSD】”13.4->13.5”に”buildworld”でマイナーアップデート[2]:「(4)13.4上で13.5をbuildworld」

FreeBSD13.4にパッチを当てたbuildowrldを終えたので、FreeBSD13.4上でFreeBSD13.5をbuildworldしてみようと思います。*1

  • 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇‍♂️
  • 投稿はVirtulBox専用機[*2]上に構築した”FreeBSD13.4”な、仮想マシンVM)上での検証結果になります。

Tips
  • 当初、仮想マシン用ディスクの節約のため、"Snapshot"をメインファイルサーバーに置いていましたが、
    "Snapshot"をローカルに置いておかないと”scbusエラー”で、buildworldが途中でこけます*3)。

1. FreeBSD13.5ソースの展開

まず、FreeBSD13.4上にFreeBSD13.5のソース(/usr/src)を展開します😀。

展開方法は、

  1. )FreeBSD13.5なマシンの"/usr/src"のtarボールを作成して、FreeBSD13.4に転送の上、展開する。
  2. )FreeBSD13.5のインストールディスクからソースを展開する。

等の方法がありますが、

拙宅ではメインファイルサーバー上にFreeBSD13.5なマシンのインストール直後に"/usr/src"をtarボールとしてバックアップしてありますので、
今回は”1.)FreeBSD13.5のバックアップtarボールを展開”して、作業をすることにしました😀。

まず、きれいなFreeBSD13.5ソースディレクトリを展開するために、FreeBSD13.4のソースディレクトリをリネームしておきます(*4)。

root@FreeBSD13.4:# cd /usr ; /usrディレクトリに移動。
root@FreeBSD13.4:#  mv src src.13.4 ; FreeBSD13.4のソースディレクトリをリネーム。

メインファイルサーバー上のFreeBSD用領域をNFSマウントして、FreeBSD13.5のバックアップtarボールを展開します。

root@FreeBSD13.4:# mount -t nfs mainsv:/dbs/FreeBSD /mnt/nfs ; FreeBSD用領域をNFSマウント。
root@FreeBSD13.4:# cd /usr ; /usrディレクトリに移動。
root@FreeBSD13.4:#  tar -xvf /mnt/nfs/13.5-RELEASE-amd64/src.tar ; NFSマウントした領域にあるFreeBSD13.5ソースディレクトリを展開。

2. buildworld

(1)13.5-RELEASE-amd64を”buildworld”

この作業、CPU性能によりますが、かなり時間がかかります😅。

root@FreeBSD13.4:# cd /usr/src ; /usr/srcディレクトリに移動。
root@FreeBSD13.4:# make buildworld ; FreeBSD13.5システム全体を構築(コンパイル

 

  • ちなみに、今回は、AMD Ryzen3 4100Ubuntu24.04上のVirtualBoxVMで行いましたが、buildworld完了まで約11時間程かかりました😅。
(2)カーネルのビルドとインストールと再起動
root@FreeBSD13.4:# make kernel  ; FreeBSD13.5カーネルの構築とインストール。。

 

 

root@FreeBSD13.4:# shutdown -r now  ; 新しいカーネルを有効化するために再起動。

 

再起動後、カーネルのバージョンを確認すると、”カーネルFreeBSD13.5にはなっています😀。

(3)システムのインストール

このままでは、カーネル以外の各種プログラムカーネルバージョンが異なるため、不都合が生じる事がありますので😅、構築したFreeBSD13.5システム全体をインストールします😀。

root@FreeBSD13.5:# cd /usr/src ; /usr/srcディレクトリに移動。
root@FreeBSD13.5:# make installworld  ; FreeBSD13.5システム全体をインストール

 

(4)mergemaster の実行と再起動
root@FreeBSD13.5:# mergemaster -Ui ;  ;新旧各種設定の統合。

 

途中、色々、聞かれるますが、すべて「エンター」で回答します

 

root@FreeBSD13.5:# shutdown -r now ; 構築したシステムを有効化するために再起動。

2. buildworldの結果確認

root@FreeBSD13.5:#  uname -a ;
root@FreeBSD13.5:#  uname -srm ;
root@FreeBSD13.5:#   freebsd-version -kur ;

 

無事に、FreeBSD13.4(無印)から、メインファイルサーバーと同じバージョンであるFreeBSD13.5(無印)にマイナーアップデートが出来ました😀。

 

手順などの確認が出来ましたので、次は、Replicateサーバー実機マイナーアップデートを行おうと思います😀。

 

【次回に続く予定】

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

出典・引用・備考

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

*2:

*3:

*4:13.4のソースをとりあえず残しておくことと、上書きした場合、すべてのファイルが、正常に13.5のソースに置き換わっているか確認するのが困難なためです。