02_openWRT环境浅要分析

本文档详细介绍了Lantiq CPE软件组件Universal Gateway(UGW)Release 6.1.1的环境分析,包括UGW的主目录结构、编译过程、make menuconfig操作及其影响。着重讲解了UGW环境的常用目录、编译流程,以及如何使用make menuconfig进行配置。此外,还涉及到了BusyBox等关键包的编译与安装步骤。
摘要由CSDN通过智能技术生成

/*****************************************************************************************************************

  

                                                       Document Author : ELvins Fu

                                           Digtal technology park, A3 -06 , shenzhen, China   

                                                                             

      *************************************************************************************************************

      Module : Unversion Gateway Application 

      Software Version : 6.1.1

      Date : 2015-2016

      Description: the document include the envrionment introduction by special needs.

                      

********************************************************************************************************************/  

 

 

驱动环境浅要说明

                                                

Version :0.1

 

简 介

本文档适用于Lantiq’s CPE 软件软件组件Universal Gateway(UGW)Release 6.1.1 版本的环境分析,对于其他类似环境有这参考的价值,对于其他环境也可以参照本环境进行分析。

 

注意:UGW的工程不要以root权限编译,后续可能出现不能解决的问题,如果想要加执行权限,那么可以不改变它的目录。最好放在用户主目录ubuntu下面。

 

一:UGW 6.1.1的环境

  1. UGW的主目录:(make 之后)

 

 

2、常用的目录分析:

dl

    这个文件夹包含所有压缩文件格式的软件组件。一般来说,OpenWRT从互联网下载压缩包,但所有需要编译的包默认打包在dl文件夹下。

Tools

    这个文件夹包含的工具:主机实用程序,文件系统管理,压缩等。

Toolchain

    编译器工具链是指,C库和常用工具用于构建图像。

Package

    每个软件组件包文件夹包含一个目录(包)。每个软件组件有一个Makefile,包目录下有用户空间和内核空间。开源组件的版本不同于标准OpenWrt 12.09版本(例如,busybox,iptables,等等),纯Lantiq包(例如:devm、mapi oam等)保存在源文件夹。

Config

    配置文件夹包含默认模型支持UGW-6.1.1发行版本 。

Package

目标文件夹包含特定于一个特定的嵌入式平台项目。特别注意的是“target/ linux /”目录,由平台和分解包含内核配置和补丁为特定平台的内核。Lantiq CPE统一驱动可以位于文件夹——“target/ linux / Lantiq /files”。增强和优化的Lantiq软件在标准3.10内核中,它可以访问“target- 3.10 / / linux / Lantiq /patches”。

 

3、make(编译)解压过程分析

 

开始解压 dl/--->build_dir/。随后编译系统应用补丁、配置和编译代码库。编译镜像在bin / lantiq / <module> /文件中生成 。

 

压缩包                  dl/--->build_dir/  

 

注意:以下的包是解压之后的路径

 

用户空间包             build_dir/target-mips_r2_uClibc-0.9.33.2_<model-name>/  

 

包所使用内核信息     build_dir/linux_lantiq_<model-name>/.  

主机实体程序          build_dir/host/.              

工具链                  build_dir/toolchain_<arch>_<gcc_version>_uClibc<version>/工具链加载      staging_dir/toolchain_<arch>_<gcc_version>_uClibc<version>/bin/

 应用补丁        target/linux/lantiq/patches-3.10/ 解压到 build_dir/linux_lantiq_<model-name>/. 

 

根文件系统            build_dir/target-mips_r2_uClibc-0.9.33.2/root-lantiq/.

 

The U-boot, kernel, 用户空间镜像,在 bin/lantiq/<model-name>/目录下产生。

 

4、make menuconfig操作

以下说明make menuconfig中的操作:

  --在menuconfig屏幕导航控件:

 

  --使用箭头键在菜单导航。

 

  --单击选择或按Enter键展开子菜单。

 

  --按每个选项高亮显示的字母直接跳转到该选项。

 

  --在构建包括一个选项,按y完全禁用的选项,按N。

 

  --交替使用空格键切换*或M和N。

 

  --点击退出退出形式menuconfig控制台。

 

  --点击帮助关于特定选项的更多细节。

 

 按“/”键将搜索关键字   (这个查找起来很方便)  

 

 

Make menuconfigure的界面信息

 

菜单中的选项分析:

 

Target

直接目标类型映射到子文件夹名称的内部存在目标/文件夹。唯一可用的目标是“英飞凌CPE / Linux?/ lantiq映射到目标。

Subtarget

目标的子目标提供了特定的硬件的家族。

Target Profile

特定的配置称为概要文件。唯一可用的概要文件是“通用的”

Target Images

类型的目标镜像指定格式的镜像。

 

ramdisk           Embeds the root file system in kernel (ini

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 下载SDK 首先需要从OpenWrt官网下载SDK。选择与路由器硬件平台对应的SDK,例如:如果你的路由器是MT7620A芯片,则需要下载MT7620A SDK。 2. 解压SDK 将下载的SDK解压到任意目录下,例如:/opt/mt7620a_sdk。 3. 进入SDK目录 打开终端,进入SDK目录,例如:cd /opt/mt7620a_sdk。 4. 配置SDK 执行make menuconfig命令,进入SDK配置界面,进行以下配置: - Target System: 选择路由器的芯片类型,例如:MediaTek Ralink MIPS - Target Profile: 选择路由器的型号,例如:MT7620A based boards - Target Images: 选择编译软件包的目标平台,例如:ramips/mt7620a 5. 添加软件包源 执行以下命令,添加软件包源: echo "src/gz openwrt_custom http://openwrt.inkworm.com/chaos_calmer/15.05/mt7620a/packages/custom" >> /etc/opkg/customfeeds.conf opkg update 6. 安装编译工具 执行以下命令,安装编译工具: opkg install gcc make libpthread libstdcpp 7. 编写Makefile文件 在任意目录下创建一个文件夹,例如:/opt/my_package,并在该文件夹下创建一个名为Makefile的文件。在Makefile文件中编写软件包的编译规则。 以下是一个简单的Makefile文件示例: ``` include $(TOPDIR)/rules.mk PKG_NAME:=hello-world PKG_VERSION:=1.0 PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk define Package/hello-world SECTION:=utils CATEGORY:=Utilities TITLE:=Hello World DEPENDS:=@TARGET_ramips_mt7620a endef define Package/hello-world/description This is a Hello World package. endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) endef define Package/hello-world/install $(INSTALL_DIR) $(1)/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello-world $(1)/bin/ endef $(eval $(call BuildPackage,hello-world)) ``` 8. 编译软件包 执行以下命令,编译软件包: make package/hello-world/compile V=s 编译完成后,在SDK目录下的bin目录中可以找到编译好的软件包。 9. 安装软件包 将编译好的软件包拷贝到路由器上,并执行以下命令安装: opkg install hello-world_1.0-1_ramips_24kec.ipk 安装完成后,在路由器上执行hello-world命令即可看到输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值