|
|
发表于 2005-1-3 14:57:39
|
显示全部楼层
应该是udev的问题。
我在slackware里面安装alsa的时候,起初也遇到类似的问题,后来发现slackware自带的启动脚本能解决。
脚本内容如下:
- #!/bin/sh
- # Load the mixer settings and OSS compatibility for ALSA.
- # (the Advanced Linux Sound Architecture)
- # A function to load the ALSA mixer settings:
- load_alsa_mixer() {
- if [ -r /etc/asound.state ]; then
- echo "Loading ALSA mixer settings: /usr/sbin/alsactl restore"
- /usr/sbin/alsactl restore
- else
- echo "ALSA warning: No mixer settings found in /etc/asound.state."
- echo " Sound may be muted. Use 'alsamixer' to unmute your sound card,"
- echo " and then 'alsactl store' to save the default ALSA mixer settings"
- echo " to be loaded at boot."
- fi
- }
- # A function to load the ALSA OSS compat modules:
- load_alsa_oss_modules() {
- if ! cat /proc/modules | grep -w snd-pcm-oss 1> /dev/null 2> /dev/null ; then
- echo "Loading OSS compatibility modules for ALSA."
- modprobe snd-pcm-oss
- modprobe snd-mixer-oss
- fi
- }
- # If hotplug or something else has loaded the ALSA modules, then
- # simply load the mixer settings and make sure the OSS compat
- # modules are loaded:
- if [ -d /proc/asound ]; then
- load_alsa_mixer
- load_alsa_oss_modules
- else
- # If there are ALSA modules defined in /etc/modules.conf, but
- # ALSA is not yet loaded, then load the modules now:
- DRIVERS=`modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{ print $3 }'`
- if [ ! "$DRIVERS" = "" ]; then
- echo "Loading ALSA kernel modules."
- for module in $DRIVERS; do
- modprobe $module
- done
- fi
- # If ALSA is now up, then load the mixer settings and OSS modules:
- if [ -d /proc/asound ]; then
- load_alsa_mixer
- load_alsa_oss_modules
- fi
- fi
复制代码 |
|