インストール方法

特別にpatchなども用意していませんので少々面倒ですが 手で入れてください。以下に手順を載せます。

  1. ダウンしたドライバは、sys/i386/isa/sound/ に置いて下さい。 以後、作業ディレクトリを/usr/srcとして話をすすめます (つまりドライバを置くディレクトリは /usr/src/sys/i386/isa/sound/ になる)

  2. 目的のドライバをカーネルが使えるように、 関連ソースにパッチをあてます。 対象となるファイルは、

    です。他のサウンドのドライバに関するエントリを真似てuart8251/16550用の エントリを作成すればよいのですが、それではわからないという場合は uart6850用のエントリを書換えてしまうのがてっとり早いと思います。

    例: /usr/src/sys/i386/isa/sound/dev_table.h 272行目付近
    
    (変更前)
    #if !defined(EXCLUDE_UART6850) && !defined(EXCLUDE_MIDI)
    		{SNDCARD_UART6850,"6860 UART Midi",	attach_uart6850, probe_uart6850},
    #endif
    
    (変更後: uart16550のとき)
    #if !defined(EXCLUDE_UART16550) && !defined(EXCLUDE_MIDI)
    		{SNDCARD_UART16550,"16550 UART Midi",	attach_uart16550, probe_uart16550},
    #endif
    
    
    (変更後: uart8251のとき)
    #if !defined(EXCLUDE_UART8251) && !defined(EXCLUDE_MIDI)
    		{SNDCARD_UART8251,"8251 UART Midi",	attach_uart8251, probe_uart8251},
    #endif
    

    他のファイルも同様に書換えてください。

  3. /usr/src/sys/i386/isa/sound/local.h の最後のブロック

    /* nothing but a Midi (MPU/UART) ? */
    #if NGUS == 0 && NSB == 0 && NSBMIDI == 0 && NPAS == 0 && NOPL == 0 && \
        NMSS == 0 
    /* MPU depends on sequencer timer */
    #if NMPU == 0 && !defined(EXCLUDE_SEQUENCER)
    #define EXCLUDE_SEQUENCER
    #endif
    #ifndef EXCLUDE_AUDIO
    #if !defined(PC98) || defined(EXCLUDE_PCM86) && defined(EXCLUDE_MSS)
    #define EXCLUDE_AUDIO
    #endif
    #endif
    #endif
    

    の最初のif文を、

    /* nothing but a Midi (MPU/UART) ? */
    #if NGUS == 0 && NSB == 0 && NSBMIDI == 0 && NPAS == 0 && NOPL == 0 && \
        NMSS == 0 && NUART == 0
    

    というように書換えてください。

  4. configファイルに以下の設定を追加します。

    controller snd0
    # uart8251のとき
    device uart0    at isa? port 0x30 irq 4 vector rsmintr
    # uart16550のとき
    device uart0    at isa? port 0x3f8 irq 4 vector rsmintr   
    

    uart16550のときは、irqやportをご利用の環境にあわせて適宜変更してください。

  5. あとはいつも通り

    % config (configファイル名)
    % cd ../../compile/(configファイル名)
    % make depend
    % make
    # make install
    

    で完成です。

  6. デバイスを作ってないときは、
    # cd /dev
    # sh MAKEDEV snd0
    

    として作ってください。

to Index