嵌入式linux和busybox

Posted

技术标签:

【中文标题】嵌入式linux和busybox【英文标题】:Embedded linux and busybox 【发布时间】:2014-08-13 04:50:01 【问题描述】:

我需要将 Busybox 包合并到嵌入式 Linux 系统中。

为此,我想知道是否可以将 Linux 内核与构建过程中包含的 Busybox 一起编译,以便将其包含在 initramfs 中并在启动过程中加载到 RAM 中。

我一直在寻找这方面的信息,但我认为我没有找到答案。

【问题讨论】:

你能和我们分享你不能像普通人那样只做一个构建的原因吗? 请注意,如果您正在构建带有内置 initramfs 的内核,其中包含 busybox 工具,您需要交叉编译内核,然后是busybox,然后是包含busybox 的内核。 除非来自未构建内核的内核头文件足以交叉编译busybox。不确定我是否尝试过。 其实这里的一些基础知识我好像不太明白。我可以使用其特定的配置参数(使用 make ARCH=... .. menuconfig 等)编译一个 linux 内核,并以此创建一个 Image。我想知道的是我是否可以创建一个已经在这个内核中包含了busybox的图像(这是一个2.6) 您想制作一个在其 initramfs 中包含 busybox 的 Linux 内核?所以当它启动时它已经在 RAM 中有busybox?是的,你可以这样做。 【参考方案1】:

另一个选项是Yocto project,它使用 bitbake 和 OpenEmbedded 元数据。它有据可查且非常灵活,但学习曲线相当陡峭。

【讨论】:

【参考方案2】:

您可以使用Buildroot,这是一个下载 linux 内核、管理 rootfs、集成 BusyBox 等等的构建系统。在我看来,这是获得嵌入式 Linux/BusyBox 系统的最简单方法。

这是他们的主页: http://buildroot.uclibc.org/

【讨论】:

另请阅读 cmets 到此答案:***.com/questions/17885451/… 实际上一篇关于如何使用Buildroot 构建initramfs-images 的文章会更有帮助,因为选择BusyBox 只是Buildroot 中的一个选项。 谢谢!您认为在构建过程中添加 JRE 是否可行? (这样我就有了一个现成的嵌入式系统) 我从来没有在嵌入式设备上使用过Java,所以很抱歉我不能帮助你解决这个问题。但我想这应该不是什么大不了的整合。 @Jorge 如果你知道如何集成 Java,如果你能告诉我你所做的步骤,我将不胜感激。

以上是关于嵌入式linux和busybox的主要内容,如果未能解决你的问题,请参考以下文章

从开始到结束,手把手教你使用busybox构建类嵌入式Linux系统

嵌入式Linux开发-busybox根文件系统制作

linux arm嵌入式平台busybox工具移植与使用

嵌入式Linux设置开机自动运行程序(基于BusyBox init)

Linux根文件系统分析之init和busybox

嵌入式Linux系统中根文件系统构建方式