- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行 dd-wrt 或 OpenWRT 的 Linksys WRT54G-V4 上运行 Hello World 程序。
现在这个路由器正在运行 dd-wrt,原因我将在下面解释。我想将此路由器切换到 OpenWRT,因为我无法构建 dd-wrt 或其工具链。我“假设”OpenWRT 工具链应该生成也可以在 dd-wrt 上运行的可执行二进制文件。
OpenWRT 的构建非常简单,因为它有一个很好的菜单驱动的 make 系统。使用这个方便的工具,我构建了一个工具链,可以从我的 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$
遗憾的是,当我尝试在运行 dd-wrt 的 WRT54G-V4 上运行 HelloWorld 时,出现段错误。
查看维基百科,我发现该路由器使用 Broadcom BCM5352。
当我在 OpenWRT/trunk 目录中运行 make menuconfig 时,我没有看到 BCM5352 的选项,这就是为什么我不愿意使用我在 brcm47xx 或 brcm63xx 中创建的镜像之一刷新我的路由器的原因目录。我不想猜错并弄坏路由器。
问题 1 - 我应该使用 make menuconfig 选择哪种 Broadcom 配置来使用 BCM5352 芯片组来定位我的 WRT54G-V4?
问题 2 - 我上面生成的“HelloWorld”可执行文件是否应该直接从 54G 上的命令行运行,还是必须按照 http://www.gargoyle-router.com/wiki/doku.php?id=openwrt_coding 将其制作为一个包? ?
TIA
最佳答案
您可以按照官方说明进行操作(来自: http://www.dd-wrt.com/forum/viewtopic.php?p=21499&sid=de90601a8d51747d1c8ccec29284127d )
1. The helloworld.c source
Code:
#include <stdio.h>
int main ( void ) {
printf( "Hello world!\n" );
}
2. Get and unpack the toolchain in your homedir
Code:
cd ~
wget ftp://ftp.dd-wrt.com/sourcecode/toolchains.x86.debian.sp1.tar.bz2
tar -jxf toolchains.x86.debian.sp1.tar.bz2
3. Add the path to your cross-compiler executable to your path environment variable and compile helloworld.c
Code:
PATH=~/toolchains/4.1.0-uclibc-0.9.28/bin:$PATH mipsel-linux-uclibc-gcc helloworld.c -o helloworld
4. Check if its correctly compiled with the cross-compiler
Code:
file helloworld
helloworld: ELF 32-bit LSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
5. Finally, transfer the helloworld binary file to your router, set the executable bit and run it.
使用 Ubuntu 6.06.1 LTS 进行测试。
关于openwrt - 如何为 OpenWRT 和/或 dd-wrt 编写 Hello World,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306165/
我已经从 subversion 存储库成功克隆了 OpenWRT buildroot,并且我一直在使用它来构建在 Qemu 上运行的镜像。我可以在 Qemu 中运行图像。 现在我尝试为路由器(Link
我在 OpenWRT 下构建了许多自定义软件包,我想将它们添加到自定义源中,这样我就可以让 IoT 设备提取这些自定义软件包的更新。 我浏览了所有 OpenWRT 文档并进行了多次谷歌搜索,但没有找到
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
最近,我在很多设备上配置了 OpenWrt,它是一个很好的无线路由器固件。我阅读了很多关于 OpenWISP 的内容: OpenWISP is a software platform designed
我将在 OpenWRT 镜像中包含 pip3 模块,因此在安装 OpenWRT 镜像后不需要其他依赖项。 例如,我将在 OpenWRT 镜像中包含 argparse 模块。该模块可以通过以下命令在初始
我正在尝试使用 OpenWRT 工具链为 OpenWRT Linux 环境交叉编译 POCO 源包。我已经下载了 POCO 源码包并尝试交叉编译它,但是我得到如下错误日志 src/Error.cpp:
我正在运行 dd-wrt 或 OpenWRT 的 Linksys WRT54G-V4 上运行 Hello World 程序。 现在这个路由器正在运行 dd-wrt,原因我将在下面解释。我想将此路由
我想重启我的设备,它有 Openwrt 操作系统。我希望命令使用 crontab 运行并且只执行一次。 最佳答案 如果您只想运行一次,那么最好通过 ssh openwrt 并进入终端并键入 reboo
最近买了个N1盒子,从源系统刷到OpenWrt,总结一下整体过程,大部分都来源于网络教程和自己实践,如有错误欢迎指出! N1盒子刷机 固件准备 最著名的应该是F大的吧,原贴地址:
我正在寻找在 openwrt 上运行的 tcpdump 二进制文件。该网站仅显示必须构建的源代码。有人指向我包含预构建二进制文件的位置吗?谢谢。 最佳答案 我建议建立一个工作存储库,即: https:
uci文档说: All "uci set", "uci add", "uci rename" and "uci delete" commands are staged into a temporary
如果有人能帮助我解决这个问题,我会非常感激,因为它让我发疯。 当我从头开始编译 OpenWRT 镜像(包括我的包)时,通常一切正常。 否则,当我尝试重新编译时,我不断收到缺少依赖项的错误。 我发现唯一
我正在尝试使用我在其中制作的自定义包来编译 OpenWRT。这是我的包的 OpenWRT Makefile: # # Copyright (C) 2008 OpenWrt.org # # This i
OpenWRT使用opkg来管理包。默认情况下,运行 opkg update 时会下载 Packages 和 Packages.sig 文件,然后根据 Packages 文件验证签名文件 Packag
我正在尝试将软件包安装到我的 OpenWrt SDK 中。为此,您必须通过键入以下内容来使用 OPKG 包管理器: opkg update opkg install 但是,就我而言,未安装 OPKG
我为 OpenWrt 路由器编译了一个简单的 C UDP 服务器和客户端。当代码都在我的电脑上时,代码可以按预期工作。客户端(如果在路由器上)似乎成功发送了数据包(端口 6115),因为如果我将它们发
我正在尝试为 VoCore v1.0 构建内核镜像。我从 github 获取了 sdk 文件。这样做时我遇到了如下错误 /build_root/openwrt/staging_dir/host/bin
我想在 OpenWRT 中执行 GMOCK 和 GTEST 测试。我有 x86_64 机器。我的包裹适用于 x32 设备。我尝试手动复制 header ,但是,当然,它不起作用。在设备内部运行测试很重
我正在为 Arduino Yun 板构建 openWrt,我正在按照 this link 中描述的步骤进行操作,但是我遇到了构建错误:svn: E160013: 无法连接到 URL 'http://o
我是 OpenWrt 的新手,我正在尝试交叉编译一个新内核。为了找到线索,我检查了/source/package/kernel/linux/modules 中一个名为 video.mk 的文件 我可以
我是一名优秀的程序员,十分优秀!