Cross-compile Alsa-lib libraries, amixer and Aplay tools

Source: Internet
Author: User
Tags mkdir
1. Export ALSA installation directory
Export Gliethttp_alsa_lib=/usr/local/alsa
mkdir $gliethttp _alsa_lib
sudo chown luther:luther $gliethttp _alsa_lib-r
2. Compile Alsa-lib Library
./configure--build=i386--host=arm-linux--disable-python--prefix= $gliethttp _alsa_lib
Make;make Install
3. Compile Alsa-utils
./configure--build=i386--host=arm-linux--with-curses=ncurses--disable-xmlto--with-alsa-inc-prefix= $gliethttp _ Alsa_lib/include--with-alsa-prefix= $gliethttp _alsa_lib/lib--prefix= $gliethttp _alsa_lib
Make;make Install

First, we can copy the bin,sbin,lib of $gliethttp_alsa_lib directly into the embedded root/file system using CP-A.
But we can't copy $gliethttp_alsa_lib directly into the embedded root file system/root directory, because the library is saved in Alsa Lib.
Absolute path information, when Amixer or Aplay use Lib libraries, the Lib Library uses an absolute address to access the configuration files in the share shared file, so you must
When an installation with the same name is established on the embedded Development Board, the absolute path is share, so that it can be used properly, or you will be prompted:
# Amixer
ALSA Lib conf.c:3601: (snd_config_update_r) cannot access file/usr/local/alsa/share/alsa/alsa.conf
ALSA Lib control.c:902: (snd_ctl_open_noupdate) Invalid ctl Default
Amixer:mixer attach default error:no such file or directory
Then, even if we set the Alsa_config_path path, it doesn't work, but it also prompts the following error log
# Export Alsa_config_path=/usr/local/alsa/share/alsa/alsa.conf
# Amixer
ALSA Lib control.c:902: (snd_ctl_open_noupdate) Invalid ctl Default
Amixer:mixer attach default error:no such file or directory
# Strulpi_dat3_int_set (), DEV:C040BBE0
So we can only create the $gliethttp_alsa_lib directory with the same name in the root directory of the embedded file system, and then copy the ALSA configuration file contents to the past
Mkdir-p/vobs/initramfs/$gliethttp _alsa_lib
Cp-a $gliethttp _alsa_lib/*/vobs/initramfs/$gliethttp _alsa_lib/
All right, all set, Alsa Lib library installation should pay attention to the place is so much [luther.gliethttp]

4. Create ALSA Control node
MKNOD/DEV/SND/CONTROLC0 C 116 0
5. Create ALSA corresponding PCM channel node
A. View the current number of sound cards
Cat/proc/asound/cards
B. View the PCM information for this sound card
Ls/proc/asound/card0
For example, the output of the following information: ID pcm0c pcm0p pcm1c pcm1p
C. Establishing nodes
MKNOD/DEV/SND/HWC0D0 C 116 4
mknod/dev/snd/pcmc0d0p C 116 16
mknod/dev/snd/pcmc0d1p C 116 17
MKNOD/DEV/SND/PCMC0D0C C 116 24
MKNOD/DEV/SND/PCMC0D1C C 116 25
Mknod/dev/snd/seq C 116 1
Mknod/dev/snd/timer C 116 33

Program Library Download Address: http://www.alsa-project.org/main/index.php/Download

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.