openwrt目录结构

本文详细介绍了OpenWrt的目录结构,包括build_dir、host、target和staging_dir等,阐述了各部分的作用和编译过程。同时,提到了内核patch的重要性和文件系统自动内置文件的构成,为读者理解OpenWrt的构建和定制提供了清晰的指南。
摘要由CSDN通过智能技术生成

一:目录结构

openwrt目录结构

  1. build_dir
    这是一个中间文件夹,所有代码都会拷到其中编译,代码在编译之前会拷贝一份到此目录中。为什么要拷贝呢?一个原因就是编译过程中OpenWrt可能会对其中一些代码和makefile作改动,为了安全起见,对副本进行编译。
    其目录内容和staging_dir一模一样,staging_dir就是build_dir中代码的编译结果。
    • host:
      和平台无关的一些工具、库代码
    • target-arm_cortex-a7+neon-vfpv4_musl-1.1.16_eabi:
      工具链源码
    • toolchain-arm_cortex-a7+neon-vfpv4_gcc-5.4.0_musl-1.1.16_eabi:
      和平台有关的代码,其中是一些代码包,packge中的代码包很多都会拷贝到此目录编译,自己添加的代码包也应拷贝至此目录
  2. staging_dir
    目录保存工具、内核等所有代码的编译结果。
    • host:
      文件夹是和平台无关的一些生成物。
    • target-arm_cortex-a7+neon-vfpv4_musl-1.1.16_eabi:
      根据我们所选平台和芯片产生的,对应平台的编译结果。例如对应平台的库文件和头文件。
    • toolchain-arm_cortex-a7+neon-vfpv4_gcc-5.4.0_glibc-2.24_eabi:
      根据所选平台生成的交叉编译工具链及库文件。
  3. dl
    dl为源代码下载目录,在编译过程中下载的源代码包都会保存在此文件夹下
  4. feeds
  5. files
  6. package
    此目录主要存放OpenWrt的软件包,我们自己添加的应用层代码都应存放于此文件夹,代码包存放于此文件夹并编写相应的Makefile后,在编译过程中OpenWrt会自主识别并编译。
    package下的目录会根据配置的不同而不同,其中基本都是openwrt的一些应用工具包,比如utils就是一引起工具集,ls,ssh等工具的源码都在此目录下
  7. target
    target目录下主要是和平台有关的代码,最主要的是linux文件夹。如下图:
    target/linux
    可以看到每一个平台都对应一个文件夹,通过"make menuconfig"选择平台和芯片时就是对应的此文件夹:
    target/linux/ramips
    可以看到里面有多种芯片型号,此中的image是最终生成固件时会调用到的,在这里可以对我们的固件做部分定制,patches是一些补丁包。base-files中的目录和linux目录相对应,很多地方都有这个文件夹。
  8. tool
    工具集
    openwrt/tools
  9. include
    include
    顶层通用Makefile,其它Makefile包含的Makefile都可以在这找到。
  10. scripts
    脚本工具

二:内核patch

三:文件系统自动内置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值