移植 alsa 到 gec6818
alsa-lib
1. 下载 alsa-lib-1.2.16.1
网址:https://www.alsa-project.org/wiki/Main_Page
2. 放到 Windows 共享文件夹
3. 复制到 ~ 下
cp alsa-lib-1.2.16.1.tar.bz2 ~
4. 解压
tar -jxvf alsa-lib-1.2.16.1.tar.bz2
5. cd alsa-lib-1.2.16.1
6. 新建 alsa-lib-1.2.16.1-install(名字随便)
mkdir alsa-lib-1.2.16.1-install
7. 运行 configure
./configure CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib --host=arm-none-linux-gnueabi --prefix=$(pwd)/alsa-lib-1.2.16.1-install --disable-python --enable-shared --disable-static
arm-none-linux-gnueabi 换成要用的工具链
alsa-lib-1.2.16.1-install 上面创建的 文件夹
8. 编译
make -j4
make install
9. 完成
10. 打包到 开发板
切换到 alsa-lib-1.2.16.1 目录下
1. tar -czvf alsa-lib-1.2.16.1.tar.gz alsa-lib-1.2.16.1-install
2. cp alsa-lib-1.2.16.tar.gz [共享文件夹(Windows)]
开发板上
1. 设置tftp 服务器根目录
2. tftp -g -l alsa-lib-1.2.16.tar.gz -r alsa-lib-1.2.16 192.168.1.43
11. 解压
12. 将解压后文件夹下lib bin 的文件 复制到 /usr/lib/ /usr/bin/ 下
alsa-utils
1. 下载 alsa-utils-1.2.16
wget https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.16.tar.bz2
2. 解压
3. 创建配置文件 生成Makefile
1. vi alsa-utils-install.sh
2. chmod +x alsa-utils-install.sh3. ./alsa-utils-install.sh
内容:
1. alsa-lib-1.2.16.1/alsa-lib-1.2.16.1-install alsa-lib的安装目录(换)
2. arm-none-linux-gnueabi arm平台编译器
3. msgfmt
解决问题:
Making all in po
make[2]: 进入目录“/home/gec/alsa-utils-1.2.16/alsaconf/po” mv: 无法获取't-ja.gmo' 的文件状态(stat): 没有那个文件或目录
make[2]: *** [Makefile:41:ja.gmo] 错误 1
make[2]: 离开目录“/home/gec/alsa-utils-1.2.16/alsaconf/po”
make[1]: *** [Makefile:487:all-recursive] 错误 1
make[1]: 离开目录“/home/gec/alsa-utils-1.2.16/alsaconf” make: *** [Makefile:471:all-recursive] 错误1
解决办法:
sudo apt update
sudo apt-get install gettext
4. make && make install
5. 切换到 安装目录(alsa-lib-1.16.1-install)
6. 打包到 开发板
切换到 alsa-lib-1.2.16.1 目录下
1. tar -czvf alsa-arm-1.2.16.1.tar.gz alsa-lib-1.2.16.1-install
2. cp alsa-arm-1.2.16.tar.gz [共享文件夹(Windows)]
开发板上
1. 设置tftp 服务器根目录
2. tftp -g -l alsa-arm-1.2.16.tar.gz -r alsa-arm-1.2.16 192.168.1.43
7. 解压
tar -xzvf alsa-arm-1.2.16.1tar.gz
8. 将解压后文件夹下lib bin 的文件 复制到 /usr/lib/ /usr/bin/ 下
10. 因为 --prefix= 是硬编码,所以需要 配置 运行环境
1. 将alsa-arm-1.2.16.1/share/alsa 复制到 /usr/share/alsa 下 (先在/usr/share/ 下创建 alsa)
2. 配置环境变量 在 /etc/profile 中添加 环境变量 ALSA_CONFIG_PATH
vi /etc/profile
在最后一行添加
export ALSA_CONFIG_PATH=/usr/share/alsa/alsa.conf
测试
aplay -version
arecord -version
有版本号输出,正确!!!!!