**:
首先進入原始碼包根目錄裡的package 建立個資料夾 自己起個名字
然後進入那個資料夾 建立makefile
注意: 一定要用linux文字編輯器建立 否則不認 或者用ultraedit轉換成unix換行符
檔案內容: (方括號為需要自己修改的內容)
include $(topdir)/rules.mk
pkg_name:=[軟體包名字 和資料夾名稱一樣]
pkg_version:=[軟體包版本 自己寫個]
pkg_release:=1
pkg_build_dir := $(build_dir)/$(pkg_name)
include $(include_dir)/package.mk
define package/$(pkg_name)
section:=utils
category:=[軟體包在menuconfig裡的位置 比如base system]
depends:=[依賴包 兩個之間通過空格分隔 前面加+為預設顯示 選中該軟體包自動選中依賴包 不加+為預設不顯示 選中依賴包才顯示]
title:=[標題]
pkgarch:=[平台 比如ar71xx 全部寫all]
maintainer:=[作者]
endef
define package/$(pkg_name)/description
[軟體包簡介]
endef
define build/prepare
endef
define build/configure
endef
define build/compile
endef
define package/$(pkg_name)/conffiles
[公升級時保留檔案/備份時備份檔案 乙個檔案一行]
endef
define package/$(pkg_name)/install
$(cp) ./files/* $(1)/
[安裝(編譯)時執行的指令碼 記得加上#!/bin/sh 沒有就空著]
endef
define package/$(pkg_name)/preinst
[安裝前執行的指令碼 記得加上#!/bin/sh 沒有就空著]
endef
define package/$(pkg_name)/postinst
[安裝後執行的指令碼 記得加上#!/bin/sh 沒有就空著]
endef
package/$(pkg_name)/prerm
[刪除前執行的指令碼 記得加上#!/bin/sh 沒有就空著]
endef
package/$(pkg_name)/postrm
[刪除後執行的指令碼 記得加上#!/bin/sh 沒有就空著]
endef
$(eval $(call buildpackage,$(pkg_name)))
複製**
然後在資料夾裡新建個files資料夾 把需要整合的東西一起扔進去(把files當作路由根目錄
注意如果檔案有衝突需要在安裝前指令碼裡加入刪除命令
)ok 這樣就好了 進menuconfig選中軟體包編譯就行了 ipk在原始碼包根目錄的bin/[系列]/packages裡
附: 安裝前/後 刪除前/後的指令碼裡請用變數 如: $(cp) $(rm) 根目錄表示為$(1)
OpenWrt編譯軟體包
首先需要在虛擬機器上搭建好openwrt環境,具體可見我的另一篇文章 openwrt環境搭建和編譯過程 當然少數時候也需要我們自己進行編譯。我這邊以編譯snort nids 為例,列出編譯軟體包的步驟 編譯好交叉工具鏈的前提下 1 進入到openwrt主目錄。2 輸入如下命令 scripts fee...
openwrt之新增OpenWrt軟體包概述
新增軟體包 makefile引入檔案 openwrt 使用三個 makefile 的子檔案,分別為 include topdir rules.mk include include dir kernel.mk include include dir package.mk 由這些 makefile 子檔...
OpenWrt增加軟體包方法
更多參考 openwrt是乙個比較完善的嵌入式linux開發平台,在無線路由器應用上已有100多個軟體包。人們可以在其基礎上增加軟體包,以擴大其應用範圍。openwrt在增加軟體方面使用極其方便,按照openwrt的約定就可以很簡單完成。1 引入檔案 openwrt使用三個makefile的子檔案,...