问题标签 [buildroot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
buildroot - 在我的源代码中访问 CONFIG_ 宏
我正在使用 buildroot 创建一个 Linux 内核模块来执行交叉编译。我创建了一个 Config.in 文件来创建一些可选位,如下所示:
在我的源代码中,我将拥有:
这不起作用,从 menuconfig 检查选项时,编译时未定义符号。该符号确实出现在顶级 .config 文件中。
我猜想 mypackage.mk 将有权访问该符号,并且确实如此。我尝试将这些添加到 .mk 文件中,但尽管 TARGET_CFLAGS 和 EXTRA_CFLAGS 都被语句更改(通过 @echo 命令确认),但它们不会传递给编译器。
如何访问源代码中的配置符号?
buildroot - 跳过部署阶段(生成根文件系统映像)
是否可以执行 buildroot 并让它跳过部署阶段?
在 LTIB 中,您只需添加 --no-deploy。
这是构建过程中最昂贵的一步,100 次中有 99 次,我对最终图像不感兴趣,因为我在开发过程中使用 NFS 挂载目标目录。
openwrt - OpenWRT Attitude 调整中的 Package Makefile 错误
我正在改变问题,因为我可以解决最初的问题。
我在我的包//Makefile 中有以下定义
我正在尝试使用 OpenWRT 编译一个自定义内核模块。
我正在使用命令 make package/"Module_name"/compile 进行构建;
Make 永远不会成功,它会说:
即使规则存在,为什么make出来什么都不做?任何克服此错误的建议都会有所帮助。
arm - ARM 的 libcap-bin
我想在嵌入式 Linux 设备上使用 setcap,它是 libcap-bin 的一部分。我使用 buildroot 并看到它有包 libcap 和 libcap-ng 可用,但没有 libcap-bin。
我四处搜索,但找不到 libcap-bin 为 ARM 目标板生成 setcap 二进制文件的源代码。
在 Ubuntu 上,我只安装:
我在哪里可以获得源代码以及如何为我的 ARM 板构建 libcap-bin?
arm - Valgrind for ARM 和 Linaro 工具链需要 libc6-dbg 和 Buildroot
我在我的 Ubuntu 10.04 主机(我正在使用 Buildroot)上使用以下命令和 Linaro 工具链为 ARM 交叉编译 Valgrind(http://valgrind.org/downloads/valgrind-3.8.1.tar.bz2):
当我将二进制文件复制到我的 ARM 目标板时,我收到以下错误:
我的 Linaro 工具链版本是:
我在谷歌上搜索过,但找不到解决方案。如何让 Valgrind 在我的目标板上工作?我使用 Buildroot 来构建我的系统,但 libc6-dbg 不是我可以在构建系统中找到的包。我需要从工具链 sysroot 复制一些目录或文件吗?谢谢 -
我用来运行 Valgrind 的命令如下所示:
linux - Buildroot - 建了一个文件系统,如何登录?引导挂起
有人可以帮助我了解我需要如何配置 buildroot,以便我能够成功启动自己的文件系统并登录到它吗?
我有一个(看似)工作的内核,现在我创建了自己的文件系统(实际上并没有更改构建根目录中的任何设置,除了将控制台设置为 ttyAMA0),但引导过程似乎挂起,对此没有任何问题:
整个启动日志在这里可见:http: //paste.ubuntu.com/1364407/
我了解 /etc/inittab 控制启动过程,内容如下所示:
关于我的配置有什么问题的任何建议?在创建我自己的 linux 系统时,我可以在哪里获得所需的“通常必要的配置”的一个很好的概述?
openwrt - 如何更改 OpenWRT AA 中的包编译顺序?
我有一些自定义包添加到 OpenWRT AA,这取决于busybox。据观察,OpenWRT AA 在制作基础文件包之前构建了我的自定义包。所以在我的自定义包构建期间busybox不可用并且我的图像构建失败。有没有办法在 OpenWRT 中配置包构建的顺序?
linux - 使用 Buildroot 编译 alsa-lib:C 预处理器未通过完整性检查
尝试使用 Buildroot 为 LPC3250 ARM 编译 Linux 映像。库存设置,它编译得很好。当我尝试添加 alsa-lib 和 alsa-utils 时出现此错误:
alsa-lib 的 config.log 的摘录。这有点糟糕,因为一半的错误消息由于某种原因被切断了:
类似的问题在这里说明了一些关于“取消设置”CPP 和 CPPFlags 的信息。不确定我会在哪里执行此操作或在 Buildroot 环境中检查它。我不确定这是否是同一个问题。我猜它不相关,因为在另一个问题中它正在谈论编译 GCC,而我没有这样做。
我现在的 #1 预感是我必须编辑 lib-alsa 的配置文件。我只是不确定要进行哪些编辑。
编辑:做了一些积极的谷歌搜索,并想出了我认为是我的一个错误的完整版本:...features.h:329:2: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
检查了我的 uClibc 配置文件并且UCLIBC_HAS_LFS=y
存在。???
shell - 自记录:将标准输出记录到文件的 Busybox shell 脚本
我的问题与 jbarlow 对以下问题的回答有关: redirect COPY of stdout to log file from inside bash script itself
我使用了下面列出的建议脚本。我必须使用它,因为我无法访问完整的 bash(正如 jbarlow 指出的那样),因为我使用的是 buildroot 版本的busybox。
我发现的问题是,该脚本似乎会冻结某些内容。例如,使用上述代码的冻结脚本的 strace 如下所示:
看起来(对我来说,这方面的知识有限)是 tee 正在结束并且父脚本没有死。那是对的吗?如果是这样,不应该缺少可读文件导致脚本结束吗?tee 是背景的,因此显然无法控制父级。
作为背景,如果它死了,还有另一个进程会重复调用它。因此,使用相同的文件可能会导致锁定情况。或者 rm 可能在创建 fifo之前发生?
我已经考虑过使用带有超时的“读取”,但在某些情况下,一次几个小时都没有记录任何内容。
是否可以修改脚本以使其不会锁定并且如果/当fifo 的一端死亡时脚本将死亡?
c++ - buildroot 文件系统和交叉编译:动态链接的应用程序失败但静态可以。如何链接到 uClibc
我有一个 buildroot 创建的文件系统,我正在尝试在 lighttpd 服务器上执行一些 c 代码。
我创建了一个简单的 C 模块,它只打印出几行 html。代码如下所示:
我正在使用来自 Ubuntu 存储库的编译器来编译它arm-linux-gnueabi-gcc -o test.cgi test.c
。如果我用 flag 编译-static
,它会运行得很好,我可以看到显示的 html。但是在没有静态标志的情况下编译,执行失败如下:
我想知道原因是否是 c 库错误,我应该链接到由 buildroot 编译的 uClibc。在我的 buildroot 文件夹output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/lib
中,我可以看到以下文件:
是libuClibc-0.9.33.2.so
我要找的文件吗?我怎样才能将我的应用程序与它联系起来?
在我的目标板上,我可以在/usr/lib