openwrt中添加自定义应用模块

openwrt中自带一整套包管理机制,正确使用openwrt的包管理机制可有效提高开发效率

本文介绍如何在openwrt中增加一个自定义的应用包

1、在package下创建一个应用程序目录hello,并在hello下再创建一个src用于存放源码文件

$ cd package

$ mkdir hello

$ cd hello

$ mkdir src

2、在hello目录下创建Makefile,内容如下

$ cd hello/

$ vim Makefile

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=hello
PKG_VERSION=1
PKG_RELEASE:=1.0

PKG_BUILD_DIR := $(KERNEL_BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

define Package/hello
  SECTION:=utils
  CATEGORY:=hello
  TITLE:=hello
endef

define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
        $(CP) ./src/* $(PKG_BUILD_DIR)
endef

define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS)" \
                CPPFLAGS="$(TARGET_CPPFLAGS)" \
                LDFLAGS="$(TARGET_LDFLAGS)"
endef

define Package/hello/install
        $(INSTALL_DIR) $(1)/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello $(1)/bin/
endef

$(eval $(call BuildPackage,hello))

包名称:

PKG_NAME:=hello

版本:
PKG_VERSION=1            
PKG_RELEASE:=1.0

描述:

define Package/hello
  SECTION:=utils
  CATEGORY:=hello
  TITLE:=hello
endef

准备操作:

define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
        $(CP) ./src/* $(PKG_BUILD_DIR)
endef


编译操作:

define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS)" \
                CPPFLAGS="$(TARGET_CPPFLAGS)" \
                LDFLAGS="$(TARGET_LDFLAGS)"
endef


安装:

define Package/hello/install
        $(INSTALL_DIR) $(1)/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello $(1)/bin/
endef


3、进入src/目录,创建Makefile,用于编译源文件


all:
        $(CC) $(CFLAGS) hello_src.c -o hello

clean:
        rm *.o hello

4、回到根目录,使用make menuconfig配置hello模块

 $ cd openwrt/

$ make menuconfig

hello ---->

hello. hello

5、在根目录编译模块

$ cd openwrt/

$ make package/hello/compile V=s

6、变成成功后可在bin/package下看到生成的ipk包

openwrt中添加自定义应用模块_第1张图片

7、导入ipk包到设备,使用opkg安装此包

$ opkg install hello_1-1.0_mipsel_24kc.ipk

成功安装后即可运行hello

 

 

 

 

 

你可能感兴趣的:(openwrt)