基于s3c2440的alsa-lib及alsa-utils成功移植
2016-04-05 16:38
405 查看
alsa-lib及alsa-utils成功移植
移植这个有点麻烦,但是为了学习的需要,在麻烦也得执行下去。
准备工作
alsa-lib版本: alsa-lib-1.0.27.2.tar.bz2下载地址:点击这里!
alsa-util版本: alsa-utils-1.0.27.2.tar.bz2下载地址:点击这里!
ncurses版本: ncurses-5.9.tar.gz下载地址:点击这里!
其他版本的alsa-lib和alsa-util不能保证正常工作
arm板子:s3c2440
板子上linux内核:3.4.2
pc虚拟机:ubuntu-9.10
编译工具链:arm-linux-gcc:4.3.2
编译 alsa-lib : /* 这里指定prefix的时候,必须和开发板上相对应,比如着了我们选择一个xyz目录,那么开发板上也必须要有xyz目录,这里我们为了
不改变文件系统的框架,我们准备安装在/usr目录,可是虚拟机usr目录下已经有文件了,我们不能去改变它
所以做了如下的工作在安装 */
sudo mv /usr /usr_bak /* 重命名,后面需要还原它 */
echo $PATH /* 查看环境变量,把usr换成usr_bak */
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin
export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/4.3.2/bin
./configure --host=arm-linux
make
sudo mkdir /usr
sudo chown book:book /usr
make install
sudo mv /usr /home/book/workspace/alsa /* 后面路径自己指定 */
sudo mv /usr_bak /usr /* 恢复原状 */
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin
/* 环境变量也需要恢复 */
把头文件和库复制进交叉工具链里
cd /home/book/workspace/alsa/usr/include
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/usr/lib
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
把库复制到根文件系统的lib目录下
cd /home/book/workspace/alsa
sudo -rfd usr /work/nfs_root/ /* 复制到根文件系统的根目录 */
3.2 alsa-util
3.2.1 先编译依赖:ncurses-5.9.tar.gz /* 安装这个,不然安装
alsa-util会出错*/
./configure --host=arm-linux --prefix=$PWD/tmp --with-shared
make && make install
把头文件和库复制进交叉工具链里
cd /home/book/workspace/alsa/ncurses-5.9/tmp/include/ncurses
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/ncurses-5.9/tmp/include/
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/ncurses-5.9/tmp/lib
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
把库复制到根文件系统的lib目录下
cd /home/book/workspace/alsa/ncurses-5.9/tmp/lib
sudo cp *so* -rfd /work/nfs_root/
3.2.2 编译alsa-util:
./configure --host=arm-linux --prefix=$PWD/tmp --with-curses=ncurses --disable-xmlto --disable-nls
make
sudo make install /* 把生成的bin文件复制到文件系统根目录 */
3.2.3 测试 /* 重新链接设备节点 */
mkdir /dev/snd
cd /dev/snd/
ln -s /dev/controlC0
ln -s /dev/pcmC0D0p
ln -s /dev/pcmC0D0c
播放:
aplay Windows.wav
调音量:
amixer controls
amixer cget numid=1
amixer cset numid=1 30
移植这个有点麻烦,但是为了学习的需要,在麻烦也得执行下去。
准备工作
alsa-lib版本: alsa-lib-1.0.27.2.tar.bz2下载地址:点击这里!
alsa-util版本: alsa-utils-1.0.27.2.tar.bz2下载地址:点击这里!
ncurses版本: ncurses-5.9.tar.gz下载地址:点击这里!
其他版本的alsa-lib和alsa-util不能保证正常工作
arm板子:s3c2440
板子上linux内核:3.4.2
pc虚拟机:ubuntu-9.10
编译工具链:arm-linux-gcc:4.3.2
编译 alsa-lib : /* 这里指定prefix的时候,必须和开发板上相对应,比如着了我们选择一个xyz目录,那么开发板上也必须要有xyz目录,这里我们为了
不改变文件系统的框架,我们准备安装在/usr目录,可是虚拟机usr目录下已经有文件了,我们不能去改变它
所以做了如下的工作在安装 */
sudo mv /usr /usr_bak /* 重命名,后面需要还原它 */
echo $PATH /* 查看环境变量,把usr换成usr_bak */
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin
export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/4.3.2/bin
./configure --host=arm-linux
make
sudo mkdir /usr
sudo chown book:book /usr
make install
sudo mv /usr /home/book/workspace/alsa /* 后面路径自己指定 */
sudo mv /usr_bak /usr /* 恢复原状 */
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin
/* 环境变量也需要恢复 */
把头文件和库复制进交叉工具链里
cd /home/book/workspace/alsa/usr/include
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/usr/lib
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
把库复制到根文件系统的lib目录下
cd /home/book/workspace/alsa
sudo -rfd usr /work/nfs_root/ /* 复制到根文件系统的根目录 */
3.2 alsa-util
3.2.1 先编译依赖:ncurses-5.9.tar.gz /* 安装这个,不然安装
alsa-util会出错*/
./configure --host=arm-linux --prefix=$PWD/tmp --with-shared
make && make install
把头文件和库复制进交叉工具链里
cd /home/book/workspace/alsa/ncurses-5.9/tmp/include/ncurses
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/ncurses-5.9/tmp/include/
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cd /home/book/workspace/alsa/ncurses-5.9/tmp/lib
sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
把库复制到根文件系统的lib目录下
cd /home/book/workspace/alsa/ncurses-5.9/tmp/lib
sudo cp *so* -rfd /work/nfs_root/
3.2.2 编译alsa-util:
./configure --host=arm-linux --prefix=$PWD/tmp --with-curses=ncurses --disable-xmlto --disable-nls
make
sudo make install /* 把生成的bin文件复制到文件系统根目录 */
3.2.3 测试 /* 重新链接设备节点 */
mkdir /dev/snd
cd /dev/snd/
ln -s /dev/controlC0
ln -s /dev/pcmC0D0p
ln -s /dev/pcmC0D0c
播放:
aplay Windows.wav
调音量:
amixer controls
amixer cget numid=1
amixer cset numid=1 30
相关文章推荐
- alter table move和alter table shrink space的区别
- C++:可变数据成员
- javascript中apply、call和bind的使用区别
- 挖掘需求
- 【杭电-oj】-2561-第二小整数(sort快排)
- Windows系统下正确安装MongoDB
- Java线程池
- Windows下tuxedo配置
- FullScreenFragment Code
- CentOS 6.3下配置软RAID(Software RAID)
- iOS9 联系人 ContactFramework
- Impala、Hive性能简单对比测试
- hdu5294Tricks Device【最短路+网络流】
- 猜数字
- 啊哈算法学习-简化版桶排序
- exec() 方法和match方法
- java-简单的定义二位数组
- Android中TextWatcher afterTextChanged无限迭代异常
- java反射之通过反射了解集合泛型的本质
- Github 简明教程