LFS ALSA
(→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- | + | tar xvfj alsa-driver-<VERSION>.tar.bz2 |
− | cd alsa-driver- | + | 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- | + | tar xvfj alsa-lib-<VERSION>.tar.bz2 |
− | cd alsa-lib- | + | 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- | + | tar xvfj alsa-utils-<VERSION>.tar.bz2 |
− | cd alsa-utils- | + | 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) | |
− | + | 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 | esac | ||
Zeile 130: | Zeile 134: | ||
==Links== | ==Links== | ||
− | + | # [http://www.alsa-project.org ALSA Homepage] | |
− | + | ||
− | + | [[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.
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.