カーネル再構築(FreeBSD4.3Rの場合)


カーネル再構築について

  • ここでは、FreeBSD4.3Rの場合を紹介します。FreeBSD4.2Rの場合は、こちらです。
    FreeBSD4.3Rでは、サウンドドライバの組み込みにカーネル再構築は不要になりました。

  • カーネル再構築は、デフォルトのGENERICカーネルに組込まれていないデバイスを使用する場合や、逆に使用していないデバイスをカーナルから外す場合等に行います。

  • ここでは、以下の変更を行いました。(2)のブート時のSCSIデバイス待ち時間については、SCSIの仕様ではバスリセットからデバイスアクセスまで15秒の時間が必要なのですが、実際には3秒程度で問題無い様です。この変更で、ブート立ちあがり時間を短縮する事ができます。

    (1)ビデオキャプチャドライバ(bktr)追加
    (2)ブート時のSCSIデバイス待ち時間(SCSI_DELAY)15秒を3秒に変更


カーネル再構築の手順

  • まず、コンフィグファイルを準備します。デフォルトで用意されている「GENERIC」をコピーしてそれに変更を加える様にします。ここでは「kernel010728」と言う名前で作成する事にします。名前は勝手に付けてかまいませんが、日付に基づいた名前を付けておくと後で識別するのに便利です。
    # cd /usr/src/sys/i386/conf
    # cp GENERIC kernel010728
    

  • 次に、コンフィグファイル「kernel010728」の編集を行います。
    【/usr/src/sys/i386/conf/kernel010728】
    (途中略)
    ident		kernel010728   <--カーネルの名前を変更
    
    (途中略)
    
    options 	SCSI_DELAY=3000	#Delay (in ms) before probing SCSI  <--ブート時のSCSIデバイス
                                                                           待ち時間15秒を3秒に変更
    
    (途中略)
    
    device		bktr	# Capture device 28/Jul/2001   <--キャプチャデバイス追加
    

  • 次に、コンパイル、インストールをします。
    # config kernel010728
    # cd ../../compile/kernel010728
    # make depend
    # make
    # make install
    
    新しいカーネルが「/kernel」として作成され、以前のカーネルは「/kernel.old」とリネームされて保存されます。

  • 新たに追加したドライバ用に、デバイススペシャルファイルを作成します。
    # cd /dev
    # sh ./MAKEDEV bktr0
    

  • 以上で、ビデオキャプチャ関連のプログラムが使用できる様になります。またブート時のSCSIデバイス待ち時間が15秒から3秒に短縮されたので、立ちあがりが早くなります。

  • 再起動後に、システム情報を表示して、コンパイルした時間等を確認します。
    % uname -a
    FreeBSD taro.home 4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Jul 28 00:01:53 JST 2001
         root@taro.home:/usr/src/sys/compile/kernel010728  i386
    

  • 「dmesg」でシステムメッセージに含まれるbktrドライバの情報を確認します。
    % dmesg
    (途中略)
    bktr0: <BrookTree 878> mem 0xe1000000-0xe1000fff irq 9 at device 13.0 on pci0
    bktr0: Warning - card vendor 0x10fc (model 0x4080) unknown.
    bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
    (以降略)
    


トップへもどる


Copyright (c) 2001 Hiroshi Nakamura. All rights reserved.