硬件环境

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硬件环境:ARM板-友善之臂mini2440

软件环境:买的时候光盘上带的Linux 2.6.13源码

主机编译环境: arm-linux-gcc 3.4.5,scrabox

过程:

1. 搭建编译环境,按照嵌入式Linux应用开发完全手册上(韦东山编著)讲的,一种是直接用arm-linux-gcc,设置环境变量,编译软件的时候需要修改源代码中的makefile,或者如果源代码支持,可以指定--host=arm-linux,这种方法我在编译rtorrent的时候,总是遇到不能找到对应的库等,搜索好久都没搞定,就放弃了,改用第二种方法,使用scratchbox,成功编译出了transmission和rtorrent.

2. 编译transmission:

需要源码包:curl-7.16.3.tar.bz2

openssl-0.9.8d.tar.gz

transmission-1.52.tar.bz2

openssl:

[sbox-arm: ~/transmission] > ./Configure --prefix=/usr shared --openssldir=/usr/openssl linux-generic32 -DL_ENDIAN

[sbox-arm: ~/transmission] > make

[sbox-arm: ~/transmission] > make install

curl:

[sbox-arm: ~/transmission] > ./configure --prefix=/usr

[sbox-arm: ~/transmission] > make

[sbox-arm: ~/transmission] > make install

transmission:

[sbox-arm: ~/transmission] > ./configure --prefix=/usr

[sbox-arm: ~/transmission] > make

[sbox-arm: ~/transmission] > make install

成功编译安装后,在/usr/bin下面就有了transmission-daemon,transmission-remote,transmissioncli

/usr/share下面有transmission文件夹,里面放的是web控制页面相关信息,把这些文件拷贝到arm板上去.

再把curl和openssl生成的依赖库文件也拷贝进去,就可以运行了.

为了简单的知道curl和openssl生成了哪些库文件,可以在前面指定prefix的时候指定一个临时目录,然后make;make install的时候会安装到临时目录里面,就可以知道生成哪些库文件了.

3. 编译rtorrent.

过程类似,需要源码包libsigc++-2.1.1.tar.bz2

ncurses.tar.gz (5.6版本就可以)

openssl-0.9.8d.tar.gz

libtorrent-0.12.4.tar.gz

rtorrent-0.8.4.tar.gz

编译类似,就是指定前缀--prefix=/usr就可以了,最后在编译rtorrent的时候,会出现一个segment错误的情况,要修改一下src/rpc/command.h文件。

参考这里:http://libtorrent.rakshasa.no/attachment/ticket/1271/rt_triple.patch 就是:删除第76,77行

template

rt_triple(const std::pair& b) : base_type(b), third() {}

改成rt_triple(const base_type& b) : base_type(b), third() {}

删除79行的template

这个是0.8.2的行数,0.8.4行数稍微不同.

编译后会生成rtorrent应用程序.

4. 因为我一般是在windows下面放下载的高清电影的,所以还想让支持NTFS分区,网上查了下,一般用ntfs-3g.

源码包:fuse-2.7.4.tar.gz

ntfs-3g-2009.4.4.tgz

英文fuse编译的时候需要内核头文件的支持,所以我就没有在scratchbox里面编译,而改为在外面用交叉编译环境编译。

编译的时候指定 ./configure --host=arm-linux --enable-kernel-module --with- kernel=/你的内核头文件所在地方

将生成的fuse.ko可以在arm上用insmod加载

然后用/usr/ntfs/bin/ntfs-3g /dev/sdc1 /mnt/ 挂载ntfs分区就可以了。

具体可以参考这里/u2/88438/showart_1755011.html 5. 实际在mini2440上跑的时候,发现下载时,ntfs-3g占用太多cpu,特别是在异常关机重启后transmission hash下载的数据时,基本上连transmisson-remote都连不上了,不是很实用,看来为了高速下载,只能下到ext分区了,完了再在主机上拷贝到ntfs分区上,稍微麻烦一点.

相关文档
最新文档