openwrt 遍译php_openwrt编译软件教程(陆续更新方法)

用上了openwrt,自然软件就是迫切需要的,有时候需要的软件找不到,求人未必有现成的,所以还是那句话好,求人不如求己,自己编译好了。

编译软件有两种方法:

第一种是在编译openwrt的时候顺带编译软件,这种最简单,比较容易学会。

根据lostinfever和g大的指导,make跟不同的参数可以达到不同的效果:

1.make package/xxx/{clean,compile,install} V=99 :xxx是原生包的名字

2.make package/feeds/packages/xxx/{clean,compile,install} V=99 :xxx是feeds维护包的名字

3.make kernel: 直接编译uImage

第二种是直接基于openwrt的sdk交叉编译软件,这种要求有较高的编程能力和配置能力。

第三种是直接在运行openwrt的pogoplug上编译,经测试,由于openwrt.org超过4年没有对build-essential组件进行更新,且目前只允许x86平台编译build-essential组件,想自动化配置好openwrt下的编译环境存在相当大的困难。

本教程着重介绍第一种编译方法,第二、三种编译方法有大神可以分享一下的话最好,我还在研究中(研究编译openwrt上pogoplug用的mldonkey)

第一种编译方法的前提是准备好编译openwrt的编译环境,参考99大的http://bbs.qzxx.com/thread-13106-1-1.html能够完整编译出openwrt。

这里顺带提一点,编译环境最好在虚拟机中装一个ubuntu或者debian等linux操作系统中做,没有必要用实物机做。。。

有了编译好openwrt的环境后,下面就是编译软件了。

1.新编译软件

举个例子好了,比如我需要编译transmission-daemon

进入openwrt源码所在目录,输入make menuconfig,进入模块配置界面

openwrt 遍译php_openwrt编译软件教程(陆续更新方法) 下载 (96.37 KB)

2013-9-18 13:20

找到transmission-daemon,输入M或用空格切换,使其变成“M”状态。

openwrt 遍译php_openwrt编译软件教程(陆续更新方法) 下载 (102.3 KB)

2013-9-18 13:22

然后一直退出,最后提示是否保存设置时,选择“yes”

openwrt 遍译php_openwrt编译软件教程(陆续更新方法) 下载 (45.12 KB)

2013-9-18 13:23

回到命令行状态,再执行make V=99执行编译。

编译完以后,你就会在./bin/oxnas/packages下找到新编译的transmission-daemon_2.71-1_oxnas.ipk和其他依赖和其他软件的包,建议参考http://bbs.qzxx.com/viewthread.phpid=13109自建源,把刚编译packages下的所有文件放在自建源里,就可以通过opkg安装或升级软件了。

如果想找模块列表里面有没有我需要的软件,但又不知道在哪个菜单下,可以这么操作:

在make menuconfig的界面中,按键盘的/键(问号的键),就会弹出检索窗口,然后输入软件名字回车搜索(模糊查询的),比如我输入transmission,查询结果显示有没有匹配项,有的话在哪个位置和依赖项。

openwrt 遍译php_openwrt编译软件教程(陆续更新方法) 下载 (103.55 KB)

2013-9-18 14:15

图上说明了,transmission-daemon在Network->BitTorrent下(Location);选上transmission-daemon后,会把依赖项libcurl、libpthread等类库选项和编译的(Selects);如果把luci-app-transmission选上,就会自动选上transmission-daemon(Selected by)。

还有一种情况,就是用/键能查出来位置在哪,但去到那个地方却没有这个选项,如编译minidlna。

openwrt 遍译php_openwrt编译软件教程(陆续更新方法) 下载 (121.42 KB)

2013-9-18 14:17

从图上可以看到,还有一个条件,就是选上libffmpeg-cusom、libffmpeg-full、libffmpeg-mini随便一个,minidlna才可见(Depends on)。

2.更新软件

openwrt自带的软件版本未必都是最新的,有些软件新版本有新功能,或者修复bug,要么等openwrt更新,其实可以自己编译软件新版本的。

自己更新软件版本,其实就是把软件的源码更新并且编译就行了,而且openwrt编译软件时,用的是模版化的Makefile,和附带的file和patches,这些东西可以自己写,但要求比较高,好在openwrt.org(英文的,openwrt.org.cn的来源)的源码里面相当部分的软件都已经更新了,我们可以借用openwrt.org的新版本来替换现在openwrt.org.cn上的较低版本,来达到升级软件的目的。

首先是获得openwrt.org上的包最新版本,还是在原来编译openwrt的环境中

新建一个目录存放openwrt.org的包

相关资源:【内存遍历工具】Cheat.Engine.V5.4.简体中文版-专业指导文档类…

来源:weixin_39730263

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月19日
下一篇 2020年11月19日

相关推荐