2024年4月2日发(作者:)
openwrt增加软件包及内核模块总结
openwrt增加软件包及内核模块总结
------ by flb 2016.8.17
一、openwrt的目录结构
上图为openwrt的目录结构,其中第一行为原始目录,第二行是编译过程中生成的目
录。各目录的作用如下:
tools:编译时需要一些工具, tools里包含了获取和编译这些工具的命令。里
面是一些Makefile,有的可能还有patch。每个Makefile里都有一句 $(eval $(call
HostBuild)),表示编译这个工具是为了在主机上使用的。
toolchain:包含一些命令去获取kernel headers, C library, bin-utils,
compiler, debugger。
target:各平台在这个目录里定义了firmware和kernel的编译过程。 package:包
含针对各个软件包的Makefile。openwrt定义了一套Makefile模板,
各软件参照这个模板定义了自己的信息,如软件包的版本、下载地址、编译方式、安
装地址等,用户可在该目录下增加自己的软件包。
include:openwrt的Makefile,mk都存放在这里。 scripts:一些per脚本,用于
软件包管理。
dl:软件包下载后都放到这个目录里。
build_dir:软件包都解压到build_dir中,然后在此编译。
staging_dir:最终安装目录。tools,toolchain被安装到这里,rootfs也会放
在这里。
feeds:
bin:编译完成后,firmware和各ipk会放到此目录下。
二、增加应用层软件模块软件包
加入的软件包可以是网上下载的开源软件或自行开发的软件。若需增加一个应用层软
件,则需要在package目录下创建一个目录,以包含软件包的各种信息和与openwrt建
立联系文件。openwrt有其Makefile模版,使之能方便的增加软件包;建立一个软件包
不需要太多工作,大部分工作都隐藏在其它的makefile中,编写工作被抽象成对几个变量
的赋值。编写的规则如下。 1、引入文件
openwrt使用三个makefile的子文件,分别为: include $(TOPDIR)/
include $(*****_DIR)/ include $(*****_DIR)/


发布评论