カーネル再構築(98編)


カーネル再構築(98編)について

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

  • ここでは、以下の変更を行いました。
    (1)サウンドドライバ(mss)追加
    (2)ビデオキャプチャドライバ(bktr)追加
    (3)インストール時に変更したドライバ設定情報(ed4)を修正
    (4)インストール時に非活性にした不要なドライバを削除(ed0〜3,ed5〜12,snc0,lnc0,fe0,fe1,bs0,aic0)

  • FreeBSD 2.2R以前のFreeBSD(98)では、カーネルソースへのパッチが必要でしたが、2.2R以降はソースへのパッチは不要になりました。詳細は下記を参照して下さい。
    FreeBSD(98) 4.2R のカーネルの再構築について
    FreeBSD QandA 251


カーネル再構築(98編)の手順

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

    (途中略)
    ident		kernel010424   <--カーネルの名前
    
    (途中略)
    #device	ed0 at isa? port 0x00d0 irq 6                 <--不要デバイス削除
    #device	ed1 at isa? port 0x00d8 irq 6 flags 0x200000  <--不要デバイス削除
    #device	ed2 at isa? port 0x00d8 irq 6 flags 0x300000  <--不要デバイス削除
    #device	ed3 at isa? port 0x00d0 irq 6 flags 0x400000  <--不要デバイス削除
    (他にed5〜12,snc0,lnc0,fe0,fe1,bs0,aic0を同様に削除(コメント化))
    
    device	ed4 at isa? port 0x56d0 irq 10 flags 0x500000  <--irqを5から10に変更
    
    (途中略)
    
    device	snd                                       <--サウンドドライバ追加(コメント外す)
    device	mss0	at isa? port 0xf40 irq 12 drq 1   <--サウンドドライバ追加(コメント外す)
    
    (途中略)
    
    device		bktr	# Capture device Apr/24/2001  <--ビデオキャプチャドライバ追加
    
    

  • 次に、コンパイル、インストールをします。
    # config kernel010424
    # cd ../../compile/kernel010424
    # make depend ; make             <--ここでは約20分程掛かります。
    # make install
    
  • 新たに追加したドライバ用に、デバイススペシャルファイルを作成します。
    # cd /dev
    # sh ./MAKEDEV snd0
    # sh ./MAKEDEV bktr0
    
  • カーネルの再構築後そのままでは、旧カーネルインストール時に非活性にしたドライバに関して「No such deviceエラー」が出ます。これは、「/boot/kernel.conf」に保存されている非活性にしたドライバ情報が参照されるためです。そのため、「/boot/kernel.conf」を例えば「/boot/kernel.conf.old」にリネームします。詳細は下記を参照して下さい。
    FreeBSD QandA 1501


トップへもどる


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