1. 程式人生 > >openwrt下ipk生成過程及原理

openwrt下ipk生成過程及原理

大家都知道openwrt的軟體包是ipk格式的,使用opkg命令來安裝軟體包

那麼請問ipk是如何生成的?ipk檔案本質是什麼?

不過不知道也無妨,因為我們一般開發的無需知道這個,只要知道怎麼使用即可!但是。。。我蛋疼,必須追根究底的看下!

linux下生成ipk

用百度搜索基本都是沒用的,沒有人點到問題上!於是谷歌。。

標題為:How to create an ipk,著太有用了,雖然不是說openwrt上如何實現的,但是會有很多提示,也講解了ipk如何生成的。

重要的東西在最後

8. Finally: the ipk

8.1 Creating the package

Don’t try to make the ipk by hand. Use the mkipkg provided here. The script is also provided in both the cross and native sdk but it is not compatible some recent versions of tar.

mkipkg will uncover the possible errors in your control file or elsewhere. If mkipkg fails double-check your control file.

When you have a tree structure like:

Shell
12345678910111213ipkg-temp/|--CONTROL|`--control|--etc|`--foo.conf`--usr|--bin|`--foo`--share|--applications|`--foo.desktop`--pixmaps`--foo.png

just do:

Shell
1 mkipkg ipkg-temp

and the ipk will be created for you.

ok!從上面可以看出生成ipk需要的檔案和資料夾,以及需要的命令mkipkg,有興趣的同學可以在linux試試!

openwrt上ipkg的實現

那麼在openwrt的sdk裡面怎麼實現的呢,順著上面的思路,find搜尋下ipkg相關的檔案

Shell
12345678910jack@openwrtdl:~/10G/cc$find-name"*ipkg*"./feeds/luci/modules/luci-base/luasrc/model/ipkg.lua./feeds/luci/modules/luci-base/luasrc/

相關推薦

openwrtipk生成過程原理

大家都知道openwrt的軟體包是ipk格式的,使用opkg命令來安裝軟體包 那麼請問ipk是如何生成的?ipk檔案本質是什麼? 不過不知道也無妨,因為我們一般開發的無需知道這個,只要知道怎麼使用即可!但是。。。我蛋疼,必須追根究底的看下!

openwrt簡單ipk生成Makefile解釋

前言 類似的文章其實網上比較多了,我寫這個的目的: 1,網上文章良莠不齊,有些自己都沒實際動手操作,隨便複製貼上,實際操作不可行. 2,基本只講了操作,我當時最關心的Makefile檔案的解釋沒有. 所以我自己總結了一篇. 說明

GitSSHKey生成過程

one log pro .net .org wiki settings server -s 一 、設置郵箱設置Git的user name和email:$ git config --global user.name "lili"$ git config -

linux安裝libcurl過程開發遇到的問題"curl/curl.h:沒有那個檔案或目錄"缺少標頭檔案解決方法

可以從官網上下載https://curl.haxx.se/download.html,也可以命令列下載 我是從官網看的版本,複製連結,再在命令列下載 # wget https://curl.haxx.se/download/curl-7.51.0.tar.gz # tar -zvxf curl-7.

Kubernetes首個嚴重安全漏洞發現者,談發現過程原理機制

