openwrt鎬庝箞缂栬瘧鑷繁鐨勮蒋浠跺寘
瑕佺紪璇戣嚜宸辩殑杞欢鍖咃紝浣犲彲浠ユ寜鐓т互涓嬫楠よ繘琛屾搷浣滐細
-
棣栧厛锛岀‘淇濆凡缁忓畨瑁呬簡OpenWrt鐨勭紪璇戠幆澧冦€傚鏋滄病鏈夊畨瑁咃紝璇锋寜鐓penWrt瀹樻柟缃戠珯鎻愪緵鐨勬寚鍗楄繘琛屽畨瑁呫€?/p>
-
鍦∣penWrt鐨勬簮浠g爜鐩綍涓嬶紝鎵惧埌
feeds.conf.default
鏂囦欢锛屽苟灏嗕互涓嬪唴瀹规坊鍔犲埌鏂囦欢鏈熬锛堝鏋滃凡缁忓瓨鍦紝璇疯烦杩囨姝ラ锛夛細
src-git mypackages https://github.com/your-username/your-repo.git
鍏朵腑your-username/your-repo.git
鏄綘鐨勮蒋浠跺寘浠g爜瀛樺偍搴撶殑git URL銆?/p>
- 杩愯浠ヤ笅鍛戒护鏇存柊杞欢鍖呭垪琛細
./scripts/feeds update mypackages
- 杩愯浠ヤ笅鍛戒护瀹夎杞欢鍖咃細
./scripts/feeds install -a -p mypackages
- 杩涘叆
package
鐩綍锛屽苟鍒涘缓涓€涓柊鐨勫瓙鐩綍鏉ュ瓨鏀句綘鐨勮蒋浠跺寘锛屼緥濡傦細
cd package
mkdir mypackage
-
灏嗕綘鐨勮蒋浠跺寘婧愪唬鐮佸鍒跺埌鏂板垱寤虹殑瀛愮洰褰曚腑銆?/p>
-
鍦ㄦ柊鍒涘缓鐨勫瓙鐩綍涓紝鍒涘缓涓€涓悕涓?code>Makefile鐨勬枃浠讹紝骞跺湪鍏朵腑娣诲姞浠ヤ笅鍐呭锛?/p>
include $(TOPDIR)/rules.mk
PKG_NAME:=mypackage
PKG_VERSION:=1.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/your-username/your-repo.git
PKG_SOURCE_VERSION:=master
include $(INCLUDE_DIR)/package.mk
define Package/mypackage
SECTION:=utils
CATEGORY:=Utilities
TITLE:=My Package
DEPENDS:=+libopenssl +libcurl
endef
define Package/mypackage/description
This is my custom package.
endef
define Build/Prepare
endef
define Build/Compile
endef
define Package/mypackage/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mybinary $(1)/usr/bin/
endef
$(eval $(call BuildPackage,mypackage))
娉ㄦ剰鏇挎崲PKG_NAME
銆?code>PKG_VERSION銆?code>PKG_RELEASE銆?code>PKG_SOURCE_URL鍜?code>DEPENDS绛夊彉閲忕殑鍊硷紝浠ラ€傚簲浣犵殑杞欢鍖呫€?/p>
- 杩斿洖鍒癘penWrt婧愪唬鐮佺洰褰曪紝骞惰繍琛屼互涓嬪懡浠ゆ潵閰嶇疆缂栬瘧閫夐」锛?/li>
make menuconfig
鍦ㄨ彍鍗曚腑鎵惧埌浣犵殑杞欢鍖呭苟閫夋嫨瀹冿紝鐒跺悗淇濆瓨骞堕€€鍑恒€?/p>
- 杩愯浠ヤ笅鍛戒护寮€濮嬬紪璇慜penWrt鍜屼綘鐨勮蒋浠跺寘锛?/li>
make -j8
鍏朵腑-j8
琛ㄧず骞跺彂缂栬瘧鐨勭嚎绋嬫暟锛屼綘鍙互鏍规嵁浣犵殑绯荤粺閰嶇疆杩涜璋冩暣銆?/p>
- 缂栬瘧瀹屾垚鍚庯紝鍦?code>bin鐩綍涓彲浠ユ壘鍒扮敓鎴愮殑鍥轰欢锛?code>.bin鏂囦欢锛夛紝浣犱篃鍙互鍦?code>staging_dir鐩綍涓壘鍒颁氦鍙夌紪璇戠殑杞欢鍖呫€?/li>
浠ヤ笂鏄娇鐢∣penWrt缂栬瘧鑷繁鐨勮蒋浠跺寘鐨勫熀鏈楠ゃ€備綘鍙互鏍规嵁鑷繁鐨勯渶瑕佽繘琛岃繘涓€姝ュ畾鍒跺拰璋冩暣銆?/p>