思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD】”13.4->13.5”に”buildworld”でマイナーアップデート[3]:「(1)13.4実機上で13.4をfetch/buildworld」

今回は、FreeBSD13.4な実機上で、”buildworld”を行います。

仮想マシン(VM)でのテスト結果を踏まえてステップバイステップで行おうと思います。*1

  • 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇‍♂️

1. 13.4-RELEASE-amd64をbuildworld

(1). 13.4-RELEASE-amd64にパッチを当てる。

まずは、”13.4-RELEASE-amd64(無印)”にパッチを当てます。

root@FreeBSD13.4:# cd /usr/src ; /usr/srcディレクトリに移動。
root@FreeBSD13.4:#  freebsd-update fetch install ; パッチを当てる。

手順的には仮想マシン(VM)上で行ったテスト[*2]と全く同じです。

(2)リモートにある/usr/objディレクトリのNFSハードマウント

拙宅ではFreeBSDなサーバー群には、あまり大きなディスク容量をルートファイルシステムに割り当てておりませんので、”/usr/src”、”/usr/obj”等はメインファイルサーバー上に配置し、各サーバーで共有しています。

ルートファイルシステムが十分な容量がある場合には、この作業は不要です。

Tips
  • /usr/objをオートマウンター(am-utils)による相対指定だと、buildrworldが失敗します(*3)。
  • am-utils実装上の問題かもしれませんので、autofsでは異なるかもしれません。

 

root@FreeBSD13.4:# mount -t nfs mainsv:/FreeBSD/13.4-RELEASE-amd64/obj /usr/obj ;

/usr/objをNFSハードマウントディレクトリに移動。

(3)13.4-RELEASE-amd64を”buildworld”

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

root@FreeBSD13.4:# cd /usr/src ;
root@FreeBSD13.4:# make buildworld ;

 

 

  • ちなみに、今回は、”Intel Core i7-2600 CPU 3.40GHz”な実機で実施しましたが、buildworld完了まで約9時間程、かかりました。
(4)カーネルのビルドとインストールと再起動

 

root@FreeBSD13.4:# make kernel  ; 新しいシステムのカーネルの構築とインストール。
root@FreeBSD13.4:# shutdown -r now ; 新しいカーネルを有効化するために再起動。

 

(5)新しいシステムのインストール
root@FreeBSD13.4:# cd /usr/src ; /usr/srcディレクトリに移動。
root@FreeBSD13.4:# make installworld  ; 新しいカーネルを有効化するために再起動。

 

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

色々、聞かれますが、すべて「エンター」を入力します。

(7)システム設定の修正と再起動

今回の実機にはネットワークインターフェースカード(NIC)として"GENERICなカーネル”では動作しないRealtekのDual 2.5GbEなカードを装着しています。

”mergemaster”によって、/boot/defaults/loader.confデフォルト設定に戻されているため、RealtekのDual 2.5GbEなNICの設定が無効になっています。

このため、/boot/defaults/loader.confの修正が必要です[*4*5]。

今回は、このような時のために、バックアップサーバーに動的にバックアップしていたシステム設定コピーして、手間を減らします

 

root@FreeBSD13.4:# cd /share/Backups/System.setting/replsv/FreeBSD-13.4-RELEASE ; システム設定バックアップフォルダに移動。
root@FreeBSD13.4:# cd ./boot/defaults ; loader.confのバックアップ先に移動。
root@FreeBSD13.4:# cp ./loader.conf /boot/defaults/. ; loader.confのバックアップをローカルの/boot/defaults/にコピー。

 

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

2. buildworldの結果確認

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

 

次は、”FreeBSD13.5のソースを展開して”、FreeBSD13.5のbuildworldを行います😀。

 

【次回に続く予定】

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

出典・引用・備考

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

*2:

*3:buildworldが失敗する状況を把握するのにかなり手間取りました。

*4:

*5: