0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWRTをDockerでビルドしてみよう ②OpenWRTビルド編

Posted at

前回のビルド環境構築編の続きです。

make menuconfig

Docker Linux での作業になるので、VS Code ターミナルから ./DockerRun.cmd でDockerコンテナに入ります。
Linux のシェルが起動したら

cd openwrt
make menuconfig

そうすると、以下の設定項目が現れます。
{245C37E4-8345-4D8E-B807-BB25671C337B}.png
まずは、ターゲットとなるルーターの仕様がわからないと始まりません。
そこで参考になるのが、以下のサイトです。
https://openwrt.org/toh/views/toh_extended_all
{A65A4251-CE85-493B-AFCB-77AD8167A12E}.png
Modelにターゲットの機種名を入力すると、そのルーターで使われているSoCやWifiチップ、フラッシュROMの容量、RAMの容量などがわかります。もっと詳しく見たいときは、一番右までスクロールして、Edit をクリックします。自分の場合は、たまたま転がっていたELECOM WRC-2533GST2を表示しています。
ここで重要なのは以下のTarget,CPUの部分です。
image.png
ramipsはMIPSアーキテクチャのSoCが使われていることを表します。
CPUはMediaTek MT7621Aとなっています。
それを踏まえて設定していくとTarget System - Subtarget - Target Profileは以下となります。
この辺は、自分が使うルーターによって違ってきますので、慎重に設定してください。
{86002CAF-5DF0-41F0-BC2B-A9005E756FDE}.png

LuCI

次に設定が必要なものとして、LuCIがあります。
ルーターの設定で必要なGUIは、OpenWRTではLuCI(ルーシー)というモジュールで実現しています。
無くてもルーターとしては機能しますが、どういう設定で動いているか、グラフィカルな設定画面があれば色々と便利です。導入するとこんな風にログイン画面が表示されるようになります。
{C3A445D4-48A7-4864-8E5B-C91D3E87DC87}.png
コンフィグでは以下のメニューをたどって設定します。
{F06D6F34-C11E-45D8-9C69-20280025884C}.png
{C2ABC66A-7E25-4B0E-AE87-C66ED10057A7}.png
{B2584E9B-506D-4A90-A7BC-9BF4B34E272B}.png
変更する箇所まで上下カーソルキーで移動して、yキーで設定変更します。
必ず*の状態にしてください。Mの状態ではモジュールが組み込まれません。

最低限の機能としては、以上で終了です。
ESCを何度か押すと、以下のメニューが現れますので、Yesの方にカーソルを合わせて[Enter]で終了してください。
{99B18A51-91A5-46C2-AAA5-4F303CE3A967}.png

ビルドする

この状態で、一応ビルドすることができます。
この状態でビルドするとサイトからダウンロードしてきたファームと変わらない状態ですが、とりあえず試してみましょう。コンソールから

make -j4

とタイプします。-j4はスレッド数です。スレッドが大きいCPUの場合は、-j8など大きな値でも大丈夫です。
ビルドには数十分から1時間近くかかる場合があります。これはCPU性能に依存するので、なんとも言えません。ビルドが無事終了すると、Windows版ですと、以下のフォルダに格納されます。
\wsl$\docker-desktop-data\data\docker\volumes\[dockerid]\_data\openwrt\bin\targets\ramips\mt7621
ここで
ramips
mt7621
などは、ビルドするターゲットによって変わってきます。
該当フォルダの中身を見てみましょう。
image.png
sysupgrade.binは、一度OpenWRT化したルーターをバージョンアップさせる場合に使います。factory.binは、メーカーファームからOpenWRT化する場合に使います。
すでにOpenWRT化してあるはずですから、sysupgrade.binを読み込ませます。
OpenWRTのLuciメニューから
{A6FF6976-29DA-4F3D-86C5-4A51AE43C13C}.png
System - Backup / Flash Firmware
image.png
ここからビルドしたファームウエアを指定してやると、新ファームに書き換わりブートします。
次回はどのモジュールを組み込むかを検討する必要があるので、ビルドは少し横に置いてネットワーク環境の解説をしたいと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?