移植ALSA工具到arm开发板

首先需要下载源码,下载如下两个内容 然后开始移植工作,首先在ubuntu开发机上创建如下目录/usr/share/arm-alsa 然后根文件系统同样创建相同路径的目录,如下入所示 解压alsa-lib-1.2.7.tar.bz2和alsa-utils-1.2.7.tar.bz2文件,然后进入alsa-lib-1.2.7中,执行如下配置

./configure --host=arm-linux-gnueabihf --prefix=/home/zxy/linux/imx6ul_Linux/alsa/lib-alsa --enable-static --enable-shared --with-configdir=/usr/share/arm-alsa

配置完成后直接执行 make && make install即可。然后进入alsa-utils-1.2.7中,同样的,执行如下配置

./configure --host=arm-linux-gnueabihf --prefix=/home/zxy/linux/imx6ul_Linux/alsa/alsautils --with-alsa-inc-prefix=/home/zxy/linux/imx6ul_Linux/alsa/lib-alsa/include/ --with-alsaprefix=/home/zxy/linux/imx6ul_Linux/alsa/lib-alsa/lib/ --disable-alsamixer --disable-xmlto

然后也是make && make install 即可。 如果编译遇到如下问题

mv: cannot stat t-ja.gmo: No such file or directory
make[2]: *** [Makefile:41: ja.gmo] Error 1
make[2]: Leaving directory /home/zxy/linux/imx6ul_Linux/alsa/alsa-utils-1.2.7/alsaconf/po
make[1]: *** [Makefile:480: all-recursive] Error 1
make[1]: Leaving directory /home/zxy/linux/imx6ul_Linux/alsa/alsa-utils-1.2.7/alsaconf
make: *** [Makefile:461: all-recursive] Error 1

apt-get install gettext安装个这个,再次执行config,然后再次编译即可。 进入生成的目录alsautils中,执行如下拷贝操作即可

cp bin/* ../../rootfs/bin/ -rfa
cp sbin/* ../../rootfs/sbin/ -rfa
cp share/* ../../rootfs/usr/share/ -rfa

进入生成的alsa-lib生成的目录lib-alsa中,执行如下操作

cp lib/* ../../rootfs/lib/ -af

进入/usr/share/arm-alsa/中,执行如下操作cp * /rootfs/usr/share/arm-alsa/ -raf

经验分享 程序员 微信小程序 职场和发展