openWRT自學---針對backfire版本的主要目錄和文件的作用的分析整理

特別說明:要編譯backfire版本,一定要通過svn下載:svn co svn://svn.openwrt.org/openwrt/branches/backfire,而不能使用http://downloads.openwrt.org/backfire/10.03/中的源碼包:backfire_10.03_source.tar.bz2

結合文檔《OpenWrt_Dev_Tutorial.pdf》以及自己實際編譯backfire的分析,得出如下結論:

基于backfire-10.03版本,在make之后,得到的目錄組成為:

bin目錄:make之后的新增目錄,用來存放make的結果。比如我是用來編譯BRCM47xx的,則此目錄中會有:brcm47xx子目錄,其中又包含:packages子目錄(里面含有各種.ipk文件,以及一個Packages文件用來介紹此目錄中的每個ipk文件)和可以燒入CPE的openwrt-brcm47xx-squashfs.trx文件。 疑問是:我只是編譯了BRCM47xx,為何bin目錄下還有類似:openwrt-wrt54g3gv2-vf-squashfs.bin這類的文件?

?

build_dir目錄:make之后的新增目錄。where all user--‐space tools will be cross--‐compiled. 從名字可以看出,此目錄是用來進行編譯的場所。這里面所包含的所有內容,都是dl目錄下所存放的源碼包解壓縮并編譯的結果。那么可以得出結論:dl里面下載的源碼包受feeds.conf.default和package目錄中各個子目錄的Makefile控制,而真正要被編譯的就被放到build_dir目錄中解壓縮并進行編譯。--- 那么,應該也可以得出結論:如果不想下載,而想直接編譯源碼包,那就把源碼包放到build_dir目錄中就可以了。只是此目錄中,根據dl目錄下各個源碼壓縮包的歸屬性質,將它們分為四個子目錄進行存放和編譯:
??? host目錄:存放與目標對象無關的源碼包,并編譯之。當然,還有一些目錄在dl中找不到對應項(比如:firmware-utils,patch-cmdline等等,這些從哪里來的?待查)
??? linux-brcm47xx目錄:與linux內核版本有關的源碼包并編譯之。這里面還包含了linux內核:linux-2.6.32.10
??? target-mipsel_uClibc-0.9.30.1目錄:與目標設備有關的源碼包的編譯結果。
??? toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1目錄:存放用于特定目標的體系結構的工具鏈目錄。此目錄中包含有:binutils,gcc,uClibc,甚至還有linux內核(而且是源文件,沒有編譯過的;為何這里再次重復出現?)dl目錄:即download目錄。也是make之后的新增目錄。里面是根據package目錄或者feeds.conf.default文件要求,在make的時候從網絡上下載的源碼包

?

docs目錄:源碼包就有的。即文檔。這個也是需要編譯的。

feeds目錄:make之后的新增目錄。里面存放的就是按照feeds.conf.default文件中列舉的要處理的文件,所展開得到的目錄。目錄中存放的東西,和package目錄中大致相似。指導如何下載和編譯對應模塊的。

include目錄:源碼包就有。是一些編譯用的通用腳本和include宏定義。比較重要的包括:package.mk文件(幾乎每個package目錄中的模塊的makefile中都提到它)

package目錄:源碼包就有。里面是隨openwrt主版本就提供的包。除了用戶態的N多模塊外,還有kernel目錄,用來定義內核模塊。---疑問:linux內核是在哪個目錄中指定下載的?

scripts目錄:源碼包就有。存放各類腳本的目錄。比如:feeds腳本,使用.scripts/feeds update -a或者.scripts/feeds install -a,就可以對feeds.conf.default中列舉的文件進行處理了。

staging_dir目錄:make之后的新增目錄。where the cross--‐compilation tools will be installed. 我猜測此目錄的作用是:build_dir是編譯的地方,那么這里就是把build_dir的結果放在了staging_dir目錄了---待確認

target目錄:源碼包就有的。用來指導如何編譯firmware和內核,以及sdk的

tmp目錄:操作make menuconfig后產生的臨時目錄

toolchain目錄:源碼包就有的。指導如何下載,編譯toolchain的

tools目錄:源碼包就有的。指導如何下載,編譯tools的

BSDmakefile文件:

Config.in文件:

feeds.conf.default文件:feeds下載的指導文件

LICENSE文件:

Makefile文件:make命令的總入口

README文件:

rules.mk文件:定義了一系列在make時使用的規則

.config隱藏文件:make menuconfig后的config結果的存放文件。

.config.old隱藏文件:

.gitignore隱藏文件:

轉載于:https://www.cnblogs.com/lagujw/p/3662829.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258723.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258723.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258723.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自然語言交流系統 phxnet團隊 創新實訓 項目博客 (五)

3DMax方面所涉及的專業知識: (1)一下的關于3DMax中對于人物的設計和操作均需要在對3DMax基礎知識熟練掌握的情況下進行的。 (2)骨骼架設:首先對導入到3DMax中的人物模型進行架設骨骼…

linux 安裝python-opencv

三種方法: 1. pip 安裝 : pip install opencv-python ,最新版為opencv3安裝后>>> import cv2 >>> print cv2.__version__參考:http://www.cnblogs.com/lclblack/p/6377710.html 2. anaconda的conda安裝 ,可以指…

《你的燈亮著嗎》讀書筆記Ⅲ

轉載于:https://www.cnblogs.com/yue3475975/p/4586220.html

golang協程測試

package main import ( "fmt" "time") const NUMBER 1000000 func test() { for { }} func main() { fmt.Println(time.Now().UnixNano()) for i : 0; i < NUMBER; i { go test() } fmt.Println(time.Now().UnixNano()) for { }} 啟動100W個協程&#…

nvidia顯卡對比分析

