OpenWrt目录结构简介

来源:互联网 发布:手机淘宝寄快递在哪里 编辑:程序博客网 时间:2024/05/16 16:06
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

软件源码包download目录,通过网络下载软件包(*.tar.bz2, *.tar.gz)均存放在此目录,一般编译某个软件时会从此目录找对应的软件源码包,然后解压到指定的源码目录中;
如果此目录没有对应软件的源码包,则根据此软件Makefile文件中指定的网络地址去下载,下载好的软件包会自动存放在该目录;

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,等等

对于某一个指定的软件包目录,内部主要包含两个文件,
一个是Makefile,内部包含着软件的名字和版本,以及下载该软件包服务器网络地址;
另一个是patch目录,下载好对应版本的软件包后,打上对应的patch;
最后一个是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目录,只不过该目录存放的是系统必须的一些程序或者软件的配置文件目录;

0 0
原创粉丝点击