LFS ALSA

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links: merge)
 
(4 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==LFS: Installieren von ALSA==
 
==LFS: Installieren von ALSA==
 
Die Installation von ALSA besteht aus vier Schritten. Wer nur den Treiber selbst benötigt kann einige Schritte davon überspringen.
 
Die Installation von ALSA besteht aus vier Schritten. Wer nur den Treiber selbst benötigt kann einige Schritte davon überspringen.
 +
 +
{{Box Hinweis|
 +
Mit Kernel 2.6 wurde ALSA in den Kernel übernommen und wird mit dem Kernel als normales Modul installiert.
 +
}}
  
 
==Der ALSA-Treiber==
 
==Der ALSA-Treiber==
Zeile 6: Zeile 10:
 
<pre>
 
<pre>
 
cd $SOURCEDIR
 
cd $SOURCEDIR
tar xvfj alsa-driver-x.y.z.tar.bz2
+
tar xvfj alsa-driver-<VERSION>.tar.bz2
cd alsa-driver-x.y.z
+
cd alsa-driver-<VERSION>
 
./configure \
 
./configure \
 
     --with-moddir=/lib/modules/`uname -r`/kernel/drivers/sound \
 
     --with-moddir=/lib/modules/`uname -r`/kernel/drivers/sound \
Zeile 22: Zeile 26:
 
./snddevices
 
./snddevices
 
</pre>
 
</pre>
Anschließend müssen noch einige Zeilen in /etc/modules.conf hinzugefügt werden.
+
Anschließend müssen noch einige Zeilen in '''/etc/modules.conf''' hinzugefügt werden.
 
<pre>
 
<pre>
 
cat >> /etc/modules.conf << "EOF"
 
cat >> /etc/modules.conf << "EOF"
Zeile 40: Zeile 44:
 
<pre>
 
<pre>
 
cd $SOURCEDIR
 
cd $SOURCEDIR
tar xvfj alsa-lib-x.y.z.tar.bz2
+
tar xvfj alsa-lib-<VERSION>.tar.bz2
cd alsa-lib-x.y.z
+
cd alsa-lib-<VERSION>
 
./configure --enable-static
 
./configure --enable-static
 
make
 
make
Zeile 55: Zeile 59:
 
[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
+
tar xvfj alsa-utils-<VERSION>.tar.bz2
cd alsa-utils-x.y.z
+
cd alsa-utils-<VERSION>
 
patch -Np1 -i ../alsa-utils-1.0.4-arecord-1.patch
 
patch -Np1 -i ../alsa-utils-1.0.4-arecord-1.patch
 
./configure
 
./configure
Zeile 80: Zeile 84:
  
 
case "$1" in
 
case "$1" in
start)
+
start)
echo "Starting ALSA...    Restoring volumes..."
+
  echo "Starting ALSA...    Restoring volumes..."
loadproc /usr/sbin/alsactl restore
+
  loadproc /usr/sbin/alsactl restore
#echo "                    Loading MIDI font..."
+
  #echo "                    Loading MIDI font..."
#loadproc sfxload /path/to/soundfont
+
  #loadproc sfxload /path/to/soundfont
;;
+
  ;;
  
stop)
+
stop)
echo "Stopping ALSA...    Saving volumes..."
+
  echo "Stopping ALSA...    Saving volumes..."
loadproc /usr/sbin/alsactl store
+
  loadproc /usr/sbin/alsactl store
#echo "                    Removing MIDI font..."
+
  #echo "                    Removing MIDI font..."
#loadproc sfxload -i
+
  #loadproc sfxload -i
;;
+
  ;;
  
restart)
+
restart)
$0 stop
+
  $0 stop
sleep 1
+
  sleep 1
$0 start
+
  $0 start
;;
+
  ;;
  
*)
+
*)
echo "Usage: $0 {start|stop|restart}"
+
  echo "Usage: $0 {start|stop|restart}"
exit 1
+
  exit 1
;;
+
  ;;
 
esac
 
esac
  
Zeile 130: Zeile 134:
  
 
==Links==
 
==Links==
{|
+
# [http://www.alsa-project.org ALSA Homepage]
| [1]
+
 
| [http://www.alsa-project.org/download.php ALSA Homepage]
+
[[Kategorie:LFS]]
|}[[Kategorie:LFS]]
+

Aktuelle Version vom 4. April 2006, 20:02 Uhr

Inhaltsverzeichnis

[Bearbeiten] LFS: Installieren von ALSA

Die Installation von ALSA besteht aus vier Schritten. Wer nur den Treiber selbst benötigt kann einige Schritte davon überspringen.

Hinweis
Hinweis

Mit Kernel 2.6 wurde ALSA in den Kernel übernommen und wird mit dem Kernel als normales Modul installiert.


[Bearbeiten] Der ALSA-Treiber

cd $SOURCEDIR
tar xvfj alsa-driver-<VERSION>.tar.bz2
cd alsa-driver-<VERSION>
./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

[Bearbeiten] Die ALSA Bibliothek

cd $SOURCEDIR
tar xvfj alsa-lib-<VERSION>.tar.bz2
cd alsa-lib-<VERSION>
./configure --enable-static
make
make install


[Bearbeiten] Die ALSA Utilities

cd $SOURCEDIR

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

tar xvfj alsa-utils-<VERSION>.tar.bz2
cd alsa-utils-<VERSION>
patch -Np1 -i ../alsa-utils-1.0.4-arecord-1.patch
./configure
make
make install

[Bearbeiten] 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.

[Bearbeiten] Links

  1. ALSA Homepage