本文章轉載自&#xff1a;http://www.cnblogs.com/lijingcong/p/4958617.html 科學計算顯卡的兩個主要性能指標&#xff1a;1、CUDA compute capability&#xff0c;這是英偉達公司對顯卡計算能力的一個衡量指標&#xff1b;2、FLOPS 每秒浮點運算次數&#xff0c;TFLOPS表示每…

零基礎不建議學前端_web前端開發零基礎怎樣入門-哈爾濱前端學習

web前端開發零基礎怎樣入門-哈爾濱前端學習&#xff0c;俗話說&#xff0c;知己知彼&#xff0c;百戰百勝。要想學好web前端&#xff0c;首先要了解什么是web前端&#xff0c;下面由小編來給大家介紹一下&#xff1a;1什么是web&#xff1f;Web就是在Http協議基礎之上, 利用瀏覽…

描述項目的典型用戶與場景

描述項目的典型用戶與場景 名字&#xff1a;小威 年齡&#xff1a;22 職業&#xff1a;學生 收入&#xff1a;無正式收入 知識層次和能力&#xff1a;大學 生活/工作情況&#xff1a;賣東西賺外快 動機&#xff0c;目的&#xff0c;困難&#xff1a;賣東西東西時需要計數 用戶比…

SpringBoot的配置項

2019獨角獸企業重金招聘Python工程師標準>>> spring Boot 其默認是集成web容器的&#xff0c;啟動方式由像普通Java程序一樣&#xff0c;main函數入口啟動。其內置Tomcat容器或Jetty容器&#xff0c;具體由配置來決定&#xff08;默認Tomcat&#xff09;。當然你也可…

北大OJ百練——4075:矩陣旋轉(C語言)

百練的這道題很簡單&#xff0c;通過率也達到了86%&#xff0c;所以我也就來貼個代碼了。。。下面是題目&#xff1a; 不過還是說一下我的思路&#xff1a; 這道題對一個新來說&#xff0c;可能是會和矩陣的轉置相混淆&#xff0c;這題并不是要我們去求矩陣的轉置。 這題&#…

編譯py-faster-rcnn全過程

編譯py-faster-rcnn&#xff0c;花費了好幾天&#xff0c;中間遇到好多問題&#xff0c;今天終于成功編譯。下面詳述我的整個編譯過程。 【注記&#xff1a;】其實下面的依賴庫可以安裝在統一的一個本地目錄下&#xff0c;相關安裝指南&#xff0c;可以參考《深度學習&#xf…

翻譯python語言命令_有道詞典命令行快速翻譯,Python編程的利器

本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。以下文章來源于Python實用寶典&#xff0c;作者Python實用寶典在編程時經常會遇到需要將中文詞匯翻譯成英文的情況。比如變量名的定義、取一個合適的函數…

不是世界不好,而是你見得太少

轉載于:https://www.cnblogs.com/yymn/p/4590333.html

MonoBehaviour.FixedUpdate 固定更新

function FixedUpdate () : void Description描述 This function is called every fixed framerate frame, if the MonoBehaviour is enabled. 當MonoBehaviour啟用時&#xff0c;其 FixedUpdate 在每一幀被調用。 FixedUpdate should be used instead of Update when dealing …

用Heartbeat實現web服務器高可用

用Heartbeat實現web服務器高可用heartbeat概述: Heartbeat 項目是 Linux-HA 工程的一個組成部分&#xff0c;它實現了一個高可用集群系統。心跳服務和集群通信是高可用集群的兩個關鍵組件&#xff0c;在 Heartbeat 項目里&#xff0c;由 heartbeat 模塊實現了這兩個功能。端口號…

scp創建遠程目錄_在Linux系統中使用Vim讀寫遠程文件

大家好&#xff0c;我是良許。 今天我們討論一個 Vim 使用技巧——用 Vim 讀寫遠程文件。要實現這個目的&#xff0c;我們需要使用到一個叫 netrw.vim 的插件。從 Vim 7.x 開始&#xff0c;netrw.vim 就被設置為默認安裝的標準插件了。這個插件允許用戶通過 ftp、rcp、scp、htt…

softmax logistic loss詳解

softmax函數–softmax layer softmax用于多分類過程中&#xff0c;它將多個神經元的輸出&#xff0c;映射到&#xff08;0,1&#xff09;區間內&#xff0c;可以看成概率來理解&#xff0c;從而來進行多分類&#xff01; 假設我們有一個數組z(z1,z2,...zm),則其softmax函數定…

poj3254 Corn Fields

Description Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettably, some of the squares are infertile and ca…

Android獲取程序路徑 (/data/data/appname)

Android獲取文件夾路徑 /data/data/ http://www.2cto.com/kf/201301/186614.html String printTxtPath getApplicationContext().getPackageResourcePath() "/files/" fileName;> /data/app/com.example.fileoperation-2.apk/files/printMenu.txt String print…

javascript做極簡時鐘特效,再簡單沒思路你也做不出來

點擊查看時鐘特效極簡主義&#xff0c;程序員javascript打造極簡時鐘特效對于javascript特效的學習&#xff0c;重要的是邏輯思路&#xff0c;所以這個時鐘特效不是很華麗&#xff0c;但是功能都展現出來了&#xff0c;而學習javascript并不是單純的扣代碼&#xff0c;很多人都…

ubuntu中怎么打開python_如何在Linux Ubuntu 16.04下安裝及打開PyCharm

下載安裝 PyCharm下載好的文件的名稱可能是 ‘pycharm-community-2017.2.3.tar.gz’首先打開終端&#xff0c;然后通過下面的命令進入下載文件所在的文件夾&#xff1a;cd ~/Downloads或者如果文件夾是中文cd ~/下載然后&#xff0c;通過運行下面的命令找到你下載的文件的名字&…