LFS ALSA

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 39: Zeile 39:
 
==Die ALSA Bibliothek==
 
==Die ALSA Bibliothek==
 
<pre>
 
<pre>
 +
cd $SOURCEDIR
 +
tar xvfj alsa-lib-x.y.z.tar.bz2
 +
cd alsa-lib-x.y.z
 
./configure --enable-static
 
./configure --enable-static
 
make
 
make
Zeile 46: Zeile 49:
  
 
==Die ALSA Utilities==
 
==Die ALSA Utilities==
 
+
<pre>
Herunterladen des Patches für die Alsa-Utilities:
+
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]
 
[http://www.linuxfromscratch.org/patches/blfs/5.1/alsa-utils-1.0.4-arecord-1.patch Patch für arecord]
 
<pre>
 
<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
 
patch -Np1 -i ../alsa-utils-1.0.4-arecord-1.patch
 
./configure
 
./configure

Version vom 29. August 2004, 18:07 Uhr

Inhaltsverzeichnis

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

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

Diejenigen, die kein devfs nutzen müssen devices erstellen:

./snddevices

Anschließend müssen noch einige Zeilen in /etc/modules.conf hinzugefügt werden.

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

Die ALSA Bibliothek

cd $SOURCEDIR
tar xvfj alsa-lib-x.y.z.tar.bz2
cd alsa-lib-x.y.z
./configure --enable-static
make
make install


Die ALSA Utilities

cd $SOURCEDIR

Herunterladen des Patches für die Alsa-Utilities nach $SOURCEDIR: Patch für arecord

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

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.

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

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.

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

Zum Abschluß der Installation wird der Treiber erstmals geladen.

touch /etc/asound.state
/etc/rc.d/init.d/alsa start
amixer Line 28 on
amixer CD 28 on
alsactl store

Die Installation von ALSA sollte damit erfolgreich abgeschlossen sein.