|
本帖最后由 鲲翔 于 2018-3-25 20:49 编辑
使用SDK编译外部软件(以OSCAM)为例
Openwrt自带的软件要编译起来很简单,选上就行了。要是自带软件里没有,要编译出来在openwrt里运行的软件该怎么办呢?交叉编译?说实话,比较难。特别是软件又依赖其它软件的就更验证了。这里介绍一种比较简单的方法来编译外部软件。
Openwrt自带的软件编译起来之所以简单是因为有Makefile,所以如果没有自己要解决的就是找到Makefile,这个Makefile来源有两种,一种是有前辈写好了,直接拿来用。还一种是自己写。自己写太难了,我们就上网搜别人写好的吧。一般你急着用的,都有前辈写过,去github找就行了。所以大部分都能找到,找不到就老老实实学写Makefile吧。写Makefile不在本文讨论范围内。
经过网上搜索,找到一个Makefile。我们把它下载回来:
git clone https://github.com/kunxiang1/DVB-For-Openwrt.git
下载回来的文件就在oscam文件夹里。这个Makefile使用的是svn,我们把它改掉去,改成git。来源也改成N大的https://github.com/nx111/oscam.git,版本号填master。这样,每一次编译都可以保证是最新的。
下面我们把SDK下载回来,这里以ar71xx为例:
wget http://mirrors.ustc.edu.cn/lede/ ... Linux-x86_64.tar.xz
把下载回来的SDK解压缩。然后在解压缩后的文件夹打开终端,运行
./scripts/feeds update –a
./scripts/feeds install –a
运行这两个命令的目的就是因为编译oscam时它有软件包依赖,为了省事把全部软件包下载回来,保证后面的编译不出错。如果你有其它的完整编译文件夹也可以单独从里面复制需要的软件包出来,放到package下面去。
好了下面运行
make menuconfig
确认oscam被选上了。保存,退出。下面就可以开始编译了:
make package/oscam/compile V=s
不出意外的话,很快就可以在bin/packages下找到编译好的文件夹。如果意外停止,仔细查看一下第一次出现error的地方,一般是缺少依赖包所一致的
最后,我也有编译好的软件包,供取用:
https://pan.baidu.com/s/1c2CnSqO#list/path=%2FT230C
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|