最近学习用到alsa,所以就准备移植alsa到自己的tiny6410上,
首先需要准备些东西,tiny6410的文件系统,如果用NFS就更好;
alsa-lib-1.0.24.1.tar.bz2 alsa-utils-1.0.24.2.tar.bz2
好了,下面开始移植
环境:fedora12 交叉工具位置: /opt/FriendlyARM/toolschain/4.5.1/
开发板根文件系统位置: /opt/filesystem/rootfs-qt4-2/
在/opt/alsa下解压源码
tar xjf alsa-lib-1.0.24.1.tar.bz2
tar xjf alsa-utils-1.0.24.2.tar.bz2
1.开始移植alsa-lib
进入alsa-lib源码目录,输入以下命令
./configure --host=arm-linux --target=arm-linux --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa --enable-static --enable-shared --disable-python --with-configdir=/usr/share --with-plugindir=/usr/lib/alsa_lib
配置成功后,执行 make
make完后执行make install
成功后,执行以下命令
mkdir /opt/filesystem/rootfs-qt4-2/usr/share/alsa/ -p
cp /usr/share/alsa/alsa.conf /opt/filesystem/rootfs-qt4-2/usr/share/alsa/alsa.conf
cp /usr/share/alsa/card /opt/filesystem/rootfs-qt4-2/usr/share/alsa -r
2.开始移植alsa-utils
进入alsa-utils源码目录,输入以下命令
PKG_CONFIG_PATH="/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa/lib/pkgconfig" LDFLAGS="-L/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib -lpthread -lc -lgcc" CFLAGS="-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include" ./configure --host=arm-linux --target=arm-linux --prefix=${PWD}/_install --disable-alsamixer --disable-xmlto --with-alsa-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa/lib/ --with-alsa-inc-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/arm-alsa/include/
配置成功后,执行 make
make完后执行make install
这样alsa的工具都生成了,需要什么就将工具移植到开发板就好了,而我需要用到alsactl和amixer来配置声卡和调节音量
所以
cp alsactl/alsactl /opt/filesystem/rootfs-qt4-2/sbin
cp amixer/amixer /opt/filesystem/rootfs-qt4-2/sbin
移植到此结束。