北美時間11月26日,Kubernetes爆出嚴重安全漏洞,該漏洞由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現。該漏洞CVE-2018-1002105(又名Kubernetes特權升級漏洞,https://github.com/kubernet

客戶端到伺服器端的通訊過程原理(很清晰,保證看後頓悟)

  學習任何東西,我們只要搞清楚其原理,就會觸類旁通。現在結和我所學,我想總結一下客戶端到伺服器端的通訊過程。只有明白了原理,我們才會明白當我們程式開發過程中錯誤的問題會出現在那,才會更好的解決問題。     我們首先要了解一個概念性的詞彙:Socket     sock

linux安裝libcurl過程開發遇到的問題"curl/curl.h:沒有那個檔案或目錄"缺少標頭檔案解決方法

可以從官網上下載https://curl.haxx.se/download.html,也可以命令列下載 我是從官網看的版本,複製連結,再在命令列下載 # wget https://curl.haxx.se/download/curl-7.51.0.tar.gz # tar -

【圖解HTTP】TCP/IP通訊傳輸流過程原理

上篇部落格筆記為TCP/IP的分層管理,本篇部落格為TCP/IP的通訊傳輸流,即通訊傳輸過程。 把 TCP/IP 層次化是有好處的。比如,如果網際網路只由一個協議統籌,某個地方需要改變設計時,就必須把所有部分整體替換掉。而分層之後只需把變動的層替換掉即可。把各層之間的介面部分規劃

APK 安裝過程 原理 詳解

APK為AndroidPackage的縮寫 Android應用安裝有如下四種方式: 1.系統應用安裝――開機時完成,沒有安裝介面 2.網路下載應用安裝――通過market應用完成,沒有安裝介面 3.ADB工具安裝――沒有安裝介面。 4.第

簡述TCP協議的六個標誌位和三次握手與四次揮手的過程原理

簡述TCP協議的三次握手與四次揮手的過程及原理        今天,我們來分享一下TCP協議的六個標誌位和三次握手與四次揮手的過程及原理。        先介紹一下TCP中的六個控制位,      

Android中APK安裝過程原理解析

應用安裝是智慧機的主要特點,即使用者可以把各種應用(如遊戲等)安裝到手機上,並可以對其進行解除安裝等管理操作。APK是Android Package的縮寫,即Android安裝包。APK是類似Symbian Sis或Sisx的檔案格式。通過將APK檔案直接傳到Android模擬器或Android手機中執行即可

dns工作過程原理 (linux dnsandroid dan的實現差異)

前言 本文分析dns工作過程及原理,給一個簡單的dns實現程式碼流程,並針對linux及android 下實現dns的不同,分別分析,供學習dns參考。 一、DNS功能 DNS(Domain Name System,域名系統),dns用於進行域名解

linux安裝libcurl過程開發遇到的問題"curl/curl.h:沒有那個檔案或目錄"

我是從官網看的版本,複製連結,再在命令列下載 # tar -zvxf curl-7.51.0.tar.gz # cd curl-7.51.0/ # ./configure -prefix=/usr/local/curl # make # make insta

【Spring】——事務實現過程原理

1、Spring中事務處理的作用: Spring事務處理,是將事務處理的工作統一起來,併為事務處理提供通用的支援。 2、工作原理及實現 a、劃分處理單元——IOC 由於spring解決的問

Mac安裝JDK過程相關Mac命令備忘

參考網址:http://blog.chinaunix.net/uid-14735472-id-3190130.html http://kennylee26.iteye.com/blog/1772638 http://blog.csdn.net/fengmoon/artic

3D繪圖過程原理簡介

Standard Primitives(標準幾何體) 在建立命令面板的Geometry(幾何體)物件型別中有如下幾個次級分類專案: · Standard Primitives(標準幾何體):相對簡單的幾何體,如立方體、球體和錐體等。 · Extended Primitive

動圖+原始碼,演示Java中常用資料結構執行過程原理

最近在整理資料結構方面的知識, 系統化看了下Java中常用資料結構, 突發奇想用動畫來繪製資料流轉過程. 主要基於jdk8, 可能會有些特性與jdk7之前不相同, 例如LinkedList LinkedHashMap中的雙向列表不再是迴環的. HashMap中的單鏈表是尾插, 而不是頭插入等等, 後文不再贅敘

RSA-演變過程原理、特點(加解密簽名)公鑰私鑰的生成

本篇是iOS逆向開發總結的第一篇文章,是關於iOS密碼學的相關技術分析和總結,希望對大家有所幫助,如果有錯誤地方歡迎指正。 一、前言 密碼學的歷史追溯到2000年前,相傳古羅馬凱撒大帝為了防止敵方截獲情報,用密碼傳送情報。凱撒大帝的做法比較簡單,通過對二十幾個羅馬字母表建立一張對應的表格,這樣如果不知道密碼,

mac系統nginx的詳細安裝過程使用(適合新手)

介紹nginx,nginx配置說明,nginx安裝過程,Homebrew安裝及說明,nginx安裝及說明,nginx啟動,重啟,關閉,nginx出錯解決辦法,nginx常用指令及修改 目錄結構       · 前置條件:介紹nginx   &nbs

Go:windowsgo環境搭建IDE安裝過程

直接 mage download www 添加 系列 del 安裝包 目錄 /** * @Description windows下go環境搭建及IDE安裝過程 * @author ranx * @date 2018年11月23日 上午9:05:20 * */  一直都