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 ---->

<M> hello. hello

5、在根目錄編譯模塊

$ cd openwrt/

$ make package/hello/compile V=s

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

7、導入ipk包到設備,使用opkg安裝此包

$ opkg install hello_1-1.0_mipsel_24kc.ipk

成功安裝後即可運行hello

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章