思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】メインファイルサーバーのフルメンテナンス(2):O/Sのインストール[3]GENERICに含れないHBAへインストール

前回の検討結果を踏まえて、GENERICカーネルには含まれていないホストバスアダプタ(HBA:ハードウェアRAIDカード)HighPointRocketRAID(RR) 2720SGL”*1)上のディスクにインストールします。【注*2

  • 小生の健忘禄、兼作業計画になっていますことをお詫び申し上げます🙇‍♂️
  • 2025/10/3:手順簡略化のために一部修正。

1. カスタムインストールメディアの準備[*3

1.)メモリースティク用imgファイルを公式ページからダウンロード。

今回、インストールする”FeeBSD13.4”はcurrentではないので、OLDリリースアーカイブIndex of /releases/ISO-IMAGES/13.4/)から"FreeBSD-13.4-RELEASE-i386-memstick.img"をダウンロードします。

2)メモリースティク用imgファイルをUSBメモリに書き込み

イメージファイルを書き込み、パーティションの状態を確認します。

root@FreeBSD8.4:# cp /share/Public/DrvLib/FreeBSD-13.4-RELEASE-amd64-memstick.img . ; ダウンロードファイルをローカルにコピー。
root@FreeBSD8.4:# dd if=FreeBSD-13.4-RELEASE-amd64-memstick.img of=/dev/da1 bs=1M conv=sync ; ddコマンドで、imgファイルをUSBメモリーに書き込み。
root@FreeBSD8.4:# gpart show ; メモリースティックの構造を確認。

 

3)USBインストールメディアの修正

”/mnf/usb/boot/defaults/loader.conf”を編集して、”hpt27xx”ドライバーを有効化します。

root@FreeBSD8.4:# mkdir /mnt/diskid_DISK-150101v01    
root@FreeBSD8.4:# mount -t ufs /dev/da1s2a /mnt/diskid_DISK-150101v01 ; USBメモリをマウント。
root@FreeBSD8.4:# cd /mnt/diskid_DISK-150101v01/boot/defaults/    
root@FreeBSD8.4:# chmod +w loader.conf    
root@FreeBSD8.4:# mv  loader.conf loader.conf.orig    
root@FreeBSD8.4:# cp loader.conf.orig loader.conf    
root@FreeBSD8.4:# vi loader.conf ; viで”hpt27xx_load="YES"”を追加する。

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

[..]

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

hpt27xx_load="YES"

###  Splash screen configuration  ############################

[..]

2.FreeBSDのインストール

(1)インストーラーの起動前準備

プチ修正したUSBブートデバイスをコンピュータに装着します。

起動時、「DEL」キー(*4)と連打して、BIOS画面に入る。

次回起動時の起動メディアとして”レガシーなUSB”を選択して、BIOS設定を「保存/修正します」(*5)。

 

Tips
  • UEFIなUSBとして起動”するとkerrnelは途中まで起動しますがルートファイルをマウントする際にこけて
    ”どこからブートするか指定して”と、叱られ、インストーラーは起動しません
