新しいソフトウェアパッケージを独自のopenwrtシステムに移行するにはどうすればよいですか?読み続けましょう。
- openWRTがコンパイルされた後、次のファイルが生成されます。
ディレクトリstaging_dirがコンパイル用の一時インストールディレクトリとして使用され、最終的に生成されたファイルがディレクトリbinに保存されます。
目次 | 意味 |
---|---|
dl | ソフトウェアコードパッケージの一時ディレクトリをダウンロードします。コンパイルする前に、元のソフトウェアコードパッケージをこのディレクトリにダウンロードしてください |
フィード | 拡張パッケージディレクトリ。使用頻度の低いソフトウェアパッケージを他のコードベースに配置し、フィードメカニズムを介してダウンロードと構成をカスタマイズします |
置き場 | コンパイル後の最終結果カタログ。インストールイメージファイルやipkインストールパッケージなど |
build_dir | 中間ファイルディレクトリをコンパイルします。 |
staging_dir | インストールディレクトリをコンパイルします。ファイルはここにインストールされ、最終的なコンパイル結果はここのファイルから生成されます |
tmp | コンパイルプロセス中の多数の一時ファイルがここにあります |
- 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ディレクトリに配置されます。パッケージをダウンロードする必要があるすべての種類は、このディレクトリ(コンパイルプロセスで使用されるツール)
に保存されます。コンパイルプロセス。
エラーが発生した場合、エラーの原因は、特定のソフトウェアパッケージが正しくダウンロードされていないか、欠落していることです。対応するソフトウェアパッケージ(圧縮ファイル)を手動でダウンロードし、このディレクトリに配置してから、再コンパイルできます。 。
- 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