OpenWRT v22.03.3で消えてしまったocservパッケージの自前ビルド

公開 | 更新 
図4.ocservパッケージ選択

OpenWRT v22.03.3 のOpenConnect VPN Serverパッケージ ocserv が、レポジトリで利用不能になっていたので、クロスコンパイル環境を構築してソースから自分で ビルド しました。

レポジトリから消えたocservパッケージ

Celeron J4125ミニPC上のVMware ESXi 8.0に、仮想マシンとして構築したOpenWRTルータ(OpenWrt v22.03.3を使用)へ、Cisco AnyConnect互換のOpenConnect VPN Serverパッケージocserv (GL-iNet GL-AR750Sへのインストール記事はこちら)をインストールしようとしたところ、パッケージが見つからないエラーに遭遇。

図1.ocservパッケージが利用不能に

図1.ocservパッケージが利用不能に

CLIから直接インストールしようとしてもやはりエラー。

調べてみると、使用する一部ライブラリとの依存性に問題があるとのことで、敢えて収録から外されている模様。

実際にはそのライブラリを使用していないことから、無効化するようレポジトリにあるMakefileは編集されていました。

ここまで来れば、数日後でパッケージも再び利用可能になるものですが、せっかくなので自分でコンパイルしてみようと思います。

 

OpenWRTクロスコンパイル環境を構築

OpenWRTのクロスコンパイル環境に今回使うUbuntu 18.04デスクトップPCは、何度か通常のパッケージビルドに使ったことがあるので、 build-essential など必要なパッケージはインストール済みです。

まず、OpenWRTソースレポジトリgit clone してその中へ。

次にフィードをアップデートの上、インストールします(所要5分程度)。ここで feeds/packages/net/ 内にocservのソースが現れます。

Make環境をテキストベースUIで設定します。設定前は以下のようになっているので、

図2.menuConfig 初期値

図2.menuConfig 初期値

対象環境を x86_64 に指定して、パッケージカテゴリの Network へ進みます。

図3.menuConfig 環境設定後

図3.menuConfig 環境設定後

Network > VPN とサブカテゴリを進んだ中に ocserv パッケージがあるので、選択状態にします。

図4.ocservパッケージ選択

図4.ocservパッケージ選択

何度か試していて、 usign が見つからないエラーに遭遇したことがあったので、ここで Base system カテゴリにある usign にチェックが入っているか、念のため確認します。

図5.Base Systemの一覧

図5.Base Systemの一覧

Exit する前には、必ず Save.config ファイルに出力するのを忘れずに。

図6.configファイル書き出し

図6.configファイル書き出し

 

続いてのツールインストールでは、小一時間掛かりました。

ツールチェインのインストールもしっかり1時間掛かりました。

 

パッケージをビルド

ocserv の前に、依存関係にある base-files をコンパイルします(所要10分)。

そしてようやく ocserv パッケージの番です。

30分後、以下の場所にパッケージファイルが出来上がっていました。

 

パッケージのインストール

ブラウザでOpenWRT LuCiを開き、メニューのStstem内にあるSoftwareページから、出来上がったパッケージをアップロード・インストールすることができます。

図7.パッケージファイルアップロード

図7.パッケージファイルアップロード

 

今回は初めてのビルドに試行錯誤を繰り返しているうちに、公式レポジトリの方が早くパッケージを利用可能に戻していました。

図8.既にレポジトリでも利用可能に

図8.既にレポジトリでも利用可能に

 

参考)


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA