问题标签 [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.
bash - lxdialog 和 kconfig (menuconfig) 如何协同工作?
我想了解 menuconfig 是如何完成的,例如:对于 linux-kernel 或 Buildroot。我所知道的是,它使用 lxdialog 作为 GUI,并且 kconfig 以某种方式承载了逻辑部分(如选择、依赖等)。
但是对话框在哪里或如何从 kconfig 文件中获取信息?互联网上似乎没有太多信息。
感谢您的支持
[我发现了什么:]
我相信kconfiglib用于加载菜单,但没有给出示例,这是如何完成的:/
linux - Buildroot - cubieboard 2 无法启动
我刚从朋友那里借了 cubieboard2 并试图启动它。我将电源连接到 2A USB 充电器,将 hdmi 连接到显示器,将键盘连接到 USB。红色(电源)灯亮。
SD 卡系统未从 NAND 启动,内核消息显示,但挂起
什么也没发生,但系统正在响应,因为当我插入 SD 卡时,它会显示正确的消息:
NAND上的默认系统应该是android(我的朋友没碰过),但是除了内核日志我什么也得不到
使用 lubuntu SD 卡系统可以正常启动,但我得到的第一个图像是桌面。开机后 - 屏幕打开,但全黑,根本没有消息。大约 3 分钟后,桌面出现。
使用与http://www.smida.it/geekeries/cubieboard-buildroot.php完全一样创建的默认 cubieboard2 busybox - 这是最令人沮丧的部分!在我的电脑上使用虚拟 gentoo 机器制作图像大约需要 5 个小时。之后,我用我的操作系统创建了 SD 卡。当我插入 SD 卡并启动设备时 - 屏幕打开,有一些 SD 卡活动,但根本没有图像。屏幕为黑色(但已打开),SD 活动 LED 闪烁片刻,然后……什么也没有。Num-lock 响应,按随机键 - 没有 SD 卡活动,但 alt-ctr-del 让板重新启动。
- 我怎样才能让我的董事会工作?
- 有没有办法“调试”它?通过连接串行接口或类似的东西?
- 我可以使用 qemu 在我的 gentoo 虚拟机上“模拟”图像吗?
- 也许我正在做明显的错误?
linux - 在处理 init 之前强制加载 Linux 内核
我很难找到解决这个问题的好方法。我有两个运行 Buildroot Linux 的 SBC,除了 USB ACM 卡外几乎完全相同,我试图在启动时检测它并根据 SBC 动态加载服务(例如,如果卡有脚本“touch sbc1”检测到或“触摸 sbc2”,如果不是,然后使用此文件为网络加载不同的配置)。
我正在使用静态开发表、Busybox init 和 3.12.20 内核(USB CDC 被编译为内置驱动程序;我禁用了模块)。这就是问题所在:我编写了一个脚本(S00setup,因此它是 rcS 中应该运行的第一个脚本;这个脚本必须在网络脚本之前运行)来检查这张卡的存在。似乎 CDC ACM 驱动程序加载在两个板上,无论它是否存在,因此检查不起作用(缓冲区总是说 usbcore:注册的新接口驱动程序 cdc_acm 后跟 cdc_acm:USB 调制解调器和 ISDN 适配器的 USB 抽象控制模型驱动程序) . 此外,我的 dmesg 输出会在大约 2 秒后从脚本中调用它,并且只有在那之后它才会实际将 /dev/ttyACM0 分配给设备。如何在处理此初始化文件之前强制内核完成引导,以便正确检测到它?在这里“睡觉”有用吗?如果不是,那又如何?Bash/Linux 是否有某种类型的 DoEvents()?使用 lsusb 检测卡的情况相同,因为在处理脚本之前设备不会显示,这对我来说没有意义。所以要问一个类似的问题,我想另一种方法是强制轮询 USB 设备;有没有办法做到这一点?我想另一种方法是强制轮询 USB 设备;有没有办法做到这一点?我想另一种方法是强制轮询 USB 设备;有没有办法做到这一点?
我在这里发布了这个问题而不是 Unix&Linux,因为这里的你们似乎对此更有经验,如果有任何快速程序我可以编写来强制内核完成处理。当它实际将设备分配给 ttys 和诸如此类的东西时,我只错过了额外的 1-2 秒的内核缓冲区。这是我需要区分两个板的输出。显然,我这样做的原因是因为我想在两个系统上使用相同的操作系统映像;出于配置管理的目的,这种方式要容易得多。
mips - 在 buildroot 中,如何启用已弃用的功能?
我必须为使用 MIPS1 指令集的 mips 编译 C,但 Buildroot 不再支持 MIPS1 指令集(请参阅本页底部:http://buildroot.org/downloads/manual/manual.html )。
您能否告诉我如何在 Buildroot 中启用已弃用的功能(即 MIPS1 指令集)?
任何意见将不胜感激。
linux - MIPS交叉编译错误:非法指令
我想为 MIPS 机器交叉编译 C src,但编译失败。在目标机器上执行交叉编译的二进制文件会输出“非法指令”。你能告诉我如何为 MIPS 机器编译 C src 吗?
详情如下:
执行“readelf -h host.bin”(host.bin 是在 HOST 机器上运行的二进制程序)输出:
执行“readelf -h target.bin”(target.bin 是目标机器上运行的二进制程序)输出:
执行“readelf -h cross_compiled.bin”输出(cross_compiled.bin 是目标机器交叉编译的二进制文件):
对于交叉编译,我使用了支持 MIPS1 交叉编译的 buildroot。
我预计 cross_compiled.bin 在目标机器上正常执行。但是,当我在目标机器上执行“cross_compiled.bin”时,它会输出“非法指令”。
你能告诉我如何解决上述问题吗?由于我是交叉编译的新手,我无法找到问题的确切原因。
任何意见将不胜感激。
更新:
在目标上,执行“cat /proc/cpuinfo”输出:
在目标上,执行“cat /proc/version”输出:
我用于交叉编译的命令行(cross_compiled.bin):
cross_compiled.c:
由于我的 cross_compiled.c 非常简单,我相信没有与使用的库相关的问题。
linux - 我应该参考哪些东西来正确配置交叉编译器?
我已经参考了“readelf -h target.bin”的输出(target.bin 在目标机器上运行)来配置交叉编译器。我假设交叉编译器编译的二进制程序的 readelf 输出应该与 target.bin 的输出相同。
但是,在以下情况下,两个具有不同“readelf”输出的程序可以在目标机器上成功运行。此外,具有与 target.bin 的输出类似的 readelf 输出的另一个程序在目标机器上不可执行。似乎 readelf 输出对于交叉编译器的配置并不重要。 那么...对于目标机器的交叉编译器的正确配置,我应该参考哪些内容?
例子:
readelf -h target.bin(target.bin 是运行在目标机器上的二进制程序)输出:
readelf -h myfail_target.bin(由我编译)在目标机器上不可执行,输出:
readelf -h mysuccess_target.bin(由我编译),可在目标机器上执行,输出:
任何意见将不胜感激。
linux - rpi的buildroot,输入make后,返回错误
当我为 RPI 构建 root 时,在最后一步,当我输入 make 时,它返回一个错误,
如何解决这个问题,谢谢。
c++ - “嘘:./尝试执行文件时未找到”错误
我遇到了一个我遇到过的最奇怪的问题。我正在为带有板载 Linux 的 ARM CPU 交叉编译一个应用程序。我正在使用buildroot,一切顺利,直到我尝试在目标上运行应用程序:我得到-sh: ./hw: not found
. 例如:
将可执行文件加载到目标;然后在目标上发出:
还有更多:在使用发行版编译器构建时arm-linux-gnueabi-g++ -march=armv7-a /tmp/test.cpp -o /tftpboot/hw
,应用程序运行良好!
我通过 比较了可执行文件readelf -a -W /tftpboot/hw
,但没有注意到太多差异。我在这里粘贴了两个输出。我注意到的唯一一件事是行Version5 EABI, soft-float ABI
与Version5 EABI
. 我尝试通过传递-mfloat-abi=softfp
and来消除差异-mfloat-abi=soft
,但编译器似乎忽略了它。不过我想,这并不重要,因为编译器甚至没有警告。
我还认为,如果可执行文件以某种方式不兼容,也许sh会输出此错误。但是在我的主机 PC 上,我在这种情况下看到另一个错误,例如:
audio - arecord 创建的多个文件
我使用 buildroot 进行了自定义分发,并为 ARMv7 处理器提供了硬流程。一切正常,除了......
这会产生多个文件。成千上万的人。
等等...
如果我传递 -d 参数,就会发生这种情况。任何想法?
c++ - Busybox 编译失败 - 网络/nslookup.c 错误
我正在尝试使用 Buildroot Cross-Compiler 编译 Busybox。
以下是步骤:
下载 Busybox 并解压
wget http://www.busybox.net/downloads/busybox-1.22.1.tar.bz2 && tar xjf busybox-1.22.1.tar.bz2
配置 BusyBox 并编译
制作菜单配置
使 CROSS_COMPILE=/usr/local/cross-rpi/usr/bin/arm-linux-
(交叉编译器的路径是正确的)
编译返回以下错误:
如果我不使用交叉编译器,一切都会很好。
你有什么建议吗?