MikrotikでのOpenWRT 14.07の起動と追加モジュールを使用したアスタリスクの構築例



インターネットには、metarouterを介してMikrotikデバイスでopenwrtを実行することに関する多くの記事があります。 それらはすべて、アセンブリ用のプロセッサ(RB400、RB700シリーズ、RB900シリーズ、RB2011ボード、RB1000、RB1100、RB1100AHおよびRB800)をサポートする公式パッチを含むリビジョンr29684を使用します。 それ以降のバージョンでは、このパッチは適切ではありません。 その結果、すべてのopenwrtパッケージは非常に古く、更新されたソフトウェアを構築することはほとんど不可能です。 また、openwrtの新しいバージョンでは、多くの新しいパッケージとライブラリが登場しています。

インターネットを検索した後、誰もがメタルーターの下で新しいopenwrtを実行することができましたか、私は正しいメモに出会いました。 この記事はその内容を完全にコピーするだけでなく、パッケージを組み立てるための小さなボーナスもあります。 始めましょう(debian \ ubuntuシステムの例):



作業に必要なパッケージを配置します。

$ sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc zip
      
      





アセンブリ用のディレクトリを作成します(約12ギガバイトの空き領域が必要です)。

  $ mkdir openwrt & cd openwrt
      
      





openwrtのパッチとopenwrtソース自体をダウンロードし、パッチを適用します。

 $ wget http://openwrt.naberius.de/barrier_breaker/mr-mips/openwrt_metarouter_1407.patch $ git clone git://git.openwrt.org/14.07/openwrt.git barrier_breaker $ cd barrier_breaker $ patch -p1 -i ../openwrt_metarouter_1407.patch
      
      





画像を設定しましょう:

 $ make defconfig $ make prereq $ make menuconfig
      
      





次に、ターゲットシステムで、Mikrotik MetaROUTER MIPSプロセッサのタイプを選択します。 また、イメージに含まれる追加のパッケージを調べたり、不要なパッケージを削除したりすることもできます。 組み立てを開始して、散歩に出かけることができます。

 $ make -j $(nproc)
      
      





ビルドが成功すると、既製のイメージbarrier_breaker / bin / mr-mips / openwrt-mr-mips-rootfs.tar.gzが表示されます



完成したイメージをUSBフラッシュドライブにロードし(組み込みまたは外部のいずれかを使用できます)、mikrotik、mikrotik Webインターフェイスに移動し、タブ、メタルーターでイメージのインポートを選択し、新しく作成したイメージと必要なRAMの数を指定します。 以上です。 仮想マシンを起動し、イメージのコンソールに移動して設定を続行します(設定の詳細な説明はインターネットで確認できるため、重複しません)。



Openwrtをビルドして実行する










メインイメージの準備ができ、bin / mr-mips /にあります。追加のパッケージの作成を開始できます。 コンフィギュレーターメニューから、目的のソフトウェアを選択し、たとえば、Asterisk11をインストールします。

 $ ./scripts/feeds update -a $ ./scripts/feeds install -a $ make menuconfig
      
      





追加パッケージの組み立て








インストールするパッケージの準備ができたら、お茶を飲んでアセンブリを開始できます(エラーとアセンブリプロセスを確認するには、パラメータV = sで実行します)

 $ make -j $(nproc)
      
      





追加のパッケージがbin / mr-mips / packages /フォルダーに表示されます-インストールするには、それらをシステムにコピーし(scpなどを使用)、opkg install name_paccket.ipkを実行します。

リポジトリからパッケージをインストールできるため、この手順はオプションです。 なぜパッケージを収集する必要があるのですか? 答えは簡単です。必要なパッケージがリポジトリにない場合、または特定のパッケージに追加のモジュールが必要な場合です。

リポジトリにないアスタリスク用のモジュールを構築してみましょう。 openwrtで実行されているアスタリスクを議論するフォーラムでは、app-queuesのモジュールがないという苦情を見つけることができます。 集めてみよう。 正しいオプションは、openwrtマニュアルを読んでビルドすることです。 私は試してみることにし、すぐに/barrier_breaker/package/feeds/telephony/asterisk-11.x/Makefileメイクファイルに登りました。そこで、最後にモジュールを構築するための行を見つけました。



$(eval $(BuildAsterisk11Module、pbx-lua、Luaを呼び出し、AsteriskにLuaリソースを提供、+ libpthread + libc + liblua、/ etc /アスタリスク/extensions.lua、extensions.lua、pbx_lua、))




組み立てられたモジュールの選択に関するコメント
#パラメータ:

#1-パッケージのサブネーム

#2-パッケージのタイトル

#3-モジュールの説明

#4-モジュールの依存関係

#5-複数のconffileへのフルパス

#6-confファイル

#7-モジュールファイル

#8-サウンドファイル

#9-バイナリファイル



コメントは各行を説明しています。 app-queueモジュールにはサードパーティの依存関係がないため、この行は非常にコンパクトです。



 $(eval $(call BuildAsterisk11Module,app-queue,Distribution queue call to agent,Each dynamic agent in each queue is now stored in the astdb,,,,app_queue,))
      
      





他のモジュールのmakefileに追加し、モジュールの構築を開始します。

 $ make menuconfig $ make -j $(nproc)
      
      





アセンブリにモジュールを含めます




すべてが順調に進んだ場合、収集したばかりのパッケージを配信することになります。 既製の画像は、 パッチの作成者から取得できます。 以上です。



All Articles