首先需要下载源码ALSA源码,下载如下两个内容
然后开始移植工作,首先在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