Kernel

Kernel 再コンパイル

以上の事を行なう。
od-driverのパッチを当てます。 これは、FreeBSD が標準のod-driverでは640MBのmoを扱えないためです。

まずod-driver-2.2-ALPHA.tar.gzを用意し解凍し説明に従って パッチを当てます。

rejectが出るので、
# cd /sys
# find . -name "*.rej"
でリジェクトされたファイルを探します。 調べると、コメント部分と既に改良された箇所である事が確かめられるので、 無視します。

od0があるか確認します。

od-driver-2.2-ALPHA/disktab.odを/etc/disktabに追加します。 その際、もとのdisktab内にあるmoのエントリは消しておいた方が良いでしょう。


不要デバイスの削除を行いたい所ですが、、、。 カーネルコンフィグレーションをしていると、 dmesgは、probeしないものを表示しません。 コンフィグレーション
# cd /sys/i386/conf
# cp GENERIC T128odps 
# vi T128odps

device ed0 at isa? disable port 0x280 net irq  5 iomem 0xd8000 vector edintr
#device ed1 at isa? port 0x300 net irq  5 iomem 0xd8000 vector edintr
上段はprobeしないように変更した例です。 下段はコメントアウトしています。
GENERICではメモリは64MBまでしか認識しません。 必要ならば128MBまで認識するように変更します。 /sys/i386/conf/LINTを参照します。
# MAXMEM specifies the amount of RAM on the machine; if this is not
# specified, FreeBSD will read the amount of memory from the CMOS RAM,
# so the amount of memory will be limited to 64MB or 16MB depending on
# the BIOS.  The amount is in kilobytes, so for a machine with 128MB of
# RAM, it would be 131072 (128 * 1024).

options         "MAXMEM=(128*1024)"

サウンドカードの認識を行ないます。(Sound Blaster Vibra 16CL)
#
# Audio drivers: `snd', `sb', `pas', `gus', `pca'
#
# snd: Voxware sound support code
# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
# sbxvi: SoundBlaster 16
# sbmidi: SoundBlaster 16 MIDI interface
# pas: ProAudioSpectrum PCM and MIDI
# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
# gusxvi: Gravis Ultrasound 16-bit PCM  (do not use)
# mss: Microsoft Sound System
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# uart: stand-alone 6850 UART for MIDI
# mpu: Roland MPU-401 stand-alone card
# 
# Beware!  The addresses specified below are also hard-coded in
# i386/isa/sound/sound_config.h.  If you change the values here, you
# must also change the values in the include file.
#
# pca: PCM audio through your PC speaker
#
# If you don't have a lpt0 device at IRQ 7, you can remove the
# ``conflicts'' specification in the appropriate device entries below.
#
# If you have a GUS-MAX card and want to use the CS4231 codec on the
# card the drqs for the gus max must be 8 bit (1, 2, or 3).
# 
# If you would like to use the full duplex option on the gus, then define
# flags to be the ``read dma channel''.
#
# options BROKEN_BUS_CLOCK      #PAS-16 isn't working and OPTI chipset
# options SYMPHONY_PAS          #PAS-16 isn't working and SYMPHONY chipset
# options EXCLUDE_SBPRO         #PAS-16
# options SBC_IRQ=5             #PAS-16. Must match irq on sb0 line.
# PAS16: The order of the pas0/sb0/opl0 is important since the
#       sb emulation is enabled in the pas-16 attach.
#
# The i386/isa/sound/sound.doc has more information.

# Controls all sound devices
controller      snd0
device sb0      at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
device sbxvi0   at isa? drq 5
device sbmidi0  at isa? port 0x330
# For normal case use next line
device opl0     at isa? port 0x388

# Not controlled by `snd'
device pca0 at isa? port IO_TIMER1 tty

マウスを初期状態から認識するようにします。変更します。
device          psm0    at isa? port "IO_KBD" conflicts tty irq 12 vector psmint

以上で終了です。以下を実行します。
# config T128odps
Kernel build directory is ../../compile/T128odps
# cd ../../compile/T128odps
# make depend
# make
# cp kernel /kernel.T128odps
# cd /
# ln -f kernel.T128odps kernel
ブートしなおします。正しくブートしない場合には設定を やり直します。

サウンドボードを使うには、

# cd /dev
# sh MAKEDEV snd0

を行ないます。% cat sndstat で状態を知ることができます。

xcdplayerは、xcdplayer -device /dev/wcd0c として使います。 ただし、ルート以外で実行すると /dev/wcd0c: Permission denied と怒られます。 これは、以下で直ります。
# chown bin /dev/wcd0c
# cd /usr/X11R6/bin
# chown bin xcdplayer 
# chmod 4755 xcdplayer

% vi .xsession
xhost +hostname > /dev/null &     #この行を追加
一度ログインしなおして、
% xcdplayer -device /dev/wcd0c &

% timidity somename.mid   

eject-1.2.tar.gzをインストールするとmoを eject コマンドで排出できます。 また、以下のように alias を設定するのもよいでしょう。
alias mmo       mount /dev/od0a /mo
alias umo       "umount /mo ; eject od0"

maxusers 20
topへ