您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么創建openwrt軟件包”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
make menuconfig選上“Build the OpenWRT SDK”,然后 Save,退出。再make一次。
make 完成之后,在 bin/ramips/ 目錄下會生成SDK的壓縮文件:
OpenWrt-SDK-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
把上面生成的OpenWrt-SDK-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2解壓到別的目錄下
其實,這里可以是任意我們想要加入的程序,庫等。這里就以helloword為例。
在任意路徑下,創建helloword項目。比如這里還是在 ~/Workspace/OpeWRT 目錄下。
$ cd ~/Workspace/OpenWRT $ mkdir helloword $ cd helloword $ touch helloword.c Makefile
在 ~/Workspace/OpenWRT/ 目錄下創建了 helloword 目錄,并生成 helloword.c與Makefile文件。
如下為 helloworld.c的內容:
#include <stdio.h> int main() { printf("This is my hello word!\n"); return 0; }
Makefile的內容:
helloworld : helloworld.o $(CC) $(LDFLAGS) helloworld.o -o helloworld helloworld.o : helloworld.c $(CC) $(CFLAGS) -c helloworld.c clean : rm *.o helloworld
自己make一下確保程序沒有問題,一定要注意tab鍵空格。
進入 OpenWrt/Packages/ 并在該目錄下創建 helloworld 目錄,并進入該目錄。
$ cd ~/Workspace/OpenWrt/OpenWrt-SDK/package $ mkdir helloworld $ cd helloworld
將我們第三步寫的程序復制到這個目錄下來,更名為src。再新建一個 Makefile 文件。
$ cp -r ../../../helloworld src $ touch Makefile
整個過程下來,package目錄結構如下:
package |-- helloworld | |-- Makefile | `-- src | |-- helloworld.c | `-- Makefile `-- Makefile
Makefile 文件如下:
include $(TOPDIR)/rules.mk PKG_NAME:=helloworld PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk define Package/helloworld SECTION:=utils CATEGORY:=Utilities TITLE:=Hello world!!! DEPENDS:=+libwebsockets +libsqlite3 +libjson-c endef define Package/helloworld/description It's my first package demo. endef define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ endef define Package/helloworld/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/sbin endef $(eval $(call BuildPackage,helloworld))
make -j1 V=s 成功了。生成了 helloworld_1_ramips_24kec.ipk。
通過WinSCP把ipk上能到openwrt根目錄下的/tmp
cd /tmp opkg install helloworld_1_ramips_24kec.ipk
用which命令查看 helloworld 安裝的路徑:
which helloworld
在 /bin/ 路徑下
cd /bin helloworld
把方法一創建helloworld文件夾復制到openwrt根目錄下的package。
make menuconfig
Utilities——》helloworld勾選上并保存退出
make -j3 V=s
如果要單獨編譯模塊:
make package/helloworld/compile make package/helloworld/install
cd /bin helloworld
把新helloworld文件替換舊hellworld文件
重新編譯
make package/helloworld/compile
在openwrt目錄的./build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/helloworld/ipkg-ramips_24kec/helloworld/bin下找到重新生成的helloworld文件,重新替換路由器/bin下面的helloworld。
“怎么創建openwrt軟件包”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。