LFS ALSA
Aus VDR Wiki
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.
Mit Kernel 2.6 wurde ALSA in den Kernel übernommen und wird mit dem Kernel als normales Modul installiert.
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
Die ALSA Bibliothek
cd $SOURCEDIR tar xvfj alsa-lib-<VERSION>.tar.bz2 cd alsa-lib-<VERSION> ./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-<VERSION>.tar.bz2 cd alsa-utils-<VERSION> 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.