(2)インストーラーの起動
システムが再起動するとインストーラーが起動します。
インストーラーの起動プロセスで、”hpt27xx”が表示されていれば、RR2720上のディスクにインストールが出来ます
(3)インストール種別の選択
インストールの種別を聞いてくるので、タブキーで「<Install>」を選択し、エンターキーを押す。(*6
(4)キーマップの選択
キーマップを聞かれるので、上下矢印キーで「Japanese106」を探し、「スペース」キーを押す。
「スペース」キーを押すと、「Test jp.kbd Keymap」にカーソルが移動するので、「エンター」キーを押します。
{}[]`@~^|_#$%"」あたりを入力して、正しく、入力できるか確認します。
”Continue with jp.kbd keymap”を選択し、<Select>でエンター。
(5)ホスト名の設定
ホスト名をFQDNで設定する。
(6)追加コンポーネントの選択

どのコンポーネントをインストールするか聞かれます。

各種作業を行うに際して、後から、コンポーネントを追加するのはかなり手間がかかりますので、"Test suite"以外はすべてをインストールすることにします。
(7)ネットワーク設定

"USBなインストールメディア"には、DVDインストールメディアと異なり、すべてのコンポーネントが納められているわけではないので、ネットワーク設定とインターネットからのコンポーネントダウンロードが必要になります。

インストールファイルのダウンロードが必要な旨、メッセージが表示されるので、エンター。
どのネットワークを使うかを選択します。
IPv4”の設定をするか聞かれるので、<Yes>を反転させてエンター。
IPアドレスを”DHCP”で設定するか聞かれるので、<No>を反転させてエンター。
"IPアドレス"、"ネットマスク"、"デフォルトゲートウェイ"を設定し、<OK>を反転させてエンター。
IPv6”の設定をするか聞かれるので、<NO>を反転させてエンター。
”ローカルドメイン名”と”DNSサーバー”を設定し、<OK>を反転させてエンター。
(7)ファイルシステムの選択
ZFS」「UFS」のどちらを使うか、もしくは「自分で細かく設定するか」、「コマンドラインで設定するか」を聞かれます。

今回は複数のディスクを使った細かい設定が必要なので、「Manual」を選択します。

(8)インストール先ディスクのパーティション設定

今回、当初計画[*7]を変更して、起動デバイスである”/dev/da0”はまっさらにして、GPTにすることにしました(*8*9)。

一旦、da0を選択し、<Delete>を反転させてエンター。
da0を選択し、<Create>を反転させてエンター。
"GPT"を選択し、<OK>を反転させてエンター。
”パーテイションテーブルが作成された”旨のメッセージが表示されるので、エンター。
da0を選択し、<Create>を反転させてエンター。
パーテーションのサイズとマウントポイント指定。
da0から起動するために、"EFIパーテイションの作成がするか”聞かれるので、<OK>を反転させてエンター
システムルートになる”da0p2”のほかに、ブートパーティションである”da0p1”が作成される。
/dev/da1p3を選択し、<Modify>でエンターキーを押し、マウントポイントを”/var”に変更。
/dev/da1p4を選択し、<Modify>でエンターキーを押し、マウントポイントを”/tmp”に変更。
パーティションとマウントポイントを確認したら、<Finish>を反転後、エンター。
ディスクに書き込んでよいか聞かれるので、<Submit>を反転し、エンター。
パーテイションの書き込みと、初期化が行われる。
(9)システムのインストール
USBメモリーに収録されていないファイルをどこから転送するか聞かれるので、ダウンロードサイトを選択し、<OK>を反転させてエンター。
ダウンロードサイトからのファイルダウンロードが始まる。
ダウンロードしたファイルのCheckSUM確認が行われる。
CheckSUM確認が終わると、ダウンロードしたファイルの展開が行われる。
(10)パスワードの設定
root のパスワード設定が求められるので、パスワードを設定する。
(12)タイムゾーンと日時の設定
タイムゾーンUTC世界標準時)が聞かれるので、<NO>を反転表示し、エンター。
まず、「Asia」を選択。
「Japan」を選択。
時刻設定は「JST」(日本標準時GMT+09:00)で良いか聞かれるので、「エンター」。
日付が間違いないか聞かれるので、間違いがなければ、<Skip>を反転表示し、エンター。

次に、時刻を設定するか聞かれる。この段階で表示されるのは、世界標準時GMT)なので、<Set TIme>を反転表示し、エンター。

時刻を設定し、エンター。

(13)Boot時にスタートさせるdeamonの設定
Boot時に、どの基本的なdeamonをスタートさせるかを聞かれるので、矢印キーとスペースバーで対象に「*」を表示させ、「<OK>」を反転表示させ、「エンター」。
(14)セキュリティハンドリングの設定
セキュリティハンドリングに関する設定について聞かれますが、今回は特に設定せずに「エンター」。
(15)追加ユーザーの設定
一般ユーザーの追加をするか聞かれますが、今回は追加せずに、「<No>」を選択し、「エンター」キーを押します。
(16)追加設定の確認
ここまで、設定した内容の変更が必要か聞かれますが、そのまま「エンター」キーを押します。
(17)手動追加設定の確認
コマンドラインからの設定が必要か聞かれますが、「<No>」を選択して、「エンター」キーを押します。

 

Tips
  • インストーラーがインストーした、”/boot/defaults/loader.conf”には、hpt27xxドライバーの設定はされていませんので、
  • ここで、”Shell”を起動して、hpt27xxドライバーの設定を行いたくなりますが、ここで作業してもうまく設定できません
(18)"load.conf"の修正《必須》
Tips
  • この段階で強制的にインストーラーを終了させて、”/boot/defaults/loader.conf”の設定をします。
  • この作業を忘れると、インストールしたFreeBSD13.4の再起動時に、RR2720のドライバーが読み込まれないため、インストールは振出しに戻ることになります。
最後に、リブートするか聞かれますが、<CTRL>+<C>強制的にshellに抜けます。

ログインプロンプトが表示されますので、”root”と入力するだけで、ログインできます

 

root@FreeBSD13.4:# mount -t ufs /dev/da1p2 /mnt/ ; "load.conf"があるのは”/dev/da0p2”なので、”/dev/da0p2”を”/mnt”にマウントする。

 

 

root@FreeBSD13.4:# cd /mnt/boot/defaults/ ; ”/mnt/boot/defaults”に移動。
root@FreeBSD13.4:# mv looader.conf looader.conf.orig ; ”loader.conf”のオリジナルを保存
root@FreeBSD13.4:# chmod +w loader.conf ; ””loader.conf”に書き込み許可を与える。
  • 紫字、取り消し線:2025/10/3修正
root@FreeBSD13.4:# cp /boot/loader.conf.orig /mnt/boot/defaults/loader.conf ; インストーラーを起動させるために修正した、loader.confをコピー。
root@FreeBSD13.4:# less ./loader.conf ; loader.confの内容を確認。
root@FreeBSD13.4:# cp loader.conf.orig loader.conf    
root@FreeBSD13.4:# vi loader.conf    
  • 紫字、取り消し線:2025/10/3修正

下記の黄色字部分があることを確認します。を追加します

[..]

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

hpt27xx_load="YES"

###  Splash screen configuration  ############################

[..]

[..]

 

 

 

 

(17)システムの停止
shutdown -p now”と入力して、システムを停止させる。 
(18)USBメディアの取り外し

USBメディアの取り外した後、システムの電源を再投入する。

3. 起動確認

(1)ブートデバイス選択
次回起動時の起動メディアとして”Rocket RAID 2720”を選択して、BIOS設定を「保存/修正します」
(2)起動メッセージ確認
ブート時のコンソールメッセージに”hpt27xx”につながったHDDが表示されれば、”hpt27xx”ドライバーは正常に機能している。
もしくは、RR2720のディスクが見えていれば、”hpt27xx”ドライバーのドライバーは正常に機能しています。

ログインプロンプトが表示されたら、rootでのログインができれば、インストール成功😀。

 

 

【次回に続く】

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

出典・引用・備考

*1:FreeBSD8.4GENERICカーネルには”device hpt27xx # Highpoint RocketRAID 27xx”がありますが、
FreeBSD13.4GENERICカーネルにはこの行がありません

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

*3:"第2章 FreeBSD のインストール | FreeBSD Documentation Portal"、The FreeBSD Foundation.、https://docs.freebsd.org/ja/books/handbook/bsdinstall/、最終閲覧日:2025年9月22日

*4:BIOS画面に入るためのキーは、コンピュータのメーカー、M/Bによって異なります。

*5:次回起動時の起動メディア指定は、コンピュータのメーカー、M/Bによって異なります。

*6:HPE製IP KVMのWebインターフェースでスクリーンショットを取っているので、スクリーンショットに乱れがありますが😅、通常のコンソールであれば、画面の乱れはありません。😀

*7:

*8:この作業を始める前に、FreeBSD8.4についてはすべてをバックアップサーバーにコピーししまいました。

*9:今回の作業を終えたら、FreeBSD8.4を起動させる必要はありませんし。