OpenWRT开发之创建软件包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenWRT开发之创建软件包相关的知识,希望对你有一定的参考价值。

参考技术A OpenWRT二次开发时总免不了开发自己的软件包。本文介绍如何在OpenWRT中创建一个新的软件包。

首先创建软件包所在的目录,在openwrt根目录中执行:

这里的mypackages目录和helloworld目录都是新建的,helloworld就是我们本次新建的软件包的包名。我们后续可以将自己创建的包都放在mypackages目录下。

helloworld包的目录结构如下:

即软件包helloworld目录下的Makefile文件。例子以及注释如下:

上面的例子中没有定义 define Build/Compile ,表示使用默认的Compile命令。默认的Compile行为就是在$(PKG_BUILD_DIR)目录下执行make命令。

helloworld.c内容如下:

与helloworld.c同目录的Makefile内容如下:

说明:这里的$(CC)、$(CFLAGS)、$(LDFLAGS)都是由OpenWRT的build系统赋值的,CC就是目标平台对应的交叉编译工具链里的gcc。

在OpenWRT根目录下运行make menuconfig,可以看到多出来一个”Examples —>”菜单,按回车进去后可以看到我们新建的”helloworld” 包。 (从这里也可以看出,在执行make menuconfig时,OpenWRT会自动扫描package目录以及其子目录下所有的包。)

选中这个”helloworld”包。然后再OpenWRT根目录下执行:

此命令即为OpenWRT单package编译命令。

通过log,可以看到我们的包编译成功。编译目录为 build_dir/target-XXXX/helloworld-1.0

如果要再次编译,可以执行:

本文源码见: https://github.com/jian-soft/openwrt-package-example

参考文章:

软路由OpenWrt教程收集(插件开发教程,opkg安装软件教程)

说明:现在几乎所有家庭级别的路由器都是基于OpenWrt进行衍生搭建的。

https://openwrt.io/(极路由HiWifi创建的开源站点,极路由系统有这个衍生而来)

http://www.openwrtdl.com/

http://www.openwrt.org.cn/

https://openwrt.org/(官网)

以上是关于OpenWRT开发之创建软件包的主要内容,如果未能解决你的问题,请参考以下文章

软路由OpenWrt教程收集(插件开发教程,opkg安装软件教程)

路由openwrt固件请问怎么加入socket通信软件包

openwrt编译 -- 添加用户自定义app

MT7688学习笔记——定制OpenWrt系统及添加自开发软件

Openwrt开发之防火墙配置

Openwrt开发之wifi sta设置