LFS ALSA

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
Zeile 1: Zeile 1:
==LFS: Installieren von ALSA==
 
Die Installation von ALSA besteht aus vier Schritten. Wer nur den Treiber selbst benötigt kann einige Schritte davon überspringen.
 
  
==Der ALSA-Treiber==
 
 
<pre>
 
cd $SOURCEDIR
 
tar xvfj alsa-driver-x.y.z.tar.bz2
 
cd alsa-driver-x.y.z
 
./configure \
 
    --with-moddir=/lib/modules/`uname -r`/kernel/drivers/sound \
 
    --with-kernel=/lib/modules/`uname -r`/build \
 
    --with-sequencer=yes \
 
    --with-oss=yes \
 
    --with-isapnp=no \
 
    --with-cards=all
 
make
 
make install
 
</pre>
 
Diejenigen, die kein devfs nutzen müssen devices erstellen:
 
<pre>
 
./snddevices
 
</pre>
 
Anschließend müssen noch einige Zeilen in /etc/modules.conf hinzugefügt werden.
 
<pre>
 
cat >> /etc/modules.conf << "EOF"
 
alias char-major-14 soundcore
 
alias char-major-116 snd
 
alias snd-card-0 snd-[soundcard-name]
 
alias sound-slot-0 snd-card-0
 
alias sound-service-0-0 snd-mixer-oss
 
alias sound-service-0-1 snd-seq-oss
 
alias sound-service-0-3 snd-pcm-oss
 
alias sound-service-0-8 snd-seq-midi
 
EOF
 
depmod -a
 
</pre>
 
 
==Die ALSA Bibliothek==
 
<pre>
 
cd $SOURCEDIR
 
tar xvfj alsa-lib-x.y.z.tar.bz2
 
cd alsa-lib-x.y.z
 
./configure --enable-static
 
make
 
make install
 
</pre>
 
 
 
==Die ALSA Utilities==
 
<pre>
 
cd $SOURCEDIR
 
</pre>
 
Herunterladen des Patches für die Alsa-Utilities nach $SOURCEDIR:
 
[http://www.linuxfromscratch.org/patches/blfs/5.1/alsa-utils-1.0.4-arecord-1.patch Patch für arecord]
 
<pre>
 
tar xvfj alsa-utils-x.y.z.tar.bz2
 
cd alsa-utils-x.y.z
 
patch -Np1 -i ../alsa-utils-1.0.4-arecord-1.patch
 
./configure
 
make
 
make install
 
</pre>
 
 
==Die ALSA Bootscripte==
 
ALSA kann wie hier gezeigt über die Startscripte des Systems gestartet werden.
 
Das hier beschriebene script ist ein Teil der BLFS Boot Scripts und kann auch direkt mit diesen installiert werden. Damit werden jedoch viele für den vdr unnötige scripts kopiert, so dass hier die manuelle Variante beschrieben wird.
 
<pre>
 
cat >> /etc/rc.d/init.d/alsa << "EOF"
 
#!/bin/sh
 
# Begin $rc_base/init.d/alsa
 
 
# Based on sysklogd script from LFS-3.1 and earlier.
 
# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
 
# ALSA specific parts by Mark Hymers - markh@linuxfromscratch.org
 
# Stores mixer settings in the default location: /etc/asound.state
 
 
. /etc/sysconfig/rc
 
. $rc_functions
 
 
case "$1" in
 
start)
 
echo "Starting ALSA...    Restoring volumes..."
 
loadproc /usr/sbin/alsactl restore
 
#echo "                    Loading MIDI font..."
 
#loadproc sfxload /path/to/soundfont
 
;;
 
 
stop)
 
echo "Stopping ALSA...    Saving volumes..."
 
loadproc /usr/sbin/alsactl store
 
#echo "                    Removing MIDI font..."
 
#loadproc sfxload -i
 
;;
 
 
restart)
 
$0 stop
 
sleep 1
 
$0 start
 
;;
 
 
*)
 
echo "Usage: $0 {start|stop|restart}"
 
exit 1
 
;;
 
esac
 
 
# End $rc_base/init.d/alsa
 
EOF
 
</pre>
 
Anschließend wird für die benötigten runlevel jeweils ein Start und Stop Links gesetzt, werden nicht alle runlevel benötigt können auch einige Links davon entfallen.
 
<pre>
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc0.d/K35alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc1.d/K35alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc2.d/S40alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc3.d/S40alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc4.d/S40alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc5.d/S40alsa
 
ln -sf  /etc/rc.d/init.d/alsa /etc/rc.d/rc6.d/K35alsa
 
</pre>
 
Zum Abschluß der Installation wird der Treiber erstmals geladen.
 
<pre>
 
touch /etc/asound.state
 
/etc/rc.d/init.d/alsa start
 
amixer Line 28 on
 
amixer CD 28 on
 
alsactl store
 
</pre>
 
Die Installation von ALSA sollte damit erfolgreich abgeschlossen sein.
 
 
==Links==
 
{|
 
| [1]
 
| [http://www.alsa-project.org/download.php ALSA Homepage]
 
|}
 

Version vom 4. September 2004, 14:37 Uhr