OpenWRT编译自定义应用的办法

本文详细介绍了如何在OpenWRT环境下编译自定义应用,包括创建helloworld程序,编写Makefile,以及通过SDK单独编译和安装软件包。通过执行make menuconfig选择模块,使用make package/.../compile和install命令,最终生成ipk文件并安装到路由器。

OpenWRT编译成功之后,相应编译得到的文件会被放在编译的根目录下的bin/{TARGET}/下面。比如说我编译完之后的相应的文件都可以在bin/ar71xx/的文件夹下面找到,其中的packages文件夹里面包含了我们再配置文件里设定的所有编译好的软件包,这些软件包不一定都被编译进了固件当中,只有那些在配置文件中(也就是在make menuconfig的时候)一Ctrl+Y选中的软件包才会被编译进固件当中,一Ctrl+M选中的软件包如果需要的话需要单独再在openwrt中进行安装。

在编译的根目录下会有一个dl的目录,这个目录其实就是”download“的缩写,在编译的前期,需要熊网络下载的数据包都会放在这个目录下,这些软件包的一个特点就是会自动安装在所编译的固件中。如果我们需要膝盖源码包,只需要将更改好的源码包打包成相同的名字放在这个目录下,然后开始编译即可。编译时,会将软件包解压到build_dir目录下。也可以自己在dl里面创建自己的软件包,然后更改相关的配置文件,让openwrt可以识别这个文件包。

新建和编译自己的packages:对于自己新建的package,在不需要随固件一起安装时,也就是这个package是作为一个可选软件包的,可以利用SDK环境来单独编译,编译完成之后会生成一个ipk包,利用opkg installxxx.ipk来安装这个软件。

下面以建立一个helloworld为例(相关的原始例子说明可以在openwrt的官网上找到):

1.建立源码目录:

cd package
mkdir Helloworld ; cd Helloworld
mkdir src
touch src/Makefile   /* Helloworld 编译Makefile */
touch ./Makefile /*建立顶层Makefile,这个Makefile文件是OpenWRT读的*/

(1)首先,编写helloworld程序
/****************
* Helloworld.c
* The most simplistic C program ever writ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值