当前位置:网站首页>openwrt目录结构

openwrt目录结构

2022-06-23 03:51:00 帅的没朋友~

一:目录结构

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

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

原网站

版权声明
本文为[帅的没朋友~]所创,转载请带上原文链接,感谢
https://blog.csdn.net/song240948380/article/details/124745052