3-> FRRルーティングプロトコルのサードパーティソフトウェアパッケージレコードを移植するOpenWrtシステム

新しいソフトウェアパッケージを独自のopenwrtシステムに移行するにはどうすればよいですか?読み続けましょう。

  1. openWRTがコンパイルされた後、次のファイルが生成されます。
    ディレクトリstaging_dirがコンパイル用の一時インストールディレクトリとして使用され、最終的に生成されたファイルがディレクトリbinに保存されます。
目次 意味
dl ソフトウェアコードパッケージの一時ディレクトリをダウンロードします。コンパイルする前に、元のソフトウェアコードパッケージをこのディレクトリにダウンロードしてください
フィード 拡張パッケージディレクトリ。使用頻度の低いソフトウェアパッケージを他のコードベースに配置し、フィードメカニズムを介してダウンロードと構成をカスタマイズします
置き場 コンパイル後の最終結果カタログ。インストールイメージファイルやipkインストールパッケージなど
build_dir 中間ファイルディレクトリをコンパイルします。
staging_dir インストールディレクトリをコンパイルします。ファイルはここにインストールされ、最終的なコンパイル結果はここのファイルから生成されます
tmp コンパイルプロセス中の多数の一時ファイルがここにあります
  1. feedsディレクトリfeedsディレクトリは
    、拡張ソフトウェアパッケージを格納するために使用されます。拡張機能のインストールには、パッケージコンパイル拡張メカニズムを使用できます。
    新しいソフトウェアパッケージを移植する手順:
    (1)移行するソフトウェアパッケージを、パッケージカテゴリに従ってfeedsフォルダーの下の対応する場所に配置します。メインコンパイルディレクトリのパッケージディレクトリ内の対応する場所へのソフトリンクを確立します。
$ cd package/feeds/routing
$ ln -s ../../feeds/routing/frr ./  #相对位置待移植的 FRR 

(2)./ sripts / feeds install -aを実行すると、移植された新しいソフトウェアパッケージがmenuconfig構成メニューに表示されます。

$ cd ../../
$ make menuconfig

ここに画像の説明を挿入します
3. dlディレクトリ
コンパイラツールチェーン、ターゲットプラットフォームおよびその他のソフトウェアパッケージは、ファイルをダウンロードする必要があります。
コンパイル中にdlディレクトリ配置されます。パッケージをダウンロードする必要があるすべての種類は、このディレクトリ(コンパイルプロセスで使用されるツール)
保存されます。コンパイルプロセス。
エラーが発生した場合、エラーの原因は、特定のソフトウェアパッケージが正しくダウンロードされていないか、欠落していることです。対応するソフトウェアパッケージ(圧縮ファイル)を手動でダウンロードし、このディレクトリに配置してから、再コンパイルできます。 。

  1. build_dirdirectory
    クロスコンパイルツールのコンパイル中間ファイルディレクトリとターゲットプラットフォームコンパイルの結果ファイル。
    ここに画像の説明を挿入しますたとえば、image、rootfs、uboot、dtb、その他のコンパイル結果。コンパイルが
    ここに画像の説明を挿入します成功すると、スクリプトのパッケージ化結果が実行され、bin / targetフォルダーにコピーされます。
    ここに画像の説明を挿入します5. staging_dirディレクトリは
    、コンパイル用の一時インストールディレクトリとして使用されます。内容は次のとおりです
    ここに画像の説明を挿入します
    。OpenWRT-19.07のlibyangライブラリバージョンが低く、FRRが依存するバージョンが1.0.184であるため、次のことを行う必要があります。 PKG_VERSION:= 1.0.184 libyangライブラリをインストールし、パッケージ/フィードを削除します。libyang-1.0.184のMakefilファイルを/ packages / libyangフォルダーの下のコンテンツ用にこのディレクトリにコピーし、OpenWRTフィードパッケージ管理ツールを再コンパイルして自動的にダウンロードします。このバージョンのライブラリファイル。
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: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

概要:この記事は、主に新しいソフトウェアパッケージの移植プロセスを記録しています。この記事は、Dong Shaoのブログの内容を参照し、彼自身の実装作業の概要に基づいて作成されました。DongShaoに感謝します。

参照リンクは次のとおりです:
https //dongshao.blog.csdn.net/article/details/102509299

おすすめ

転載: blog.csdn.net/weixin_38387929/article/details/111772008
おすすめ