openwrt目錄結構說明
1. bin
bin目錄存放的是一些輸出檔案,主要是存放openwrt編譯好的開發環境,比如toolchain, sdk,image製作工具,還存放一些package安裝包(ipk包),
openwrt-imagebuilder-bcm53xx.linux-x86_64.tar.bz2
openwrt-sdk-bcm53xx_gcc-4.8-linaro_uclibc-0.9.33.2_eabi.linux-x86_64.tar.bz2
openwrt-toolchain-bcm53xx_gcc-4.8-linaro_uclibc-0.9.33.2_eabi.linux-x86_64.tar.bz2
目錄bin/bcm53xx/packages/主要包含下面四個子目錄
base:
存放的是一些基礎的軟體安裝包;
leadlcore:
存放的是聯芯自定義的一些軟體安裝包;
luci:
存放的是一些ui相關的軟體安裝包
packages:
存放的是一些通用的軟體安裝包
2. build_dir
build_dir存放的是一些軟體原始碼目錄,解壓縮後的程式原始碼均放在該目錄,build_dir存在三個目錄分別如下:
host子目錄:
host子目錄下存放的是開機系統需要的一些工具或程式,比如automake, autoconf, flex, sison, gettext,libtool等
target-arm_cortex-a9_uclibc-0.9.33.2_eabi子目錄:
該目錄下存放的是用過feeds install安裝或者使用者自定義的一些程式比如samba, vsftpd,hostapd,dbus, iperf等等
toolchain-arm_cortex-a9_gcc-4.8-linaro_uclibc-0.9.33.2_eabi子目錄:
該目錄存放的是編譯toolchain所需的一些原始碼包,比如linux核心目錄, binutils原始碼包,gcc原始碼包;
3. config
該目錄存放的是一些配置檔案
config-build.in
config-devel.in
config-images.in
config-kernel.in
4. dl
5. docs
文件目錄,目前此目錄下存放的也是**,需要使用latex編譯輸出pdf後才可以閱讀;
6. feeds
相關資源存放目錄;
7. include
該目錄存放的是編譯時所需要的一些通用的makefile指令碼;
編譯時會include到該目錄中的makefile指令碼
8. logs
9. package
顧名思義該目錄與軟體包有關係,package目錄存放的軟體包或者程式的配置檔案,所有程式或者軟體均會被分門別類的存放在package目錄下,子目錄列表如下
base-files boot devel feeds firmware kernel libs makefile network system utils
再以網路相關的程式為例進行說明,network子目錄下又包含如下目錄
config
配置相關的程式或者軟體,比如firewall
ipv6
ipv6協議相關的資料
services
網路服務相關的軟體或者程式,比如hostapd, samba, odhcpd等等
utils
存放的是網路除錯相關的一些工具,比如iperf, iw, tcpdump,等等
對於某乙個指定的軟體包目錄,內部主要包含兩個檔案,
最後乙個是files目錄,
該目錄存放的是此程式的預設配置檔案;
說明:makefile是必須具備的檔案,而patch和file目錄並非必選項,根據軟體情況可有可無
10. scripts
該目錄存放的是一些程式的指令碼,
使用者可以通過./script/feeds search/install 進行搜尋或者安裝相關軟體;
11. staging_dir
stage_dir目錄存放的子目錄如下:
host
目前字母存放的輸出檔案為x86格式的,暫不清楚具體作用;
target-arm_cortex-a9_uclibc-0.9.33.2_eabi
該子目錄主要存放的是編譯出來的根檔案系統,即rootfs
toolchain-arm_cortex-a9_gcc-4.8-linaro_uclibc-0.9.33.2_eabi
該子目錄存放的是編譯好的toolchain目錄樹,
12. target
13. tmp
14. toolchain
openwrt編譯toolchain時依賴的makefile以及配置檔案存放目錄;
15. tools
tools目錄類似於packages目錄,只不過該目錄存放的是系統必須的一些程式或者軟體的配置檔案目錄;
OpenWrt 目錄結構
tool和toolchain目錄 是編譯韌體image,獲取核心標頭檔案,二進位制編譯器和偵錯程式,c庫檔案,需要用到的通用工具。include目錄 編譯時的標頭檔案索引,是一些編譯用的通用指令碼和include巨集定義。比較重要的包括package.mk檔案 幾乎每個package目錄中的模組的m...
OpenWrt原始碼目錄結構
tools和toolchain目錄 包含了一些通用命令,用來生成韌體,編譯器,和c庫.build dir host目錄 是乙個臨時目錄,用來儲存不依賴於目標平台的工具.build dir toolchain 目錄 用來儲存依賴於指定平台的編譯鏈.只是編譯檔案存放目錄無需修改.build dir ta...
OpenWrt目錄結構及編譯過程
openwrt 有8個固定的頂層目錄以及7個編譯時建立的臨時目錄 docs docs目錄。用於存放開發文件,編譯時不需要。包含了整個宿主機的檔案原始碼的介紹,裡面還有makefile為目標系統生成docs.使用make c docs 可以為目標系統生成文件.target 針對不同的平台有不同的 特性...