FreeBSD QandA 1355

FreeBSD QandA

Q. FreeBSD(98) 3.1R で、2台目以降の SCSI HDD から起動したい。

A. SCSI ID と、da device の unit number が一致していないと、SCSI HDD からの
   起動に失敗することがあります (FreeBSD(98)3.1R-Rev01 で確認)。

   例えば、下記のような SCSI 機器構成の場合、
          0:NONE
          1:NONE
          2:2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
          3:6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
          4-6:NONE
          7:ホストアダプタ

   起動ディスクとして SCSI 3の HDD (kernel からは da1 として認識される)を
   選択すると、SCSI デバイスの初期化の後、
     change root device to da3
   と表示した後
     cannot mount root
   で、panic・reboot してしまうという不具合が報告されています。

   この場合、2通りの解決方法があります。

   1. SCSI ID を変更する。
      上記の構成を次のように変更して、SCSI ID と da device の unit number を
      一致させれば、da1 から起動することができます。

         0: 2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
         1: 6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
         2-6: NONE
         7: ホストアダプタ

   2. loader の設定を変更する。
      ハードウェア上の制約などから 1 の方法を採ることができない場合もある
      でしょう。このような場合は loader に、読み込むべき kernel の場所を明
      示します。/boot/loader.rc を下記の内容で作成して下さい。

         set root_disk_unit=1    #1を適宜変更する。
         load /kernel
         load -t userconfig_script /boot/kernel.conf     #必要な場合
         autoboot 5

      /boot/kernel.conf については
         <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/3.1R/errata.html>
      を参照して下さい。

      ただし loader.rc の記述が無くても起動できるのが正常なので、
      FreeBSD(98) 3.3R-Rev01 では、root_disk_unit を設定しなくても
      起動できるようになっています (FreeBSD(98)3.2R ではどうなるか未確認)。


   また、FreeBSD 3.2-RELEASE でも
        SCSI構成
          0 : 4GB HDD(WindowsNT)
          1 : 2GB HDD(FreeBSD3.2R)
          2-6: NONE
          7: ホストアダプタ(Adaptec AHA-2940UW)

        ホストアダプタ設定
          BootTargetID = 1
   のように設定した場合に、
     cannot mount root
   で、panic reboot する不具合が発生しています。FreeBSD(98)-3.1R と
   同じように「2. loader の設定を変更する」で対処が可能です。

   関連 QandA:
     [管理番号 85]   `panic: cannot mount root' で FreeBSD が起動しない。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。