3 -> openWrt系统移植FRR路由协议第三方软件包记录

如何移植新软件包到自己的openwrt系统呢?我们继续往下看。

  1. openWRT 编译后将产生如下文件:
    并且会将目录 staging_dir作为编译的临时安装目录,最终的生成文件保存在目录bin下
目 录含 义
dl下载软件代码包 临时目录。编译前,将原始的软件代码包下载到该目录
feeds扩展软件包目录。将一些不常用的软件包放在其他代码库中,通过feed机制可以自定义下载及配置
bin编译完成后的最终成果目录。例如安装映像文件及 ipk 安装包
build_dir编译中间文件目录。
staging_dir编译安装目录。文件安装到这里,并由这里的文件生成最终的编译成果
tmp编译过程的大量临时文件都会在此
  1. feeds 目录
    目录feeds用于保存扩展软件包,可以使用软件包编译扩展机制来进行扩展安装。
    移植 新软件包步骤:
    (1). 将要移植的软件包,依据包类别放入到feeds文件夹下相应的位置。建立软链接到编译主目录package目录下相应位置。
$ cd package/feeds/routing
$ ln -s ../../feeds/routing/frr ./  #相对位置待移植的 FRR 

(2). 执行 ./sripts/feeds install -a 后,移植的新软件包将会显示在menuconfig配置菜单中。

$ cd ../../
$ make menuconfig

在这里插入图片描述
3. dl 目录
编译工具链、目标平台的软件包等需要下载的文件都放在dl目录下
在编译过程中,各类需要下载的包都保存在这个目录下 (编译过程中用的工具)
当编译的过程中.
如果出错,出错的原因是某个软件包下载错误或丢失,可以手动下载对应的软件包(压缩文件形式),并放在这个目录下,之后重新编译.

  1. build_dir 目录
    交叉编译工具的编译中间文件目录 和 目标平台编译的结果文件。
    在这里插入图片描述如:image、rootfs、uboot、dtb等编译结果;
    在这里插入图片描述编译成功后会执行脚本打包结果、并拷贝到bin/target 文件夹下。
    在这里插入图片描述5. staging_dir 目录
    作为编译的临时安装目录,内容如下:
    在这里插入图片描述
    OpenWRT-19.07版本中的libyang库版本低,FRR依赖的版本为1.0.184,因此需要安装PKG_VERSION:=1.0.184 libyang库, 删除package/feeds/packages/libyang 文件夹下的内容,把libyang-1.0.184 的Makefil 文件拷贝到此目录下,再次编译OpenWRT的feeds包管理工具自动下载此版本的库文件。
include $(TOPDIR)/rules.mk

PKG_NAME:=libyang
PKG_VERSION:=1.0.184
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libyang/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=1a5637451b73c4c5683837eb4c51371bb084795f653bc1a5fc20fed5541b58bc

PKG_MAINTAINER:=Jakov Smolic <jakov.smolic@sartura.hr>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE

CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=build

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk

错误内容: satisfy_dependencies_for: Cannot satisfy the following dependencies for frr-vtysh

Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for frr-vtysh:
 * 	more
 * opkg_install_cmd: Cannot install package frr-vtysh.
package/Makefile:65: recipe for target 'package/install' failed
make[2]: *** [package/install] Error 255
make[2]: Leaving directory '/home/robot/OpenWrt/LS1046A-19.07'
package/Makefile:108: recipe for target '/home/robot/OpenWrt/LS1046A-19.07/staging_dir/target-aarch64_generic_glibc/stamp/.package_install' failed
make[1]: *** [/home/robot/OpenWrt/LS1046A-19.07/staging_dir/target-aarch64_generic_glibc/stamp/.package_install] Error 2
make[1]: Leaving directory '/home/robot/OpenWrt/LS1046A-19.07'
/home/robot/OpenWrt/LS1046A-19.07/include/toplevel.mk:225: recipe for target 'world' failed
make: *** [world] Error 2

解决方法参考此链接:
https://www.cnblogs.com/hzijone/p/12018484.html

小结:此篇文章主要记录 移植新软件包的过程;本文参考董少的博客内容,根据自己实现工作总结形成此文,在此感谢董少。

参考链接如下:
https://dongshao.blog.csdn.net/article/details/102509299

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据提供的引用内容,neighbor->lists[m]->numneigh > 0是一个条件判断语句,表示如果neighbor中的列表m的numneigh大于0,那么条件为真。根据引用,该语句可能与好邻居机构的学分有关,但没有提供具体的上下文信息,无法确定它在哪个上下文中使用。根据引用,这个语句在一个关于开启OSPF路由协议和配置FRRouting工作参数的实验中可能有所涉及。根据引用,FRRouting是一个开源的互联网路由协议套件,可以在Linux和Unix平台上实现多种路由协议,包括OSPF。但具体如何移植FRRouting项目到OpenWRT中,请参考相关链接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [good-neighbor-agency:好邻居机构网站](https://download.csdn.net/download/weixin_42134234/15607296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [22. 详解 FRRouting -- OSPF 配置](https://blog.csdn.net/weixin_38387929/article/details/117912532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值