前回のビルド環境構築編の続きです。
make menuconfig
Docker Linux での作業になるので、VS Code ターミナルから ./DockerRun.cmd でDockerコンテナに入ります。
Linux のシェルが起動したら
cd openwrt
make menuconfig
そうすると、以下の設定項目が現れます。
まずは、ターゲットとなるルーターの仕様がわからないと始まりません。
そこで参考になるのが、以下のサイトです。
https://openwrt.org/toh/views/toh_extended_all
Modelにターゲットの機種名を入力すると、そのルーターで使われているSoCやWifiチップ、フラッシュROMの容量、RAMの容量などがわかります。もっと詳しく見たいときは、一番右までスクロールして、Edit をクリックします。自分の場合は、たまたま転がっていたELECOM WRC-2533GST2を表示しています。
ここで重要なのは以下のTarget,CPUの部分です。
ramipsはMIPSアーキテクチャのSoCが使われていることを表します。
CPUはMediaTek MT7621Aとなっています。
それを踏まえて設定していくとTarget System - Subtarget - Target Profileは以下となります。
この辺は、自分が使うルーターによって違ってきますので、慎重に設定してください。
LuCI
次に設定が必要なものとして、LuCIがあります。
ルーターの設定で必要なGUIは、OpenWRTではLuCI(ルーシー)というモジュールで実現しています。
無くてもルーターとしては機能しますが、どういう設定で動いているか、グラフィカルな設定画面があれば色々と便利です。導入するとこんな風にログイン画面が表示されるようになります。
コンフィグでは以下のメニューをたどって設定します。
変更する箇所まで上下カーソルキーで移動して、yキーで設定変更します。
必ず*の状態にしてください。Mの状態ではモジュールが組み込まれません。
最低限の機能としては、以上で終了です。
ESCを何度か押すと、以下のメニューが現れますので、Yesの方にカーソルを合わせて[Enter]で終了してください。
ビルドする
この状態で、一応ビルドすることができます。
この状態でビルドするとサイトからダウンロードしてきたファームと変わらない状態ですが、とりあえず試してみましょう。コンソールから
make -j4
とタイプします。-j4はスレッド数です。スレッドが大きいCPUの場合は、-j8など大きな値でも大丈夫です。
ビルドには数十分から1時間近くかかる場合があります。これはCPU性能に依存するので、なんとも言えません。ビルドが無事終了すると、Windows版ですと、以下のフォルダに格納されます。
\wsl$\docker-desktop-data\data\docker\volumes\[dockerid]\_data\openwrt\bin\targets\ramips\mt7621
ここで
ramips
mt7621
などは、ビルドするターゲットによって変わってきます。
該当フォルダの中身を見てみましょう。
sysupgrade.binは、一度OpenWRT化したルーターをバージョンアップさせる場合に使います。factory.binは、メーカーファームからOpenWRT化する場合に使います。
すでにOpenWRT化してあるはずですから、sysupgrade.binを読み込ませます。
OpenWRTのLuciメニューから
System - Backup / Flash Firmware
ここからビルドしたファームウエアを指定してやると、新ファームに書き換わりブートします。
次回はどのモジュールを組み込むかを検討する必要があるので、ビルドは少し横に置いてネットワーク環境の解説をしたいと思います。