dd-wrtまたはOpenWRTのいずれかを実行しているLinksysWRT54G-V4でHelloWorldプログラムを実行しています。
現在、このルーターはdd-wrtを実行しています。これは、以下で説明する理由によるものです。dd-wrtまたはそのツールチェーンを構築できなかったため、このルーターをOpenWRTに切り替えたいと思います。私は、OpenWRTツールチェーンがdd-wrtでも実行される実行可能バイナリを生成する必要があると「想定」しています。
OpenWRTは、メニュー方式の優れたmakeシステムを備えているため、構築が非常に簡単でした。この便利なツールを使用して、x86UbuntuボックスからMIPSターゲットにクロスコンパイルするツールチェーンを構築しました。
指示に従って、OpenWRTをビルドし、brcm47xxとbrcm63xxのイメージを作成することができました。
たとえば、これが私の小さなHelloWorldプログラムの正常なコンパイルです。
jim@ubuntu:~/Desktop/tests$ cat helloC.c
#include <stdio.h>
int main (int argc, char **argv)
{
printf("Hello World\n");
return 0;
}
jim@ubuntu:~/Desktop/tests$
jim@ubuntu:~/Desktop/tests$ mipsel-openwrt-linux-gcc -o HelloWorld helloC.c
jim@ubuntu:~/Desktop/tests$
jim@ubuntu:~/Desktop/tests$ file HelloWorld
HelloWorld: ELF 32-bit LSB executable, MIPS, MIPS32 version 1, dynamically linked (uses shared libs), with unknown capability 0xf41 = 0x756e6700, with unknown capability 0x70100 = 0x3040000, not stripped
jim@ubuntu:~/Desktop/tests$
悲しいことに、dd-wrtを実行しているWRT54G-V4でHelloWorldを実行しようとすると、セグメンテーション違反が発生します。
ウィキペディアを見ると、このルーターはBroadcomBCM5352を使用していることがわかります。
OpenWRT /trunkディレクトリでmakemenuconfigを実行すると、BCM5352のオプションが表示されません。そのため、brcm47xxまたはbrcm63xxディレクトリに作成したイメージの1つでルーターをフラッシュするのは気が進まないのです。私は間違って推測してルーターをブリックしたくありません。
質問1 -BCM5352チップセットでWRT54G-V4をターゲットにするには、make menuconfigを使用してどのBroadcom構成を選択する必要がありますか?
質問2-上記で生成した「HelloWorld」実行可能ファイルを54Gのコマンドラインから直接実行する必要がありますか、それともhttp://www.gargoyle-router.com/wiki/doku.php?idに従ってパッケージにする必要があります。 = openwrt_coding?
TIA