问题标签 [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.

0 投票
1 回答
1321 浏览

cross-compiling - 在 buildroot 中向外部工具链添加 C++ 支持

我正在使用 buildroot 版本 2011.11 来交叉编译我的应用程序。我正在尝试将 oprofile 添加到我的应用程序中,并且 oprofile 依赖于 c++ 支持。但是当我使用 make menuconfig 检查时,在工具链下,我们的工具链类型被选择为外部工具链。工具链是CodeSourcery M68K uClinux 4.4.53,我们选择了自动下载工具链的框。

当我将其更改为 Crosstool-NG 工具链时,我得到了“启用 C++ 支持(新)”选项,但对于我们(外部工具链),此选项不可用。

请帮助我在我的构建环境中添加 c++ 支持

谢谢

0 投票
1 回答
6304 浏览

buildroot - 如何将 buildroot 设置更新到更高版本?

我继承的一个项目使用了一个非常旧的 buildroot 版本,但我想将其更改为使用仅在以后的 buildroot 版本中添加的功能。

是否有更新 buildroot 设置以使用更高版本的直接方法?

例如,如果我保存了一个 defconfig 文件并在以后的 buildroot 版本中导入它,那会起作用吗,还是有实际原因为什么不这样做?我需要携带其他配置文件(例如内核、busybox 等)吗?谢谢!

0 投票
2 回答
16865 浏览

arm - Buildroot包管理

我正在使用 buildroot 创建在我的 ARM 平台上运行的 rootfs。

我想在我的平台上有一个包管理器来轻松安装包,比如 ubuntu 中的 apt-get。

我找到了 opkg,可以简单地将其添加到 buildroot 构建中,但我找不到任何有关如何查找存储库的信息。

此外,在网上阅读了一些关于此的内容,我还了解到 buildroot 不包含包管理器。opkg 不是包管理器吗?或者只是某种前端来获取包?

我不太了解包管理器的组成部分,也没有找到任何有关此的信息。

有人可以解释实现这种管理器真正需要什么,或者在哪里可以找到这些信息?

0 投票
2 回答
25109 浏览

linux - how to rebuild rootfs in buildroot

I am going to setup build environment to make my own linux embedded system for AT91SAM9X25 Board. I am using buildroot to do this. The make command build all targets, the first it build toolchain then packages and then rootfs and images of rootfs (tar, cpio ...). To rebuild rootfs I usually use make clean and then make. The make clean command removes all and including toolchain.

So the first my question is: Is there some way to remake rootfs without building toolchain? It takes a lot of time.

Also I am building linux kernel within buildroot. I have turned on BR2_LINUX_KERNEL [=y] in buildroot. The linux configured to use Initial RAM filesystem, so to build kernel it required image of rootfs (which should be created by buildroot). When I run make under root of buildroot the building fails with error Cannot open 'buildroot-2013.05/output/images/rootfs.cpio'. Because (if I understand correctly) the building sequence is toolchain - pakages - rootfs - linux kernel - images of rootfs. When it tries to build linux kernel the rootfs.cpio image is not created.

So the second question is: How to build linux within buildroot if I want to use Initial RAM filesystem?

Possibly are there more efficient alternatives than buildroot?

Thanks in advance.

0 投票
1 回答
851 浏览

floating-point - Buildroot:编译 rpi-userland 时 VFP 注册参数错误

首先,我不知道这是否属于这里,但我需要你的帮助编码员同事!我正在尝试使用提供的 Raspberry Pi 配置使用 buildroot 构建我自己的 linux 剥离系统。虽然,我面临一个问题,但当“make all”过程达到它应该构建 rpi-userland 的阶段时,会发生一个奇怪的错误。

我有奇怪的编译错误告诉我 LD 在链接时遇到错误,因为:先前编译的目标文件使用 VFP 寄存器参数。据我所知,出现这个错误是因为softfp和hardfp冲突,但是,在查看构建参数后,我无法确定问题的根源。

我的主机配置是 i686 Ubuntu PC,我的目标,如上所示,是著名的树莓派,所以显然我在做交叉编译。这是事情发生的地方:

如您所见,编译器和链接器都使用“-mfloat-abi=hard -mfpi=vfp”标志,因此我不明白为什么会出现这些错误。我希望有人可以帮助我解决这个问题!

提前致谢 !

0 投票
1 回答
1805 浏览

linux - Buildroot:在 X.org 启动之前/而不是在 linux 登录之前和之后启动一个程序

我想创建一个非常小的 linux,它可以启动并将程序加载到执行中。我在这项工作中使用了 Buildroot。如果我可以在没有任何桌面管理环境(如 Gnome 或许多其他环境)的情况下安装 X.org,并且只运行一个可以显示各种功能的 GUI 应用程序,那就太好了。我想用它来访问硬盘驱动器和 USB 记忆棒,将数据从一个分区复制到另一个......简单的任务......就像这个。

我已经按照教程开始,我将继续这个教程,但首先我想看看我如何在启动时启动一个程序,在从该程序登录和关闭操作系统之前或当该程序存在时(首先是图形用户界面程序)。到目前为止,我已经成功地遵循了第一个教程。

但更重要的是,问题是:我如何将 Linux 映像和我自己的应用程序放在一起,以便如果我创建可启动媒体(CD/USB 记忆棒),linux 会找到并运行它?

下一个问题是如何在 X 启动后立即启动 GUI 应用程序。

0 投票
2 回答
4416 浏览

c - 使用 ARM9 的 waf 将项目交叉编译为 buildroot 包

我正在使用 Code sourcery g++ lite 工具链 2013。

有一个我集成到 buildroot 中的项目(这似乎很好,一切都按预期调用)。

waf是首选的构建系统

节目

看起来不错。

在编译步骤

它死了


我理解这个问题- waf/ld试图链接我的主机库,这注定会失败。

如何修复 ld 以获取正确的库路径?这个问题的根源是什么?


这里是构建命令的扩展输出(用 linbreaks 替换空格):

已阅读linux 交叉编译和动态库/链接

供参考,全foo.mk

0 投票
1 回答
15049 浏览

c - 缺少 libgcc_s.a 怎么办

使用外部工具链别名使用 buildroot 交叉编译库,code sourcery lite 2011导致

由于明显缺失libgcc_s.a

有没有办法绕过这个问题,但仍然静态链接?是否有 CLFAGS 或 LDFLAGS 选项可以静态链接所有内容,除了libgcc_s?

到目前为止尝试过的东西(除了阅读适用部分ldgcc手册页):


添加后-Wl,-lgcc_s,-Bstatic,我得到了大量未定义/未知的符号......(-Bshared不是一个有效的选项说 ld)

0 投票
1 回答
3796 浏览

buildroot - Buildroot 无法对自定义主机包使用本地站点方法

我已成功使用“本地站点”方法来包含需要构建并部署到目标平台的项目特定代码。

我需要构建/维护一个在主机上运行的工具,该工具的工作是打包内核和文件系统以部署到设备。我想使用本地站点方法来维护此代码,但我运气不佳。

在 xxxx.mk 中,我指定了:

我正在使用:

但是尝试构建:

导致 buildroot 尝试获取不存在的 tarball(它会 rsync 非主机包的源)。

这是受支持的配置吗?

我的 xxxx.mk 文件的内容是:

0 投票
2 回答
34054 浏览

linux - 如何将我自己的软件添加到 Buildroot Linux 包中?

我正在尝试将自己的程序添加到使用 Buildroot 创建的小型 linux 中。到目前为止我所做的:

  • 我在“buildroot/package/”中创建了一个名为“HelloWorld”的新目录。在 'buildroot/package/HelloWorld' 我有:一个 Config.in、HelloWorld.mk 和 HelloWorld 目录。 Config.in持有这个:

HelloWorld.mk 持有这个:

(灵感来源) HelloWorld 目录包含:main.c & Makefile:

主.c:

生成文件:

编辑:而且我还添加了源“package/HelloWorld/Config.in”到“package/Config.in”但是当我挂载我的 rootfs.ext2 分区时,我在 /usr/bin 中找不到我的 HelloWorld 可执行文件......,我对此真的很陌生,没有任何先验知识,所以请你向我解释一下,我错过了什么,因为我确定我做错了什么。

更新:该程序在所需位置构建和安装,但是当我尝试像这样运行它时:./helloworld,我得到:bash: ./helloworld: No such file or directory它具有执行权限。它有什么问题?(我将rootfs.ext2挂载到ubuntu目录后尝试运行它,buildroot的目标arch是i386,所以应该没问题,对吧?)

在构建和安装 HelloWorld 程序并最终运行它之后,我想添加到 init.d 以便它在启动后启动,并将 HelloWorld 替换为不需要 X 服务器的 Qt Window,就像这里的东西.

灵感的主要来源在这里