OpenWrtで自分のソフトウェアパッケージをコンパイルする方法は?
自分のソフトウェアパッケージをコンパイルするには、以下の手順に従ってください。
- 最初に、OpenWrtのコンパイル環境がインストールされていることを確認してください。 インストールされていない場合は、OpenWrt公式ウェブサイトのガイドに従ってインストールしてください。
- OpenWrtのソースコードディレクトリ内で、feeds.conf.defaultファイルを見つけ、以下の内容をファイルの末尾に追加してください(すでに存在する場合は、このステップをスキップしてください):
src-git mypackages https://github.com/your-username/your-repo.git
your-username/your-repo.gitは、あなたのソフトウェアパッケージのコードリポジトリのgit URLです。
- 以下のコマンドを実行してソフトウェアパッケージリストを更新してください:
./scripts/feeds update mypackages
- 以下のコマンドを実行してソフトウェアパッケージをインストールしてください。
./scripts/feeds install -a -p mypackages
- パッケージ
cd package
mkdir mypackage
- 新しく作成したサブディレクトリにソフトウェアのソースコードをコピーしてください。
- 新しく作成したサブディレクトリに、Makefileという名前のファイルを作成し、以下の内容を追加してください。
include $(TOPDIR)/rules.mk
PKG_NAME:=mypackage
PKG_VERSION:=1.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/your-username/your-repo.git
PKG_SOURCE_VERSION:=master
include $(INCLUDE_DIR)/package.mk
define Package/mypackage
SECTION:=utils
CATEGORY:=Utilities
TITLE:=My Package
DEPENDS:=+libopenssl +libcurl
endef
define Package/mypackage/description
This is my custom package.
endef
define Build/Prepare
endef
define Build/Compile
endef
define Package/mypackage/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mybinary $(1)/usr/bin/
endef
$(eval $(call BuildPackage,mypackage))
PKG_NAME、PKG_VERSION、PKG_RELEASE、PKG_SOURCE_URL、DEPENDSなどの変数の値を適切に変更して、あなたのソフトウェアパッケージに合わせてください。
- OpenWrtのソースコードディレクトリに戻り、次のコマンドを実行してコンパイルオプションを設定してください。
make menuconfig
メニューからあなたのソフトウェアパッケージを見つけて選択し、保存して終了してください。
- OpenWrtとあなたのソフトウェアパッケージをコンパイルするには、次のコマンドを実行してください。
make -j8
j8は、並行コンパイルのスレッド数を示しており、システムの設定に応じて調整することができます。
- ゴミ箱
- バイナリ
- ステージングディレクトリ
OpenWrtで独自のソフトウェアパッケージをコンパイルする基本的な手順が上記にあります。必要に応じてカスタマイズや調整を行うことができます。