Я работаю над запуском программы Hello World на Linksys WRT54G-V4 под управлением dd-wrt или OpenWRT.
Прямо сейчас на этом маршрутизаторе работает dd-wrt по причинам, которые я объясню ниже. Я хотел бы переключить этот маршрутизатор на OpenWRT, потому что мне не удалось собрать dd-wrt или его набор инструментов. Я «предполагаю», что цепочка инструментов OpenWRT должна создавать исполняемые двоичные файлы, которые также будут работать на dd-wrt.
OpenWRT было довольно просто собрать, так как у него есть хорошая система сборки, управляемая через меню. Используя этот удобный инструмент, я создал цепочку инструментов, которая будет выполнять перекрестную компиляцию из моей машины x86 Ubuntu в цель MIPS.
Следуя инструкциям, я смог собрать OpenWRT и создать образы для brcm47xx и brcm63xx.
Например, вот успешная компиляция моей маленькой программы Hello World:
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$
К сожалению, когда я пытаюсь запустить HelloWorld на моем WRT54G-V4 с dd-wrt, я получаю ошибку seg.
Глядя на Википедию, вижу, что в этом роутере используется Broadcom BCM5352.
Когда я запускаю make menuconfig в каталоге OpenWRT/trunk, я не вижу опции для BCM5352, поэтому я не хочу прошивать свой маршрутизатор одним из образов, которые я создал в каталогах brcm47xx или brcm63xx. Я не хочу ошибаться и замуровывать роутер.
Вопрос 1. Какую конфигурацию Broadcom следует выбрать с помощью make menuconfig, чтобы настроить мой WRT54G-V4 с его чипсетом BCM5352?
Вопрос 2. Должен ли мой исполняемый файл HelloWorld, который я сгенерировал выше, запускаться непосредственно из командной строки на 54G, или я должен сделать его пакетом для http://www.gargoyle-router.com/wiki/doku.php?id=openwrt_coding ?
ТИА