思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】メインファイルサーバーのフルメンテナンス(4):カーネルの再構築

当初計画[*1]とは異なりますが、”不要なドライバーの削除”と”hpt27xxドライバー”のカーネルへの組み込みを行ってしまおうと思います。【注*2

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

0. 再構築準備(拙宅固有作業)

  • 拙宅の当該サーバーではSSD”な"/"パーティションでの書き込み作業を低減させるために、”/usr/sys”は、別の”ハードディスク(HDD)”上に再配置しています。
  • 通常のディスク構成であれば、この作業は不要です。
root@FreeBSD13.4:# cd /etc ; /etcに移動。
root@FreeBSD13.4:# vi /etc/rc.conf ; rc.confを修正。

zfsを利用するために、下記の黄色字部分を追加します。

[..]

nis_client_enable="YES"

sshd_enable="YES"

zfs_enable="YES"

 

root@main_sv:# reboot ; zfsを有効化するために再起動。

フルメンテナンスに入る前に、FreeBSDのソース関連他を置いていた、”pool0”は問題が無かったので、”import”します。

root@main_sv:#  zpool import pool0 ; pool0をインポート。
root@main_sv:# zpool list ; pool0を確認。
root@main_sv:# zfs list ; zfsを確認。

 

 

root@main_sv:# cd /usr ; /usrディレクトリに移動。
root@main_sv:# tar -cvf  /shaare/FreeBSD/13.4-RELEASE-amd64/src.main_sv.tar src ; ローカルの/usr/srcのアーカイブ作成
root@main_sv:# cd /share/FreeBSD/13.4-RELEASE-amd64/ ; ディレクトリ移動。
root@main_sv:#  tar -xvf  /share/FreeBSD/13.4-RELEASE-amd64/src.main_sv.tar ; アーカイブ展開。
root@main_sv:# cd /usr ; /usrディレクトリに移動。
root@main_sv:# mv src src.local ; ローカルディレクトリをリネーム。
root@main_sv:# ln -s /share/FreeBSD/13.4-RELEASE-amd64/src . ; poo0のFreeBSD共有用ファオルダにシンボリックリンクを張る。

 

1. カーネルの再構築

(1)コンフィグレーションファイルの修正
  1.  ”ident”を変更します。
    • これを変更しておかないと、新しいカーネルも”GENERIC”として表示されてしまい、混乱します。
  2.  修正対象は
    • 使わない(使う予定のない)、ホストバスアダプタ(HBA)/ネットワークインターフェースカード(NIC)をコメントアウト
    • "hpt27xx"ドライバーの追加
root@main_sv:# cd /usr/src/sys/amd64/conf ; kernel設定ディレクトリに移動。
root@main_sv:# cp GENERIC main_sv ; ;GENERICを適当な名前(ホスト名等)にコピーする。。
root@main_sv:#  vi main_sv ; main_svを編集し、
(1)カーネル名を変更する。
(2)不要なドライバーをコメントアウトする。。

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

[..]

#ident             GENERIC
ident              main_sv

[..]

# SCSI Controllers
#device         ahc                     # AHA2940 and onboard AIC7xxx
#device         ahd                     # AHA39320/29320 and onboard
#device         esp                     # AMD Am53C974 (Tekram DC-390(T))
#device         hptiop                  # Highpoint RocketRaid 3xxx series
device          hpt27xx                 # Highpoint RocketRaid 27xx
#device         isp                     # Qlogic family

[..]

# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
device          iflib
device          em                      # Intel PRO/1000 Gigabit Ethernet
device          igc                     # Intel I225 2.5G Ethernet
#device         ix                      # Intel PRO/10GbE PCIE PF Ethernet

[..]

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus                  # MII bus support
#device         ae                      # Attansic/Atheros L2 FastEthernet
[..]

#device         nfe                     # nVidia nForce MCP on-board Ethernet
#device         nge                     # NatSemi DP83820 gigabit Ethernet
device          re                      # RealTek 8139C+/8169/8169S/81

[..]

 

 

(2)カーネルのビルドとインストール
root@main_sv:# make buildkernel KERNCONF=main_sv ;
root@main_sv:#  make installkernel KERNCONF=main_sv ;
 
  • CPU性能等によりますが、kernel再構築は結構時間がかかります😅。

 

2.  loader.confの修正

hpt27xx”ドライバーはカーネルに組み込んだので、モジュールの読み込み設定は不要になりmす。

root@main_sv:# cd /boot/defaults ;
root@main_sv:# vi loader.conf ;

下記の黄色字部分を追加して、当該行をコメントアウトします。

修正前

修正後

[..]

verbose_loading="NO"            # Set to YES for verbose loader output

hpt27xx_load="YES"

###  Splash screen configuration

[..]

[..]

verbose_loading="NO"            # Set to YES for verbose loader output

#hpt27xx_load="YES"

###  Splash screen configuration

[..]

 

 

3.  再起動

root@main_sv:# reboot ;
 

【次回に続く】

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

出典・引用・備考

*1:

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